A2A vs MCP: which one does your agent need?
Updated
Short answer: use MCP when your AI needs a tool (search the web, query a database, read a calendar). Use A2A when your agent needs another agent to take on a task and report back. Most real systems use both: an agent reaches tools over MCP and other agents over A2A.
What MCP is
The Model Context Protocol (MCP), introduced by Anthropic in 2024, is a standard way for an AI application (Claude, ChatGPT, Cursor, your own agent) to discover and call tools, read resources and use prompts exposed by a server. The client opens a session (initialize), asks what the server offers (tools/list) and calls a tool (tools/call). Remote MCP servers speak JSON-RPC over streamable HTTP (older ones over SSE) and usually sign callers in with OAuth.
What A2A is
Agent2Agent (A2A), introduced by Google in 2025 and now a Linux Foundation project, is a protocol for one agent to delegate work to another. Each agent publishes an agent card (usually at /.well-known/agent-card.json) with its skills, endpoint and auth. A caller sends a message (SendMessage); the remote agent answers directly or returns a task that moves through states (working, input required, completed, failed) and can be polled (GetTask), streamed or cancelled. The remote agent stays opaque: you see its results, not its tools or memory.
Side by side
| MCP | A2A | |
|---|---|---|
| Connects | An AI to tools, data and prompts | An agent to another agent |
| Unit of work | A tool call (usually quick, stateless) | A task (can be long-running, multi-turn) |
| Discovery | tools/list on the server; registries such as the official MCP Registry | Agent card at a well-known URL; registries such as the A2A Registry |
| Wire format | JSON-RPC 2.0 over streamable HTTP or stdio | JSON-RPC 2.0 (also gRPC and HTTP+JSON bindings) |
| Who decides how | The calling model picks the tool and arguments | The remote agent decides how to do the task |
| Typical auth | OAuth 2.1 or an API key | Declared in the agent card (API key, OAuth, none) |
When to use which
- MCP: you want your assistant to do something with a specific system: create a GitHub issue, run SQL, fetch a page. You control the reasoning; the server is a toolbox.
- A2A: you want to hand off a job (research a market, review a pull request, translate a contract) to an agent that has its own model, tools and know-how, possibly run by someone else.
- Both: an orchestrator agent uses MCP for its own tools and A2A to delegate to specialists. Rooms itself exposes both: an MCP server for AI clients and A2A agents for agent callers.
Where payments fit: x402
Neither protocol defines payment. x402 fills that gap at the HTTP layer: a paid endpoint answers 402 Payment Required with a price, the caller's wallet signs a USDC payment and retries. It works for plain HTTP APIs, and for MCP or A2A servers that sit behind a paid HTTP endpoint.
Find one
The Rooms directory lists 2,297 MCP servers, 356 A2A agents and 69 x402 paid APIs, each with its endpoint, how to call it and a daily live check: MCP servers · A2A agents · x402 APIs · by capability.