ACP vs MCP vs A2A: Three Protocols, Three Different Problems

MCP connects agents to tools. ACP connects agents to editors. A2A connects agents to other agents. Full comparison of all three AI agent protocols: architecture, transport, discovery, ecosystem size, and when to use each. Updated April 2026.

April 5, 2026 ยท 1 min read

Three Protocols at a Glance

MCP
Anthropic, Nov 2024. Connects agents to tools and data. 10,000+ servers.
ACP
Zed, Aug 2025. Connects agents to code editors. 25+ agents.
A2A
Google, Apr 2025. Connects agents to other agents. 50+ launch partners.

Three open-source specifications. Three different interface boundaries. MCP defines how an agent talks to tools. ACP defines how an agent talks to an editor. A2A defines how an agent talks to another agent. They are layers in a stack, not competitors in a category.

Bottom Line

If you are building agents that use tools, MCP is the standard. If you are building agents that live inside editors, ACP is the emerging standard. If you are building enterprise systems where agents from different vendors need to collaborate, A2A is the proposal to watch. Most developers only need MCP today. The others become relevant as your agent architecture grows.

The Mental Model

Each protocol answers a different question from the agent's perspective:

MCP: "What can I use?"

Tools, databases, APIs, file systems. MCP is the interface between an agent and its capabilities. The agent is a client, the tool is a server. Think USB-C for AI tools: one standard plug, any device.

ACP: "Where do I live?"

Which editor hosts the agent, how does it show output, how does it request permissions. ACP is the interface between an agent and its development environment. Think LSP (Language Server Protocol) for AI agents.

A2A: "Who can I work with?"

Other agents, their capabilities, task delegation, status updates. A2A is the interface between peer agents. Think HTTP for agent services: discover, request, receive.

A useful analogy: MCP is like a power strip (connecting to tools). ACP is like a desk (the workspace where work happens). A2A is like a phone line (coordinating with colleagues). You need a desk, you plug into the power strip, and you call your colleagues. None of these replace each other.

Full Comparison Table

This table covers every meaningful dimension across all three protocols. Updated April 2026.

DimensionMCPACPA2A
Created byAnthropicZed IndustriesGoogle
Release dateNovember 2024August 2025April 2025
Problem solvedAgent-to-tool integrationAgent-to-editor integrationAgent-to-agent communication
One-line analogyUSB-C for AI toolsLSP for AI agentsHTTP for agent services
Message formatJSON-RPC 2.0JSON-RPC 2.0JSON-RPC 2.0
Transportstdio, HTTP + SSE (Streamable HTTP in 2025-03 spec)stdin/stdout (subprocess)HTTP + SSE, push notifications
DirectionClient-initiated (agent calls tool server)Bidirectional (editor spawns agent, agent can request back)Peer-to-peer (either agent can initiate)
Session stateStateless per request (server maintains no context between calls)Session-based (editor manages lifecycle, agent has persistent state)Task-based (tasks have lifecycle: submitted, working, completed, failed)
StreamingSSE for remote serversNative real-time streaming over stdoutSSE for task updates, push notifications
DiscoveryNo built-in discovery (registries are third-party)Editor manages available agentsAgent Cards (JSON metadata at /.well-known/agent.json)
Auth modelOAuth 2.1 (2025-03 spec), local servers use no authEditor-managed permissions (agent requests, user approves)OAuth 2.0, API keys, JWT (enterprise-grade)
Spec governanceOpen spec, Anthropic-led, community contributionsOpen spec, Zed-led, editor communityOpen spec, Google-led, enterprise consortium
Ecosystem size10,000+ public servers25+ agents50+ launch partners
Primary adoptersClaude Code, Cursor, VS Code, Windsurf, Cline, ZedZed, JetBrains, Neovim, EmacsSalesforce, SAP, Atlassian, ServiceNow, MongoDB
Primary usersTool/integration developersEditor plugin and agent developersEnterprise platform and agent developers
Local executionYes (stdio transport)Yes (subprocess)No (HTTP only)
Cross-vendor supportAny client can connect to any serverAny editor can host any agentAny agent can talk to any agent (in theory)
MaturityProduction (17 months, wide adoption)Early production (8 months, growing adoption)Early production (12 months, enterprise pilots)

MCP: The Tool Layer

MCP (Model Context Protocol) is the most widely adopted of the three. Anthropic released it in November 2024. Within 17 months, it became the default way AI agents connect to external tools.

What MCP Does

An agent needs to query a database. Without MCP, the developer writes a custom integration: parse the agent's intent, construct the query, execute it, format the response. With MCP, the database exposes an MCP server. The agent calls it using a standard protocol. The same agent can call a GitHub server, a Slack server, or a filesystem server using the same interface.

MCP defines four primitives: Tools (functions the agent can call), Resources (data the agent can read), Prompts (templates for common interactions), and Sampling (server-initiated LLM calls). Most implementations focus on Tools and Resources.

Architecture

MCP uses a client-server model. The agent (or its host application) is the MCP client. Tools and data sources are MCP servers. Communication happens over stdio for local processes or HTTP with Server-Sent Events for remote servers. The 2025-03 spec revision introduced Streamable HTTP, simplifying the remote transport.

MCP Server Example (TypeScript)

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";

const server = new McpServer({ name: "my-tool", version: "1.0.0" });

server.tool("search_docs", { query: z.string() }, async ({ query }) => {
  const results = await searchDocumentation(query);
  return { content: [{ type: "text", text: JSON.stringify(results) }] };
});

Strengths

  • Massive ecosystem. 10,000+ public servers covering databases, APIs, SaaS tools, file systems, and developer tools.
  • Simple to implement. A basic MCP server is under 50 lines of code. SDKs exist for TypeScript, Python, Java, Go, C#, and Rust.
  • Universal adoption. Claude Code, Cursor, VS Code Copilot agent mode, Windsurf, Cline, Zed, and most other AI coding tools support MCP.
  • Works locally. stdio transport means no network, no auth, no latency. The server runs as a subprocess on the same machine.

Weaknesses

  • No agent discovery. MCP has no built-in way to find available servers. Users manually configure server connections. Third-party registries like Smithery and mcp.run partially fill this gap.
  • Client-initiated only. The server cannot proactively push information to the agent. Notifications exist in the spec but are limited.
  • No agent-to-agent. MCP models agent-to-tool relationships. If two agents need to collaborate, MCP has nothing to say about that.
  • Auth still maturing. The OAuth 2.1 addition in the 2025-03 spec was overdue. Many servers still rely on API keys passed through environment variables.

ACP: The Editor Layer

ACP (Agent Control Protocol) is the newest of the three. The Zed editor team released it in August 2025 to standardize how AI agents integrate with code editors.

What ACP Does

An AI coding agent running inside Zed needs to do things MCP does not cover: show inline suggestions in the editor, request permission to modify a file, stream partial results as they are generated, display a diff preview before applying changes. These are editor-specific interactions that require a protocol between the agent and the editor itself.

ACP defines this interface. The editor spawns the agent as a subprocess. Communication flows over stdin/stdout using JSON-RPC. The protocol is bidirectional: the editor sends context to the agent, and the agent can request information or permissions back from the editor.

Architecture

ACP uses a subprocess model. The editor is the host. Agents are spawned as child processes. This is identical to how LSP (Language Server Protocol) works: the editor launches a language server as a subprocess and communicates over stdio. ACP applies the same pattern to AI agents.

Session management is built into ACP. The editor tracks which agents are running, their current state, and their permissions. When a user closes a project, the editor can gracefully shut down associated agents.

ACP Agent Card Example (JSON)

{
  "id": "my-coding-agent",
  "name": "My Coding Agent",
  "version": "1.0.0",
  "capabilities": ["code-generation", "code-review", "refactoring"],
  "transport": { "type": "stdio" },
  "permissions": ["file-read", "file-write", "terminal-execute"]
}

Strengths

  • Real-time streaming. Agents stream partial results as they work. The editor renders output incrementally, similar to how LSP provides real-time diagnostics.
  • Permission model. ACP defines structured permission requests. The agent asks to modify a file, the editor shows a confirmation dialog, the user approves or denies. This is cleaner than MCP's tool-level permissions.
  • Editor-native features. Inline diffs, progress indicators, diagnostic overlays. ACP agents can use editor UI primitives that MCP servers cannot access.
  • Growing editor support. Zed has native ACP support. JetBrains, Neovim, and Emacs have community implementations. VS Code support is in progress.

Weaknesses

  • Editor-centric. ACP requires an editor host. Standalone agents (CLI tools, server-side agents, workflow automation) have no use for ACP.
  • Smaller ecosystem. 25+ agents compared to MCP's 10,000+ servers. The spec is 8 months old and adoption is still early.
  • Subprocess-only transport. No remote execution. The agent must run on the same machine as the editor. This limits deployment options for resource-intensive agents.
  • Overlapping concerns with MCP. Some capabilities (file reading, code search) could be exposed through either protocol. The boundary is not always clear.

A2A: The Agent Collaboration Layer

A2A (Agent-to-Agent) is Google's protocol for inter-agent communication. Released in April 2025, it addresses a problem neither MCP nor ACP touches: how do agents built by different vendors discover each other and collaborate on tasks?

What A2A Does

A company has a customer support agent built on LangGraph and a billing agent built on Google ADK. A customer asks the support agent to issue a refund. The support agent needs the billing agent to process it. Without A2A, the developer builds a custom bridge. With A2A, the support agent discovers the billing agent via its Agent Card, sends a task request, and receives status updates as the billing agent processes the refund.

Architecture

A2A defines three core concepts: Agent Cards (capability advertisements served at /.well-known/agent.json), Tasks (units of work with lifecycle states: submitted, working, input-required, completed, failed), and Messages (communication within a task containing Parts like text, files, or structured data).

Communication happens over HTTP using JSON-RPC. For long-running tasks, A2A supports Server-Sent Events for streaming updates and push notifications via webhooks. Version 0.2 of the spec (late 2025) added stateless interactions for simple request/response patterns and standardized authentication.

A2A Agent Card Example (JSON)

{
  "name": "Billing Agent",
  "description": "Processes refunds, invoices, and payment disputes",
  "url": "https://billing-agent.example.com",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true
  },
  "skills": [
    { "id": "process-refund", "name": "Process Refund" },
    { "id": "generate-invoice", "name": "Generate Invoice" }
  ],
  "authentication": { "schemes": ["oauth2", "apiKey"] }
}

Strengths

  • Agent discovery. Agent Cards at a well-known URL let agents find and understand each other's capabilities. No other protocol provides this.
  • Cross-vendor interoperability. A LangGraph agent can delegate to a Google ADK agent can delegate to a CrewAI agent. The protocol is framework-agnostic.
  • Task lifecycle. Built-in states (submitted, working, completed, failed, input-required) with streaming updates. Enterprise workflows need this kind of observability.
  • Enterprise backing. 50+ launch partners including Salesforce, SAP, Atlassian, ServiceNow, MongoDB, Deloitte. This is the enterprise-grade option.

Weaknesses

  • No Anthropic, OpenAI, or Microsoft at launch. The three largest AI providers were not among A2A's initial partners. Anthropic has MCP. Microsoft has Azure AI Agent Service. OpenAI has its own agent SDK. Adoption from these vendors would significantly strengthen A2A.
  • HTTP-only transport. No local subprocess execution. Every inter-agent call goes over the network, adding latency. For agents on the same machine, this is unnecessary overhead.
  • Enterprise complexity. Agent Cards, capability negotiation, task lifecycle management, push notifications, authentication schemes. A2A is more complex than MCP or ACP because it solves a harder problem. But that complexity raises the barrier to entry.
  • Early real-world adoption. Most A2A implementations as of April 2026 are demos and proof-of-concepts. Production multi-agent systems using A2A for cross-vendor communication are still uncommon.

How They Work Together

The key insight: these protocols are complementary layers in an agent stack. They do not compete. A single coding session can use all three.

Example: A Coding Agent Using All Three Protocols

A developer opens Zed and starts an AI coding agent. The agent connects to Zed over ACP (the editor layer). It receives the current file, cursor position, and project context through the ACP session.

The agent needs to understand the codebase. It calls a code search tool over MCP (the tool layer). The MCP server searches the repository and returns relevant files. The agent also queries a database MCP server to understand the schema.

The agent determines the change requires updating a deployment configuration. It delegates this to a DevOps agent over A2A (the collaboration layer). The DevOps agent processes the deployment, streams status updates back, and confirms completion.

The coding agent shows the combined results in Zed through ACP: inline diffs for the code changes, a status panel for the deployment, and a summary of what happened.

The Layered Architecture

LayerProtocolRelationship ModeledExample
CollaborationA2AAgent to AgentCoding agent delegates deployment to DevOps agent
ToolsMCPAgent to Tool/DataAgent queries database, searches code, calls APIs
InterfaceACPAgent to EditorAgent shows diffs, requests permissions, streams output

This layering is not hypothetical. It describes how agent architectures are already evolving. Today, most agents use only MCP because tool integration is the most immediate need. As editor integrations deepen and multi-agent systems mature, ACP and A2A fill the gaps that MCP was never designed to address.

Which Protocol Should You Care About?

Building MCP Servers or Tool Integrations

Focus on MCP. It is the established standard with the largest ecosystem. Build an MCP server and it works with Claude Code, Cursor, VS Code, Windsurf, Zed, and every other major AI coding tool. This is the highest-leverage protocol investment today.

Building Editor Integrations

Focus on ACP. If your agent needs to render inline UI, request permissions through the editor, or stream partial results in real time, ACP provides these primitives. Your agent will still use MCP for tool access, but ACP defines the editor-specific interface.

Building Enterprise Agent Orchestration

Watch A2A. If your organization has agents from multiple vendors that need to collaborate (support agent hands off to billing agent, coding agent delegates to deployment agent), A2A provides the discovery and task delegation protocol. Evaluate it alongside internal orchestration solutions.

Building a Coding Agent

Start with MCP for tools. Your agent needs to read files, search code, query databases, and call APIs. MCP covers all of this. Add ACP if you want deep editor integration. Add A2A if you want your agent to delegate tasks to other agents. MCP is the foundation; the others are additions.

Decision Matrix

Your SituationMCPACPA2A
Building a tool/API wrapper for agentsRequiredNot neededNot needed
Building an editor plugin with AIFor tool accessRequiredNot needed
Building a standalone CLI agentRequiredNot applicableOptional
Building multi-agent enterprise systemsFor tool accessNot neededRequired
Building a coding agent (full-featured)RequiredRecommendedOptional (future)
Connecting to an existing database/APIRequiredNot neededNot needed
Enabling cross-vendor agent collaborationNot applicableNot applicableRequired

Practical Recommendations

For most developers in April 2026, MCP is the only protocol that matters immediately. It has critical mass: 10,000+ servers, universal tool support, and a spec that is stable enough for production use.

ACP is worth tracking if you build editor extensions or agents that need rich editor integration. The LSP analogy is apt. LSP took years to become ubiquitous, but once it did, it became the foundation for every language server. ACP could follow the same trajectory for AI agents in editors.

A2A is worth tracking if you work in enterprise environments where multiple agent vendors coexist. The discovery mechanism (Agent Cards) is the most interesting primitive. Whether A2A achieves the cross-vendor adoption it needs depends on whether Anthropic, OpenAI, and Microsoft eventually participate.

Frequently Asked Questions

What is the difference between MCP, ACP, and A2A?

MCP connects agents to tools and data (databases, APIs, file systems). ACP connects agents to code editors (Zed, JetBrains, Neovim). A2A connects agents to other agents (cross-vendor task delegation and capability discovery). They solve different problems at different layers of the agent stack. All three use JSON-RPC, but the relationships they model are distinct.

Does A2A replace MCP?

No. A2A handles agent-to-agent communication. MCP handles agent-to-tool communication. An agent uses MCP to call a database, and A2A to delegate a task to another agent. They are complementary. Google explicitly positions A2A as a companion to MCP, not a replacement.

Does ACP replace MCP?

No. ACP defines the interface between an agent and its editor host (permissions, streaming, UI primitives). MCP defines the interface between an agent and external tools. An ACP-connected agent inside Zed still uses MCP to access tools. ACP is the editor layer; MCP is the tool layer.

Who created each protocol?

Anthropic created MCP (November 2024). Zed Industries created ACP (August 2025). Google created A2A (April 2025). All three are open-source specifications with community governance. MCP has the broadest contributor base. A2A has the largest enterprise consortium.

Can I use all three protocols together?

Yes. A coding agent can run inside Zed over ACP, call tools over MCP, and delegate tasks to other agents over A2A. The protocols are designed for different layers and interoperate naturally. In practice, most agents today use only MCP because tool integration is the most mature use case.

Which protocol has the largest ecosystem?

MCP, by a wide margin. 10,000+ public servers, adopted by every major AI coding tool. ACP has 25+ agents with support in Zed, JetBrains, Neovim, and Emacs. A2A has 50+ enterprise launch partners. Ecosystem size reflects maturity: MCP is 17 months old, ACP is 8 months old, and A2A is 12 months old.

Which transport does each protocol use?

MCP uses stdio for local servers and HTTP + SSE for remote servers (Streamable HTTP in the 2025-03 spec revision). ACP uses stdin/stdout between the editor and agent subprocess. A2A uses HTTP with optional SSE for streaming and push notifications via webhooks. All three chose JSON-RPC 2.0 as the message format.

Is MCP the only protocol I need for building AI agents?

For tool integration, yes. MCP covers connecting your agent to databases, APIs, file systems, and external services. You need ACP if your agent runs inside a code editor and requires editor-native features (inline diffs, permission dialogs, streaming output). You need A2A if your agents must discover and collaborate with agents from other vendors. Most agents today need only MCP.

Related Comparisons

Build MCP Tools with Morph

WarpGrep is an MCP server for agentic code search: 8 parallel tool calls per turn, 4 turns, sub-6s results. Works with Claude Code, Cursor, Zed, and any MCP-compatible agent. Fast Apply provides 10,500 tok/s code editing as an API. Both protocols, one infrastructure layer.