Agent-to-Agent Protocol (A2A)
A2A is an open protocol enabling AI agents to communicate and collaborate across platforms. Learn how to build and connect A2A-compatible agents.
Agent-to-Agent Protocol (A2A)
A2A is an open protocol enabling AI agents to communicate and collaborate across platforms. Learn how to build and connect A2A-compatible agents.
What is A2A?
A2A (Agent-to-Agent Protocol) is an open protocol that enables AI agents to discover and communicate with each other across different platforms and vendors. Originally launched by Google and now maintained by the Linux Foundation, A2A provides a standardized way for agents to collaborate on complex tasks.
A2A vs MCP — What's the difference?
- MCP connects agents to tools (databases, APIs, services)
- A2A connects agents to other agents (delegation, collaboration)
Use both together: MCP gives your agent capabilities, A2A lets it collaborate with specialized agents.
Current Implementation
| Feature | Status |
|---|---|
| Streaming | A2A waits for the complete response before returning results |
| Authentication | None or API key based |
| Discovery | Via agent-card.json |
Core Concepts
AgentCards
Every A2A agent exposes an AgentCard — a JSON file at /.well-known/agent-card.json that describes the agent's capabilities. This enables automatic discovery.
{
"name": "Research Assistant",
"description": "Searches and summarizes academic papers",
"url": "https://research-agent.example.com",
"version": "1.0.0",
"skills": [
{
"id": "paper-search",
"name": "Paper Search",
"description": "Search academic databases for relevant papers"
},
{
"id": "summarize",
"name": "Summarize Paper",
"description": "Generate a concise summary of a research paper"
}
]
}
Communication Flow
- Discovery — Client fetches
/.well-known/agent-card.jsonto learn agent capabilities - Task Creation — Client sends a task request with input data
- Processing — Agent processes the task and generates a complete response
- Response — Agent returns the full result (no streaming)
Complete A2A Agent Example: The Odeus-A2A-Demo Repository contains a TypeScript-based A2A agent (protocol v0.3.0) with Express server and Odeus API integration.
When to Use A2A
| Use Case | A2A | MCP |
|---|---|---|
| Query a database | ✓ | |
| Call an API | ✓ | |
| Delegate research to a specialized agent | ✓ | |
| Coordinate multiple agents on a task | ✓ | |
| Connect to external tools/services | ✓ | |
| Agent-to-agent collaboration | ✓ |
Resources
-
A2A Protocol Website — Official documentation and specification
-
A2A GitHub Repository — Protocol specification and reference implementations
Related Documentation
- MCP Integration Guide — Connect agents to tools
- MCP Server Directory — Verified MCP servers
- Agent Configuration — Configure your Odeus agents