---
title: "Publish an agent card · Agent Wranglers"
url: https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/a2a-agent-cards
id: AGT-62
level: Optional
updated: 2026-10-27
build: a2a6bdfed830
tokens: 774
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Publish an agent card

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Ready for AI agents](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: AGT-62
- Level: Optional
- Chapter: [Ready for AI agents](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents.md)
- Rule: If you run an A2A agent, one that talks to other agents, publish its card at `/.well-known/agent-card.json`. Keep a working endpoint behind it.
- Check: Fetch the card and validate it against the A2A schema. Send a JSON-RPC `SendMessage` with `A2A-Version: 1.0`, and get a message or task back.
- How: Serve the agent card JSON with name, description, version, `supportedInterfaces`, capabilities, input and output modes, and skills. This follows A2A 1.0. Clients send `A2A-Version: 1.0`, and a missing header means version 0.3. Make `SendMessage` work on the endpoint the card names. List the agent in [one catalogue of agent tools](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/agentic-resource-discovery.md) too.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### JSON example

```json
{
  "name": "Example Co assistant",
  "description": "Answers questions about our services and books calls.",
  "version": "1.0.0",
  "supportedInterfaces": [
    { "url": "https://example.com/a2a", "protocolBinding": "JSONRPC", "protocolVersion": "1.0" }
  ],
  "capabilities": { "streaming": false, "pushNotifications": false },
  "defaultInputModes": ["text/plain"],
  "defaultOutputModes": ["text/plain"],
  "skills": [{ "id": "book-call", "name": "Book a call", "description": "Find a free slot and book it.", "tags": ["booking"] }]
}
```

## Sources

- [A2A Protocol specification (Agent Card, A2A-Version)](https://a2a-protocol.org/latest/specification/)

## Related rules

- AGT-65 [Keep one catalogue of agent tools](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/agentic-resource-discovery.md) in Agents as users

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/a2a-agent-cards">Agent Wranglers agents as users playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Publish a server card for your MCP server](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/mcp-and-tool-discovery.md)
- Next: [List skills agents can learn](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents/agent-skills-discovery.md)
- [Ready for AI agents](https://agentwranglers.se/playbook/agents-as-users/ready-for-ai-agents.md)
