A2A Agent Card

An Agent-to-Agent card describes your agent’s capabilities and endpoint so other agents can call it.

Standard
Emerging checkEmerging
Off by default, turn on in settings

What it checks

The extension looks for an Agent-to-Agent (A2A) agent card at these paths, in order:

  1. /.well-known/agent-card.json
  2. /.well-known/agent.json (the earlier A2A path, kept as a fallback)

The first path that returns a successful, non-empty JSON response is parsed. The check is deliberately loose: it confirms the document is an agent card and says what the agent can do. That means a non-empty name, plus either a non-empty skills array or a capabilities field. It does not validate the rest of the A2A schema.

If neither path serves a card, the extension follows a pointer the site publishes to an agent card hosted elsewhere: an entry in its agent catalog (/.well-known/ard.json or /.well-known/ai-catalog.json), or a DNS-AID record. It never guesses a hostname, it does not follow redirects from the declared address, and it never requests an address on your local network unless the site being audited is on it too.

Results

Status When
Pass A card with a name and either skills or capabilities was found
Pass A host the site declares serves an agent card
Warn A card was found but is not valid JSON
Warn A card was found but has no name, or neither skills nor capabilities
N/A No agent card was found at either path

How to fix

If you run an agent that other agents can call, publish its card at /.well-known/agent-card.json. Give it a name, the endpoint, and a list of skills:

{
  "name": "Example support agent",
  "description": "Answers questions about orders and returns.",
  "url": "https://example.com/a2a",
  "capabilities": {},
  "skills": [
    {
      "id": "order-status",
      "name": "Order status",
      "description": "Reports the status of an order."
    }
  ]
}

If your card is at /.well-known/agent.json, it still passes, but the current path is /.well-known/agent-card.json.

Related: Agent Skills.