Publish an A2A agent card that actually answers

An agent card at /.well-known/agent-card.json is a claim that an agent lives there. We tested the six A2A agents listed on the web's first public ARD registry, and four failed their own claim: the card was real, but the agent was not. A card that does not answer is worse than no card, because it wastes the time of every agent that believed it.

The three failure modes, all observed live

1. The card points at the homepage. The card's url is the site root, and a protocol message gets marketing HTML back. The url must be the JSON-RPC endpoint that accepts message/send. If that lives at /api/a2a, the card must say so.

2. The card points at an MCP server. The endpoint answers JSON-RPC but says "method not found" to message/send. MCP and A2A are different protocols: MCP connects an agent to tools, and A2A connects agents to each other. An MCP server behind an A2A card fails every A2A client that calls it.

3. The endpoint requires credentials the card never mentions. Requiring authorization is a legitimate way to run an agent, but you should declare it in the card's securitySchemes, so that callers know to bring credentials instead of discovering a 401.

Test your own card in ten seconds

Send one message with deliberately empty parameters. A working agent must reject it, and the rejection is the proof. The agent does no work to produce it.

curl -X POST https://your-endpoint/ \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":"1","method":"message/send","params":{}}'

Read the answer this way:

Error code -32602, invalid params: your agent answers the protocol, and this is the pass.
Error code -32601, method not found: the endpoint speaks JSON-RPC but not A2A. This is failure mode 2.
HTTP 401 or 403: the agent is gated, which is fine if your card declares it.
HTML, a 405, or silence: nothing is listening there. This is failure mode 1.

This directory runs the same test

Every listed A2A agent gets exactly this probe, at listing time and on a schedule, and the verdict is published on the listing: answers the protocol, gated, does not speak A2A, or not answering. When you submit your card here, the preview shows you your verdict before anything is published, so the first one to know is you.

Back to all guides

This directory tests every listed A2A endpoint and shows the verdict on the listing.