A2A (Agent-to-Agent Protocol)
A2A is an open protocol for agents to talk to other agents: discover each other, delegate tasks, report progress. MCP connects an agent to tools. A2A connects agents to agents.
First question: do you actually need it? A2A solves coordination between agents owned by different teams or vendors. If all your agents live in one codebase, function calls and subagents are simpler. Every agent hop adds latency, cost, and a failure mode.
MCP vs A2A
| Aspect | MCP | A2A |
|---|---|---|
| Purpose | Agent ↔ tools and data | Agent ↔ agent |
| Originated at | Anthropic | Google (now Linux Foundation) |
| Use case | Database queries, API calls | Multi-agent collaboration |
| Direction | Agent calls external systems | Agents delegate and negotiate |
Architecture
Key capabilities
- Discovery: find agents by capability through published agent cards
- Delegation: hand subtasks to specialist agents
- Negotiation: agree on formats and constraints
- Status updates: long-running tasks report progress
- Cross-organization: agents from different teams or vendors work together
When to use
| Use MCP | Use A2A |
|---|---|
| Query a database | Delegate research to another team's agent |
| Call an API | Coordinate a workflow across independently owned agents |
| Read and write files | Get a review from another org's review agent |
| Run commands | Fan work out across agents you don't control |
A2A + MCP together
Systems that need A2A usually use both:
User → Orchestrator Agent (A2A) → Specialist Agents (A2A)
↓
MCP Servers → External SystemsTreat agent links like service APIs: versioned capabilities, authentication, timeouts, defined failure behavior, and end-to-end tracing. Multi-agent failures are distributed-systems failures, and you debug them the same way.
Example prompts:
Multi-agent workflow:
"Design a system where a planning agent splits work, coding agents implement in
parallel, and a review agent validates. A2A between agents, MCP for tool access.
Include timeouts and failure handling."
Cross-team:
"Our coding agent requests deploys from the platform team's deploy agent.
Design the A2A flow: authentication, status callbacks, and what happens on timeout."Reference: https://a2a-protocol.org/