# What's the difference between MCP and A2A?

MCP connects an agent to tools that run in someone else's deployment; A2A connects one agent to another so they can hand off a task, and the two are built to run together rather than replace each other.

MCP's shape is a client calling a passive server: the agent asks a fixed endpoint what tools it offers and calls them over JSON-RPC, the same shape behind [any single tool call that can fail in several distinct ways](/answers/tool-calling/what-are-the-ways-a-tool-call-can-fail). A2A's shape is peer to peer. An agent publishes an Agent Card, a JSON document naming its skills and endpoint, so a second agent, possibly built by a different team on a different framework, can discover it and delegate a task without knowing how it works inside.

Google introduced A2A to solve what MCP doesn't: getting two independent agents to cooperate, not getting one agent to a tool. A system with several agents typically runs both, A2A to move a task between agents and MCP from each agent down to its own tools.

---

Sources:
- Model Context Protocol specification: Overview: https://modelcontextprotocol.io/specification/2025-11-25 (fetched 2026-09-17)
- A2A Protocol (a2aproject/A2A): https://github.com/a2aproject/A2A (fetched 2026-09-17)

Source: https://tessary.ai/answers/mcp-tool-reliability/whats-the-difference-between-mcp-and-a2a
More on Mcp tool reliability: https://tessary.ai/answers/mcp-tool-reliability
From Tessary, agent reliability for AI agents in production: https://tessary.ai
