An Agent Card is a JSON document in which an AI agent describes itself under the Agent2Agent (A2A) protocol: its name, what it can do, where to reach it and how to authenticate. Other agents read the card before they send it a task.
The A2A specification (v1.0.0) calls the Agent Card a self-describing manifest for an agent. Required fields are name, description, version, supportedInterfaces (the endpoints and protocol bindings, preferred one first), capabilities, defaultInputModes, defaultOutputModes and skills. Optional fields include provider, documentationUrl, securitySchemes, securityRequirements, signatures and iconUrl.
Input and output modes are media types such as text/plain or application/json. Each skill lists an ID, a name, a description and tags, so a client agent can decide whether the agent fits a job.
The specification names three discovery routes: a well-known URI at https://{domain}/.well-known/agent-card.json, registries or catalogs of agents, and direct configuration. A card can carry JSON Web Signatures so clients can check that it has not been altered. An agent can also offer an extended card with more skills or details that is only returned after authentication; since v1.0 this is flagged in capabilities.extendedAgentCard.
Platforms use the format too. Google Cloud Marketplace asks partners to provide an Agent Card for each listed AI agent.
Example
JSON
{
"name": "Store Locator Agent",
"description": "Finds the nearest store and its opening hours.",
"version": "1.2.0",
"supportedInterfaces": [
{ "url": "https://agent.example.com/a2a", "protocolBinding": "JSONRPC", "protocolVersion": "1.0" }
],
"capabilities": { "streaming": false },
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["application/json"],
"skills": [
{ "id": "find-store", "name": "Find store", "description": "Returns stores near a postal code.", "tags": ["retail", "locations"] }
]
}
Common mistakes
Publishing the card at the old path /.well-known/agent.json that early guides used.
Using a top-level url field instead of supportedInterfaces, which v1.0 requires.
Keeping the extended-card flag at the top level. supportsExtendedAgentCard moved to capabilities.extendedAgentCard.
FAQ
What is an A2A Agent Card?
The discovery document of the A2A protocol. It tells a client agent what a remote agent offers and how to call it.
Is an Agent Card the same as llms.txt?
No. An llms.txt file helps language models read a website. An Agent Card describes an agent as a service that other agents can call.
Does every website need one?
Only sites that run their own agent over A2A. A site without an agent gains nothing from it.