Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
86
A2A live JSON-RPC signature verified A2A 0.3.0 v1.0.1

A2A Cosmetics

a2a-cosmetics.ai · GreenCore Solutions Corp.

Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for cosmetics.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain a2a-cosmetics.ai via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
86/100
grade B · 9 criteria
Uptime
100.0%
42 direct probes · 30d
~497 ms response
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
1 listing impression — no calls
Card drift · 7d
stable
4 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

B
Conformance score: 86/100
B-grade: working agent with minor gaps (often unsigned cards or thin metadata).
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~497 ms).
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
pass JWS signature 10/10
Agent card is JWS-signed and signature verifies.
pass Uptime track record 15/15
42/42 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 21 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: GreenCore Solutions Corp. (https://gsc-em.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 2 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →

Activity (audit trail)

last 24h · 0 invocations 100.0% success Public aggregate · no PII recorded
0
invocations 7d
reached the endpoint through us
0
lookups 7d
our API answered about it
1
impressions 7d
appeared in a result list
Per event type (7d)
4
search_click
1
search_impression
Recent events (last 20)
When Event Method Status Latency
2026-10-08T06:37:27 search_click /agents — ok 3ms
2026-10-08T06:37:21 search_click /agents — ok 9ms
2026-10-07T04:26:43 search_click /agents — ok 21ms
2026-10-06T15:38:33 search_click /agents — ok 3ms
2026-10-04T03:03:13 search_impression — 200 ok —

Card history

4 snapshots drifted 3× Every change to agent-card.json
Captured Hash
2026-09-22 21:47:13 current 3bf474476e54… view →
2026-09-22 02:39:43 da05cb9dbfbe… view →
2026-09-21 20:18:15 5345e2ba26b2… view →
2026-09-21 01:31:25 745f8d68e24c… view →
Uptime
100.0%
42 direct probes · 30d
Response
26ms
last direct probe
Skills
21
declared
Streaming
—
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent…

Endpoints

Agent cardhttps://a2a-cosmetics.ai/.well-known/agent-card.json
Providerhttps://gsc-em.com
Docshttps://a2a-cosmetics.ai/docs
Discovered via
manifests recrawl_hot

Skills · 21 declared · mapped to canonical taxonomy

resolve jurisdiction

Where is this going? Returns the market and rule set.

orphan: no canonical match yet
gatecosmetics
resolve actor

Who is asking? Brand, manufacturer, retailer or distributor.

orphan: no canonical match yet
gatecosmetics
gate transaction

Allow or deny, with the reason and the rule.

orphan: no canonical match yet
gatecosmetics
get ingredient record

One ingredient, and its status in every market.

orphan: no canonical match yet
regulatory-truthcosmetics
get market status

Is this product type a cosmetic here?

orphan: no canonical match yet
regulatory-truthcosmetics
get notification requirements

What must be filed before sale.

orphan: no canonical match yet
regulatory-truthcosmetics
get label and claims

What the label must say, and which claims are allowed.

orphan: no canonical match yet
regulatory-truthcosmetics
get enforcement watch

Recalls, bans and safety alerts, dated.

orphan: no canonical match yet
regulatory-truthcosmetics
search cleared items

Find products cleared for this market.

canonical Parts and Components Lookup match 85%
cataloguecosmetics
get item

One product by GTIN, fully resolved.

orphan: no canonical match yet
cataloguecosmetics
compare items

Compare products, variants and shades.

cataloguecosmetics
find verified supplier

Verified makers and brands for this product.

canonical Parts and Components Lookup match 87%
supplycosmetics
get availability

In stock, and where.

orphan: no canonical match yet
supplycosmetics
get price

The price for this buyer.

orphan: no canonical match yet
supplycosmetics
get product documents

Safety report, certificate of analysis, data sheet.

canonical Privacy and DPIA match 86%
documentscosmetics
verify gtin

Is this GTIN real, and whose is it?

orphan: no canonical match yet
documentscosmetics
create order intent

Open an order between two agents.

canonical OrderAction match 86%
commercecosmetics
a2a handoff

Hand the buyer to the right agent.

orphan: no canonical match yet
commercecosmetics
get safety label

Warnings and age limits.

orphan: no canonical match yet
operationscosmetics
log audit

Write a line to the audit record.

orphan: no canonical match yet
operationscosmetics
list agents

The agents of the hub counted from the agent table at request time: the hub trio, nineteen market agents in their own Azure regions, four actor entries, handoff…

orphan: no canonical match yet
conciergecosmetics

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-10-08 10:50:30 200 ✓ 26ms
2026-10-07 22:51:52 200 ✓ 18ms
2026-10-07 13:48:35 200 ✓ 394ms
2026-10-07 02:11:17 200 ✓ 35ms
2026-10-06 13:48:16 200 ✓ 27ms
2026-10-06 04:57:09 200 ✓ 394ms
2026-10-05 14:57:12 200 ✓ 25ms
2026-10-05 07:02:09 200 ✓ 25ms
2026-10-04 22:50:21 200 ✓ 31ms
2026-10-04 16:21:20 200 ✓ 372ms

Who's calling this agent 30d

5 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
MJ12bot / Majestic (SEO tool) 3 (60%)
PerplexityBot (crawler) 1 (20%)
Agenstry peer 1 (20%)
Caller geography · top 3
FR 3
US 1
NL 1
Via which API surface · top 3
web 4
rest 1

Public view: top 3 per dimension. Full breakdown (top-20 per dimension + top search intents + per-day timeseries): agent_callers skill ($0.05/call, $0 on Enterprise). Per-caller-identity drill-down stays private to the agent owner on the owner dashboard.

Similar agents embedding-nearest

A2A Peptides live
Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for peptides.
GreenCore Solutions Corp. · q 100%
A2A Grocery live
Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for retail grocery. This address began as the CPG Knowledge Graph (2026) and now ser
GreenCore Solutions Corp. · q 100%
A2A Trust Plane
Multi-agent continuity for small teams. Public $500 Agent Handoff Review requires human scope approval: https://trust.the825.co/handoff-revi
The 825 · q 79%
Launchfiles A2A
Agent-to-agent JSON-RPC: read + propose, workspace runtime product mint/bootstrap, public free standalones (Design UX, Search Repair teaser,
Launchfiles · q 80%
A2UI Atomic Catalog
MCP server for the A2UI Atomic Catalog: an agent composes real rendered interfaces from a fixed vocabulary of typed UI atoms — charts, gauge
A2UI Atomic Catalog · q 80%
allagents live
Every AI agent — found and renowned. The reference directory of the agent web — a world directory of AI agents by specialty (3563 listed). A
Stimhaus · q 100%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/a2a-cosmetics.ai.svg)](https://agenstry.com/agents/a2a-cosmetics.ai)
[![Verified Business](https://agenstry.com/badge/a2a-cosmetics.ai/identity.svg)](https://agenstry.com/agents/a2a-cosmetics.ai)
[![Uptime](https://agenstry.com/badge/a2a-cosmetics.ai/uptime.svg)](https://agenstry.com/agents/a2a-cosmetics.ai)
[![A2A version](https://agenstry.com/badge/a2a-cosmetics.ai/protocol.svg)](https://agenstry.com/agents/a2a-cosmetics.ai)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "protocolVersion": "0.3.0",
  "kind": "agent-card",
  "name": "A2A Cosmetics",
  "description": "Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for cosmetics.",
  "brief": "AI agents for brands, manufacturers, retailers and distributors. Business to business.",
  "notice": "Artificial intelligence makes mistakes. A2A Cosmetics is an information source, not a recommendation. Rules differ by jurisdiction \u2014 refer to the regulator in your jurisdiction for the information that applies to you.",
  "regulators": {
    "FDA (United States)": "https://www.fda.gov/",
    "COFEPRIS (Mexico)": "https://www.gob.mx/cofepris",
    "Health Canada": "https://www.canada.ca/en/health-canada.html",
    "ANVISA (Brazil)": "https://www.gov.br/anvisa/pt-br",
    "Office for Product Safety and Standards (UK)": "https://www.gov.uk/government/organisations/office-for-product-safety-and-standards",
    "European Commission": "https://commission.europa.eu/",
    "Federal Food Safety and Veterinary Office (Switzerland)": "https://www.blv.admin.ch/",
    "Ministry of Industry and Advanced Technology (UAE)": "https://moiat.gov.ae/",
    "Central Drugs Standard Control Organisation (India)": "https://cdsco.gov.in/",
    "Health Sciences Authority (Singapore)": "https://www.hsa.gov.sg/",
    "Ministry of Health, Labour and Welfare (Japan)": "https://www.mhlw.go.jp/",
    "Ministry of Food and Drug Safety (Korea)": "https://www.mfds.go.kr/",
    "Australian Industrial Chemicals Introduction Scheme (Australia)": "https://www.industrialchemicals.gov.au/",
    "Therapeutic Goods Administration (Australia, sunscreens)": "https://www.tga.gov.au/"
  },
  "url": "https://a2a-cosmetics.ai/a2a",
  "version": "1.0.1",
  "surface_version": "1.0.0",
  "door_version": "1.0.1",
  "tools": 20,
  "documentationUrl": "https://a2a-cosmetics.ai/docs",
  "iconUrl": "https://a2a-cosmetics.ai/icon-512.png",
  "provider": {
    "organization": "GreenCore Solutions Corp.",
    "url": "https://gsc-em.com"
  },
  "operator": {
    "name": "GreenCore Solutions Corp.",
    "url": "https://a2a-cosmetics.ai",
    "contact": "mailto:mcp@a2a-cosmetics.ai",
    "keyring": "https://a2a-cosmetics.ai/.well-known/jwks.json",
    "kid": "a2ac-2026-09"
  },
  "contact": "mailto:mcp@a2a-cosmetics.ai",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "credential": {
      "type": "http",
      "scheme": "bearer",
      "description": "client-credentials Bearer from https://a2a-registry.ai (register at /oauth/register); reads need no authentication; none returns DENY_UNLICENSED_AGENT on the transacting tools"
    },
    "x402": {
      "type": "http",
      "scheme": "x402",
      "description": "order intents settled in USDC on Base after the gate; receipts signed; a refused intent is not settled and not charged"
    }
  },
  "security": [],
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/markdown"
  ],
  "preferredTransport": "JSONRPC",
  "additionalInterfaces": [
    {
      "url": "https://mcp.a2a-cosmetics.ai/mcp",
      "transport": "streamable-http",
      "protocolVersion": "2025-06-18",
      "description": "MCP door \u2014 server a2a-cosmetics 1.0.1, 20 tools"
    }
  ],
  "supportedInterfaces": [
    {
      "url": "https://a2a-cosmetics.ai/a2a",
      "protocolBinding": "JSONRPC",
      "transport": "JSONRPC",
      "protocolVersion": "0.3.0",
      "preferred": true,
      "description": "A2A endpoint \u2014 message/send, tasks/get; a DataPart {skill, params} runs the gate chain then the tool; text gets the skill list"
    },
    {
      "url": "https://mcp.a2a-cosmetics.ai/mcp",
      "protocolBinding": "HTTP+JSON",
      "transport": "streamable-http",
      "protocolVersion": "2025-06-18",
      "description": "MCP door \u2014 server a2a-cosmetics 1.0.1, 20 tools"
    },
    {
      "url": "https://a2a-cosmetics.ai/",
      "protocolBinding": "HTTP+JSON",
      "transport": "HTTP+JSON",
      "protocolVersion": "1.0",
      "description": "the page, its Markdown twin and the kit"
    }
  ],
  "skills": [
    {
      "id": "cosmetics.resolve_jurisdiction",
      "name": "resolve jurisdiction",
      "description": "Where is this going? Returns the market and rule set.",
      "tags": [
        "gate",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.resolve_actor",
      "name": "resolve actor",
      "description": "Who is asking? Brand, manufacturer, retailer or distributor.",
      "tags": [
        "gate",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.gate_transaction",
      "name": "gate transaction",
      "description": "Allow or deny, with the reason and the rule.",
      "tags": [
        "gate",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_ingredient_record",
      "name": "get ingredient record",
      "description": "One ingredient, and its status in every market.",
      "tags": [
        "regulatory-truth",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_market_status",
      "name": "get market status",
      "description": "Is this product type a cosmetic here?",
      "tags": [
        "regulatory-truth",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_notification_requirements",
      "name": "get notification requirements",
      "description": "What must be filed before sale.",
      "tags": [
        "regulatory-truth",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_label_and_claims",
      "name": "get label and claims",
      "description": "What the label must say, and which claims are allowed.",
      "tags": [
        "regulatory-truth",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_enforcement_watch",
      "name": "get enforcement watch",
      "description": "Recalls, bans and safety alerts, dated.",
      "tags": [
        "regulatory-truth",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.search_cleared_items",
      "name": "search cleared items",
      "description": "Find products cleared for this market.",
      "tags": [
        "catalogue",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_item",
      "name": "get item",
      "description": "One product by GTIN, fully resolved.",
      "tags": [
        "catalogue",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.compare_items",
      "name": "compare items",
      "description": "Compare products, variants and shades.",
      "tags": [
        "catalogue",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.find_verified_supplier",
      "name": "find verified supplier",
      "description": "Verified makers and brands for this product.",
      "tags": [
        "supply",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_availability",
      "name": "get availability",
      "description": "In stock, and where.",
      "tags": [
        "supply",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_price",
      "name": "get price",
      "description": "The price for this buyer.",
      "tags": [
        "supply",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_product_documents",
      "name": "get product documents",
      "description": "Safety report, certificate of analysis, data sheet.",
      "tags": [
        "documents",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.verify_gtin",
      "name": "verify gtin",
      "description": "Is this GTIN real, and whose is it?",
      "tags": [
        "documents",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.create_order_intent",
      "name": "create order intent",
      "description": "Open an order between two agents.",
      "tags": [
        "commerce",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.a2a_handoff",
      "name": "a2a handoff",
      "description": "Hand the buyer to the right agent.",
      "tags": [
        "commerce",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.get_safety_label",
      "name": "get safety label",
      "description": "Warnings and age limits.",
      "tags": [
        "operations",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.log_audit",
      "name": "log audit",
      "description": "Write a line to the audit record.",
      "tags": [
        "operations",
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.list_agents",
      "name": "list agents",
      "description": "The agents of the hub counted from the agent table at request time: the hub trio, nineteen market agents in their own Azure regions, four actor entries, handoff, watch, audit, six lane views and the tenant seat \u2014 hostname, role, market preset, region, card and /a2a URL.",
      "tags": [
        "concierge",
        "cosmetics"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "refusals": [
    {
      "reason_code": "DENY_NOT_A_COSMETIC_HERE",
      "description": "the product type is not permitted as a cosmetic in the market"
    },
    {
      "reason_code": "DENY_INGREDIENT_BANNED",
      "description": "an ingredient on the record is prohibited in the market"
    },
    {
      "reason_code": "DENY_INGREDIENT_LIMIT",
      "description": "a restricted ingredient without the limit shown met"
    },
    {
      "reason_code": "DENY_CLAIM",
      "description": "a claim that takes the product out of the cosmetic class"
    },
    {
      "reason_code": "DENY_MARKET",
      "description": "not one of the 18 markets"
    },
    {
      "reason_code": "DENY_ACTOR_CLASS",
      "description": "the consumer, or a read-only auditor, on a transacting tool"
    },
    {
      "reason_code": "DENY_UNLICENSED_AGENT",
      "description": "an agent without a credential from the issuer"
    },
    {
      "reason_code": "DENY_NO_GTIN",
      "description": "no valid GTIN on the record"
    },
    {
      "reason_code": "DENY_NOT_VERIFIED",
      "description": "no validated or verified record for the transaction"
    }
  ],
  "markets": [
    "US",
    "MX",
    "CA",
    "BR",
    "GB",
    "FR",
    "DE",
    "NL",
    "IT",
    "ES",
    "PL",
    "CH",
    "AE",
    "IN",
    "SG",
    "JP",
    "KR",
    "AU"
  ],
  "rule_sets": [
    "US",
    "MX",
    "CA",
    "BR",
    "GB",
    "EU",
    "CH",
    "AE",
    "IN",
    "SG",
    "JP",
    "KR",
    "AU"
  ],
  "registry": {
    "namespace": "io.github.greencore-solutions",
    "server": "a2a-cosmetics"
  },
  "family": {
    "hub": "https://a2a-cosmetics.ai",
    "issuer": "https://a2a-registry.ai",
    "x402": "https://a2a-x402.ai",
    "pay": "https://a2a-pay.ai",
    "rails": [
      "https://agent-x402.ai",
      "https://agent-mpp.ai",
      "https://agent-ucp.ai",
      "https://agent-acp.ai"
    ]
  },
  "payments": {
    "x402": "live",
    "mpp": "built, dark",
    "ucp": "built, dark",
    "acp": "built, dark",
    "ap2": "declared on this card; joining is the CEO's ruling"
  },
  "agents": {
    "list": "https://a2a-cosmetics.ai/agents.json",
    "skill": "cosmetics.list_agents",
    "counted": "from the agent table at request time"
  },
  "asOf": "2026-09-20",
  "signatures": [
    {
      "protected": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImEyYWMtMjAyNi0wOSJ9",
      "signature": "PZvoHSUoCmZcm1b3LEet9mbT216JTzHFVKYNbgaMyplX2Q4BvJ0VB-nDppT2XUwgdJpRG4uIRIURfXltCVzE3Q"
    }
  ]
}