protogrid

Search / io.github.greencore-solutions/a2a-cosmetics

A2A Cosmetics

R0· no sign-in

Agent-to-Agent (A2A) hub for cosmetics: skin care, fragrance, sun care, dermocosmetics.

v1.0.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality96strong
Trust97of 100
Uptime, 30 days100%
Latency p50384 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "a2a-cosmetics": {
      "type": "http",
      "url": "https://mcp.a2a-cosmetics.ai/mcp"
    }
  }
}
claude mcp add --transport http a2a-cosmetics https://mcp.a2a-cosmetics.ai/mcp
[mcp_servers.a2a-cosmetics]
url = "https://mcp.a2a-cosmetics.ai/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "a2a-cosmetics": {
      "type": "remote",
      "url": "https://mcp.a2a-cosmetics.ai/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "a2a-cosmetics": {
      "type": "http",
      "url": "https://mcp.a2a-cosmetics.ai/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=a2a-cosmetics&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmEyYS1jb3NtZXRpY3MuYWkvbWNwIn0%3D"
}
{
  "servers": {
    "a2a-cosmetics": {
      "type": "http",
      "url": "https://mcp.a2a-cosmetics.ai/mcp"
    }
  }
}
{
  "mcpServers": {
    "a2a-cosmetics": {
      "httpUrl": "https://mcp.a2a-cosmetics.ai/mcp"
    }
  }
}
extensions:
  "a2a-cosmetics":
    enabled: true
    name: "a2a-cosmetics"
    type: streamable_http
    uri: "https://mcp.a2a-cosmetics.ai/mcp"
    timeout: 300

Quality 96 / 100strong

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations20 of 20 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,830 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes2 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

20 tools, about 2,830 tokens to load them all · tool set f330228b03b0 · tools last changed 2026-10-16 · checked 2026-10-20 15:26 UTC

Tool changes

  • verify_gtinchangeddescription
    before

    Is this GTIN real, and whose is it? Check-digit validation, the GS1 prefix, and the validated record(s) that carry it on this hub with their brand and claim status.

    after · 71% of words in common

    Product record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. Is this GTIN real, and whose is it? Check-digit validation, the GS1 prefix, and the validated record(s) that carry it on this hub with their brand and claim status.

  • get_itemchangeddescription
    before

    One product by GTIN, fully resolved: taxonomy path, variant or form, brand, market, claim status, market status, availability; after the gate also ingredients, claims, attributes, shades (parent and child) and offers.

    after · 76% of words in common

    Product record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. One product by GTIN, fully resolved: taxonomy path, variant or form, brand, market, claim status, market status, availability; after the gate also ingredients, claims, attributes, shades (parent and child) and offers.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-29d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.a2a-cosmetics.ai/mcp streamable-httpnoneyes100%384 ms2026-07-282026-10-20

Tools (20)

a2a_handoffHand the buyer to the right agent over Agent-to-Agent (A2A): with an allow decision the order intent goes to the counterparty's agent (envelope + card URL); with a deny, the market agent of the ship-to (the regulator's home page beside it) — a referral, never a sale to a consumer.
compare_itemsread-onlyCompare products, variants and shades side by side (two to eight GTINs or catalogue ids).
create_order_intentOpen an order between two agents: an order intent for a cleared product after the gate; the intent carries reason_code + rule_set_version and settles by x402 on a2a-x402.ai.
find_verified_supplierread-onlyVerified makers and brands for this product or product type in a market: supplier records (brand · manufacturer) with their claim status — verified first, then claimed, then listed. Takes the decision_id of an allow decision.
gate_transactionread-onlyAllow or deny, with the reason and the rule. Takes a product (GTIN or catalogue id; optional), the ship-to market, the actor class and, when no record exists yet, the product type, ingredients (INCI) and claims. Returns one of twelve reason codes (ALLOW · REQUIRE_NOTIFICATION · REQUIRE_RESPONSIBLE_PERSON · DENY_NOT_A_COSMETIC_HERE · DENY_INGREDIENT_BANNED · DENY_INGREDIENT_LIMIT · DENY_CLAIM · DENY_MARKET · DENY_ACTOR_CLASS · DENY_UNLICENSED_AGENT · DENY_NO_GTIN · DENY_NOT_VERIFIED), the rule-set version, the source page and a decision_id for the downstream tools.
get_availabilityread-onlyIn stock, and where: the availability block of a product (banners on the shelf of record, product URLs read live at load, store counts where the retailer record carries one) once gate_transaction has answered allow (decision_id).
get_enforcement_watchread-onlyRecalls, bans and safety alerts, dated: enforcement events by market, ingredient, brand or since a date, each with its source page.
get_ingredient_recordread-onlyOne ingredient, and its status in every market: the standard ingredient name (INCI), aliases, and per rule set whether it is prohibited, restricted (with the limit or condition) or listed, each with the official list and its source page.
get_itemread-onlyProduct record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. One product by GTIN, fully resolved: taxonomy path, variant or form, brand, market, claim status, market status, availability; after the gate also ingredients, claims, attributes, shades (parent and child) and offers.
get_label_and_claimsread-onlyWhat the label must say, and which claims are allowed: the label requirements of the market and the claims rules of record (patterns that take a product out of the cosmetic class), each with its source page. Optional claims are checked against the rules.
get_market_statusread-onlyIs this product type a cosmetic here? Product type by market: cosmetic, drug, special class (functional cosmetic, quasi-drug, grade 2, therapeutic good) or not permitted — with the rule-set version and the regulator's page.
get_notification_requirementsread-onlyWhat must be filed before sale in a market: the notification scheme, the responsible-person requirement and, for a product type in a special class, the extra step (review, registration, listing) — each with its source page.
get_priceread-onlyThe price for this buyer: the price basis (list · contract) from the supplier's offers on the record, once gate_transaction has answered allow (decision_id). Tiers buy services, never rank.
get_product_documentsread-onlySafety report, certificate of analysis, data sheet: the documents on a product record (product information file pointer, safety assessment, certificate of analysis, safety data sheet), each a URL with its read date; decision_id required.
get_safety_labelread-onlyWarnings and age limits: the warning statements the market requires for a product type (sunscreen, hair dye, aerosols, children's products) and the safety-alert scheme of the regulator, each with its source page.
log_auditWrite a line to the audit record for a gate decision, an order intent or a handoff (returns the line id).
resolve_actorread-onlyWho is asking? Brand, manufacturer, retailer or distributor (business to business); auditor (read-only); agent (inherits the class of the credential it presents — none returns DENY_UNLICENSED_AGENT). The consumer is never the counterparty. Returns communication_class: trade_information or public.
resolve_jurisdictionread-onlyWhere is this going? Resolve a ship-to (e.g. 'US', 'US-CA', 'UK', 'FR', 'EU-DE', 'JP') to one of the 18 markets and its rule set (13 rule sets; the six EU markets share one). UK is the label; machine fields carry the ISO code GB.
search_cleared_itemsread-onlyFind products cleared for this market: validated product records in a market (query by product name, brand, product type or lane; optional lane filter: suncare · fragrance · dermocosmetics · peptides · korean · sustainable). Only validated rows are served; each item carries its claim status and market status.
verify_gtinread-onlyProduct record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. Is this GTIN real, and whose is it? Check-digit validation, the GS1 prefix, and the validated record(s) that carry it on this hub with their brand and claim status.

Schemas: list_tools.

Similar MCP servers

More from io.github.greencore-solutions

And 3 more from this publisher.

Official server.json
{
  "name": "io.github.greencore-solutions/a2a-cosmetics",
  "icons": [
    {
      "src": "https://a2a-cosmetics.ai/icon.svg",
      "sizes": [
        "any"
      ],
      "theme": "light",
      "mimeType": "image/svg+xml"
    },
    {
      "src": "https://a2a-cosmetics.ai/icon-512.png",
      "sizes": [
        "512x512"
      ],
      "theme": "light",
      "mimeType": "image/png"
    },
    {
      "src": "https://a2a-cosmetics.ai/icon-512-dark.png",
      "sizes": [
        "512x512"
      ],
      "theme": "dark",
      "mimeType": "image/png"
    }
  ],
  "title": "A2A Cosmetics",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.a2a-cosmetics.ai/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.1",
  "repository": {
    "url": "https://github.com/greencore-solutions/a2a-cosmetics",
    "source": "github"
  },
  "websiteUrl": "https://a2a-cosmetics.ai",
  "description": "Agent-to-Agent (A2A) hub for cosmetics: skin care, fragrance, sun care, dermocosmetics."
}