Skip to content

HomeLearnMCP vs A2A

Updated 2026-10-23 · applies to a2a-exposed 0.8.15

MCP vs A2A

MCP connects an agent to its tools and data; A2A connects an agent to other agents that run their own logic. They are complementary: A2A between agents, MCP inside each one.

MCP stays the path from an agent to its tools. An agent that already uses MCP tools receives an A2A message when something public serves its agent card. That is the gap a2a-exposed is for.

Side by side

Feature MCP A2A
Boundary One agent and its tools Two or more agents
Caller The agent, reaching for a tool Another agent, delegating work
Unit of work A tool call. MCP also has a tasks extension, a different object from an A2A task A task with a lifecycle
Discovery The tool list the server exposes An agent card at /.well-known/agent-card.json
Auth Whatever the MCP server requires Out of band in the spec. a2a-exposed uses device-flow pairing
Long-running work Depends on the server Tasks, poll or push. Streaming exists in the spec

Check the MCP specification you are citing before you describe its tasks extension. The two "task" words name different objects.

When to use which

  • You want your agent to read a repository, a database, or an API you control: MCP.
  • You want someone else's agent to ask yours to do work, and to come back later for the result: A2A.
  • You want both: MCP inside each agent, A2A between them.

Where a2a-exposed sits

The Worker can also be an MCP server at /mcp, so a client can operate the task list. The owner token stays with you. Claude Code is in testing. The A2A endpoint is the product. See compatibility and Claude Code.

FAQ

Is A2A a replacement for MCP?

No. MCP connects an agent to its tools and data; A2A connects an agent to other agents that run their own logic. They are complementary: A2A between agents, MCP inside each one.

Does your MCP agent need a public server to receive A2A messages?

Yes, something has to serve the agent card and the JSON-RPC endpoint. The agent itself often lives somewhere else. A Cloudflare Worker can serve the card. See how it works.