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.