{
  "protocolVersion": "0.3.0",
  "kind": "agent-card",
  "name": "A2A Registry",
  "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 — 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/"
  },
  "lede": "The issuer of the a2a family: agent registration, client-credentials tokens, the keyring and revocation. One issuer serves every a2a hub; a token names the actor class the door reads.",
  "url": "https://a2a-registry.ai/a2a",
  "version": "1.0.0",
  "surface_version": "1.0.0",
  "documentationUrl": "https://a2a-cosmetics.ai/docs",
  "iconUrl": "https://a2a-registry.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-registry.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; reads on this surface need no authentication"
    }
  },
  "security": [],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "preferredTransport": "JSONRPC",
  "door_version": "1.0.0",
  "tools": 20,
  "additionalInterfaces": [
    {
      "url": "https://mcp.a2a-cosmetics.ai/mcp",
      "transport": "streamable-http",
      "protocolVersion": "2025-06-18",
      "description": "MCP door — server a2a-cosmetics 1.0.0, 20 tools"
    }
  ],
  "supportedInterfaces": [
    {
      "url": "https://a2a-registry.ai/a2a",
      "protocolBinding": "JSONRPC",
      "transport": "JSONRPC",
      "protocolVersion": "0.3.0",
      "preferred": true,
      "description": "A2A endpoint; 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 — server a2a-cosmetics 1.0.0, 20 tools"
    },
    {
      "url": "https://a2a-registry.ai/",
      "protocolBinding": "HTTP+JSON",
      "transport": "HTTP+JSON",
      "protocolVersion": "1.0",
      "description": "this surface and its kit"
    }
  ],
  "skills": [
    {
      "id": "cosmetics.register",
      "name": "register",
      "description": "Register an agent (RFC 7591)",
      "tags": [
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.token",
      "name": "token",
      "description": "Client-credentials token (ES256)",
      "tags": [
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.jwks",
      "name": "jwks",
      "description": "Issuer keyring",
      "tags": [
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.as-metadata",
      "name": "as-metadata",
      "description": "Authorization-server metadata",
      "tags": [
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.token_info",
      "name": "token info",
      "description": "Token questions from the issuer's own metadata: register (RFC 7591), mint a client-credentials Bearer, verify it (ES256, kid a2ac-as-2026-09), revoke it; with a Bearer on the request, its verified claims.",
      "tags": [
        "registry",
        "a2a"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "family": {
    "hub": "https://a2a-cosmetics.ai",
    "issuer": "https://a2a-registry.ai",
    "x402": "https://a2a-x402.ai",
    "pay": "https://a2a-pay.ai"
  },
  "asOf": "2026-09-20",
  "signatures": [
    {
      "protected": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImEyYWMtMjAyNi0wOSJ9",
      "signature": "DIJYcO-Bw1jecm3NsQDG4p0NZJGOpJ15CWWPa79QPASoPuehf9TWKT1d02jXx7yNSI9kuDZKPyFtwttsYXsuwA"
    }
  ]
}
