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. 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.