A2A Cosmetics is an MCP server with 24 tools an agent can call, among them a2a_handoff, claim_seat, compare_items. It answers at https://mcp.a2a-cosmetics.ai/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 23 September 2026; the last check, on 6 November 2026, succeeded.
Agent-to-Agent (A2A) hub for cosmetics: skin care, fragrance, sun care, dermocosmetics.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
a2a_handoff | Hand 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) Inputs: intent_id, decision_id, counterparty_card_url |
claim_seat | A brand's agent claims its seat on A2A Cosmetics. Give the agent's card URL and the GTINs the brand claims: every GTIN must resolve on gtinfetch.ai to the maker the card names, and the category comes first (beauty and personal care proceed; Inputs: card_url, gtins, challenge_id, seat_key, rows |
compare_items | Compare products, variants and shades side by side (two to eight GTINs or catalogue ids). Inputs: gtins, market, decision_id |
create_order_intent | Open 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. Inputs: gtin, quantity, decision_id, market, ship_to |
find_verified_supplier | Verified 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. Inputs: market, decision_id, gtin, query, limit |
gate_transaction | Allow 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 Inputs: ship_to, actor_class, product, product_type, ingredients, claims |
get_availability | In 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). Inputs: gtin, decision_id, market |
get_enforcement_watch | Recalls, bans and safety alerts, dated: enforcement events by market, ingredient, brand or since a date, each with its source page. Inputs: market, query, since |
get_ingredient_record | One 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. Inputs: ingredient |
get_item | 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 al Inputs: gtin, market, decision_id |
get_label_and_claims | What 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 agai Inputs: market, claims |
get_market_status | Is 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. Inputs: product_type, market |
get_notification_requirements | What 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. Inputs: market, product_type |
get_price | The 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. Inputs: gtin, decision_id, market |
get_product | Universal Commerce Protocol (UCP) product detail, version 2026-08-25 (dev.ucp.shopping.catalog.lookup). arguments: meta {'ucp-agent': {profile}} (required) and catalog {id: a GTIN or a variant id <market>:<gtin14>; context; filters}. One pr Inputs: catalog, meta |
get_product_documents | Safety 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. Inputs: gtin, decision_id, market |
get_safety_label | Warnings 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. Inputs: market, product_type |
log_audit | Write a line to the audit record for a gate decision, an order intent or a handoff (returns the line id). Inputs: kind, reference_id, note |
lookup_catalog | Universal Commerce Protocol (UCP) catalogue lookup, version 2026-08-25 (dev.ucp.shopping.catalog.lookup). arguments: meta {'ucp-agent': {profile}} (required) and catalog {ids: product ids (GTIN) or variant ids (<market>:<gtin14>), up to 50; Inputs: catalog, meta |
resolve_actor | Who 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. Inputs: actor_class, credential |
resolve_jurisdiction | Where 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. Inputs: ship_to |
search_catalog | Universal Commerce Protocol (UCP) catalogue search, version 2026-08-25 (dev.ucp.shopping.catalog.search). arguments: meta {'ucp-agent': {profile}} (required) and catalog {query, context {address_country}, filters {categories, price {min, ma Inputs: catalog, meta |
search_cleared_items | Find 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 Inputs: market, query, lane, product_type, limit, decision_id |
verify_gtin | 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 bra Inputs: gtin |
Every block below points at https://mcp.a2a-cosmetics.ai/mcp. Pick your client and copy.
claude mcp add --transport http a2a-cosmetics https://mcp.a2a-cosmetics.ai/mcp
{
"mcpServers": {
"a2a-cosmetics": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.a2a-cosmetics.ai/mcp"]
}
}
}{
"mcpServers": {
"a2a-cosmetics": {
"url": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}{
"servers": {
"a2a-cosmetics": {
"type": "http",
"url": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}{
"context_servers": {
"a2a-cosmetics": {
"url": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}{
"mcpServers": {
"a2a-cosmetics": {
"serverUrl": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}{
"mcpServers": {
"a2a-cosmetics": {
"url": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}name: A2A Cosmetics
version: 0.0.1
schema: v1
mcpServers:
- name: A2A Cosmetics
type: streamable-http
url: https://mcp.a2a-cosmetics.ai/mcp{
"mcpServers": {
"a2a-cosmetics": {
"httpUrl": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}{
"mcpServers": {
"a2a-cosmetics": {
"type": "http",
"url": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}{
"mcpServers": {
"a2a-cosmetics": {
"url": "https://mcp.a2a-cosmetics.ai/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.a2a-cosmetics.ai%2Fmcp&type=streamable_http&id=a2a-cosmetics&name=A2A%20Cosmetics
It answered our last check on 6 November 2026 in 448 ms. Over 4 checks since 23 September 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
24, as returned by the server's own tools/list on 12 November 2026: a2a_handoff, claim_seat, compare_items, create_order_intent, find_verified_supplier, gate_transaction, get_availability, get_enforcement_watch, and 16 more.
It answered our last check on 6 November 2026 in 448 ms. Over 4 checks since 23 September 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.a2a-cosmetics.ai/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.greencore-solutions. Endpoint host: mcp.a2a-cosmetics.ai. ARD identifier: urn:air:io.github.greencore-solutions:mcp:a2a-cosmetics.
First indexed 21 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.