Large Language ModelsGenerate imagesGenerate videos
MCP vs A2A vs ACP: AI Agent Protocols Compared
MCP, A2A, and ACP get lumped together, but they solve different problems. This side by side breakdown shows who built each protocol, what it sends over the wire, how security differs, why ACP merged into A2A, and which one to pick for a new agent project in 2026.
Three acronyms keep showing up in every conversation about AI agents, and plenty of people use them interchangeably. MCP, A2A, and ACP all sound like rivals, yet they solve different problems at different layers of the stack. One plugs an agent into tools. One lets agents hand work to each other. One was a sharp idea that got folded into the other before most teams shipped a single line of it. Pick the wrong one and you rewrite your integration layer a few months later.
This breakdown sets the three side by side with the facts that matter in October 2026: who built each protocol, what it sends over the wire, who governs it, and which one belongs in your build. No hype, just a map.
The Short Answer
Here is the whole story in one table. Keep it open while you read the rest.
Protocol
Created by
Connects
Style
Status in 2026
MCP
Anthropic, November 2024
An agent to tools and data
JSON-RPC 2.0 over stdio or HTTP
Governed by the Agentic AI Foundation at the Linux Foundation
A2A
Google, April 2025
One agent to another agent
JSON-RPC over HTTP with streaming, more bindings added later
Governed by the Linux Foundation, v1.0 released
ACP
IBM Research and BeeAI, March 2025
One agent to another agent
REST over plain HTTP
Merged into A2A in August 2025, spec archived
💡 The one-line version: MCP is how an agent reaches down to tools. A2A is how an agent reaches sideways to other agents. ACP tried to do the sideways job, then joined A2A.
If you only remember one thing, remember that MCP and A2A are complements, not competitors. ACP is the one that no longer stands on its own.
What MCP Does
Anthropic open-sourced the Model Context Protocol in November 2024 to fix a boring but expensive problem. Every AI app needed custom glue code for every tool it touched, so ten apps and twenty tools meant two hundred integrations. MCP replaces that grid with one standard plug.
The USB-C of Agent Tools
The comparison everybody reaches for is USB-C, and it holds up. A tool maker writes one MCP server. Any app that speaks MCP can use it, whether that app is a code editor, a chat client, or a custom agent you wrote last weekend.
The numbers explain why it won the tools layer. Every major AI provider, including Anthropic, OpenAI, Google DeepMind, Microsoft, and AWS, adopted it. By early 2026 the SDKs were pulling roughly 97 million monthly downloads, and more than 10,000 public servers were active. On December 9, 2025, Anthropic donated MCP to the Agentic AI Foundation, a directed fund under the Linux Foundation co-founded by Anthropic, Block, and OpenAI. No single vendor owns it anymore.
Tools, Resources, and Prompts
An MCP server can offer three kinds of things:
Tools: functions the model can call, such as querying a database, creating a ticket, or resizing an image.
Resources: read-only data like files, records, or documents that the host app can load into context.
Prompts: reusable templates that a user can trigger on purpose.
The host app (your IDE or chat client) runs one MCP client per server and relays messages in JSON-RPC 2.0. Local servers talk over stdio. Remote servers use Streamable HTTP. A tool call looks like this:
There is one practical catch. Every tool description is text the model has to read before it acts, so a server with sixty tools eats context window before the conversation even begins. Teams that run MCP well keep servers small, name tools clearly, and load only what the task needs.
💡 Where MCP stops: an MCP server is passive. It answers when called. It does not plan, negotiate, push back, or run a four-hour job and ping you when it finishes. That gap is exactly where A2A starts.
What A2A Does
Google announced the Agent2Agent protocol in April 2025 with more than 50 launch partners, then handed it to the Linux Foundation in June 2025. The goal: let agents built by different vendors, on different frameworks, work together as peers instead of strangers.
Agent Cards and Tasks
Every A2A agent publishes an Agent Card, a small JSON document at a well-known URL. It lists the agent's name, what it can do, where to reach it, and which authentication it expects. A client agent reads the card first, then decides whether this remote agent is the right one for the job.
Work travels as a task. A task gets an ID and moves through states: submitted, working, sometimes paused while it waits for more input, then finished, failed, or canceled. Messages carry text, files, or structured data, and the final output comes back as artifacts.
Opaque by Design
Here is the design choice that matters most. A2A agents stay opaque. They do not share their memory, internal prompts, or tool lists. The caller sees the Agent Card and the results, nothing else. A procurement agent at one company can hand a job to a logistics agent at another without exposing a single internal system.
Long jobs are first-class citizens too. A2A supports streaming over server-sent events and push notifications for work that runs for minutes or hours. Version 1.0 landed in 2026, and the Technical Steering Committee includes Google, Microsoft, AWS, Cisco, Salesforce, ServiceNow, and SAP. That list matters because a protocol backed by competitors is a protocol you can bet on.
What Happened to ACP
IBM's REST-First Bet
IBM Research and the BeeAI team introduced the Agent Communication Protocol in March 2025 with a deliberately plain design. It ran on ordinary REST endpoints. You could call an agent with cURL or Postman, no SDK required. It was built to be asynchronous first, which suited long-running agent work, and it fit neatly inside the BeeAI platform.
The Merge Into A2A
Two protocols aiming at the same sideways problem was one too many. In August 2025, IBM Research and Google announced that ACP would join A2A under the Linux Foundation's LF AI & Data umbrella. Kate Blair, who led ACP at IBM Research, joined the A2A Technical Steering Committee. ACP development wound down, the spec was archived, and BeeAI users got migration paths to A2A.
The stateful, asynchronous ideas from ACP now live inside A2A. If a vendor slide in 2026 lists ACP as a live third option, check the date on the slide.
💡 Watch the name collision. Other projects use the same three letters. Zed's Agent Client Protocol connects code editors to coding agents. The Agentic Commerce Protocol from OpenAI and Stripe handles checkout inside AI chats. Neither one is IBM's ACP, and neither competes with MCP or A2A.
Side by Side Comparison
Question
MCP
A2A
ACP
What does it connect?
Agent and tool
Agent and agent
Agent and agent
Who is in charge?
The client model calls the server
Peers, either side can start
The client calls REST endpoints
Message format
JSON-RPC 2.0
JSON-RPC over HTTP, more bindings later
REST with JSON and multipart
Long-running work
Limited
Tasks, streaming, push notifications
Async-first
Internals exposed?
Tools and schemas are public
Opaque, only the card and results
Agent manifest
Governance
Agentic AI Foundation
Linux Foundation
Folded into A2A
New project in 2026?
Yes
Yes
No, use A2A
Read the first row twice. Tool access and agent collaboration are different jobs, and each protocol owns one of them.
Security Differences
Security looks different at each layer.
For MCP, the risks live in what a tool can touch. Remote servers use OAuth-based authorization, but the real danger is permissions that are too wide and tool output that carries hidden instructions, known as prompt injection. A server that can read files and send email gives a manipulated model a short path to a leak.
For A2A, the risk is trust. An Agent Card declares which authentication schemes it accepts, and calls ride on standard HTTP security. The open question is whether you should believe a card you found on the internet. Treat every remote card as untrusted input.
A short checklist works for both:
Scope tokens to one server or agent, with the narrowest permissions that work.
Log every tool call and every delegated task: who asked, and what came back.
Require a human click before anything destructive, like deletes, payments, or outbound email.
Review tool descriptions and Agent Cards the way you review dependencies, because they steer the model.
Transport and Wire Format
All three speak flavors of HTTP and JSON, so debugging is less exotic than the acronyms suggest. MCP over stdio is the easiest to try: spawn a local server, pipe JSON in, read JSON out. The MCP Inspector gives you a visual view of the same traffic. A2A needs a bit more ceremony because a client must fetch a card before it sends a task. IBM's ACP was the simplest of the three to poke at with a bare cURL command, which is part of why developers liked it.
How the Three Fit Together
Picture a travel-planning assistant. A user asks it to book a weekend in Lisbon. The flow goes like this:
The user's orchestrator agent reads the request and breaks it into jobs.
It uses MCP to check the user's calendar and saved preferences.
It uses A2A to hand "find a hotel" to a hotel agent run by another company.
That hotel agent uses MCP internally to query its room inventory and payment tool.
The result returns over A2A as an artifact, and the orchestrator presents it.
MCP runs inside each agent. A2A runs between agents. That layering is why the two are described as a stack and not a fight.
Standards like these tend to win for the same reason shipping containers did. Once every port, truck, and crane agrees on one box, nobody cares who built the box. The value moves to everything that fits inside it. MCP did that for tools. A2A is attempting the same move for agent collaboration, and the merger with ACP removed the biggest reason to wait.
Neutral governance helps too. MCP sits under the Agentic AI Foundation and A2A sits under the Linux Foundation, so neither depends on one company's roadmap. For a team signing off on a multi-year build, that is worth more than any feature on a spec sheet.
Which One Should You Use
Start from the job, not the acronym.
Pick MCP When
Your agent needs to call tools like databases, file systems, search, or SaaS apps.
You want one integration that works across several AI apps and models.
You ship a product and want other people's agents to reach your data.
The remote side is a function, not a decision-maker.
Pick A2A When
The remote side is another agent that plans, decides, and might need several rounds.
Agents come from different teams, vendors, or frameworks.
Jobs run long enough that you need streaming or push updates.
You must keep each agent's internals private.
Three Common Mistakes
Wrapping every agent as an MCP tool. It looks tidy, but you lose task state, streaming, and negotiation. A four-hour job cannot hide behind a synchronous function call.
Using A2A for a plain function. A currency conversion does not need an Agent Card and a task lifecycle. Use MCP.
Trusting old ACP tutorials. They still rank well in search. Check the publish date before you copy a single endpoint.
What about ACP? For a new build, skip it. If you already run IBM's ACP in a BeeAI project, plan a migration to A2A and treat the old endpoints as a bridge, not a destination.
Most real systems need both protocols. Start with MCP for tools, because that need appears on day one. Add A2A when a second agent enters the picture.
Try It on Picasso IA
Protocol work is mostly writing: Agent Cards, tool schemas, specs, and diagrams. A strong language model speeds up each of those.
Use Claude Sonnet 5 on PicassoIA
Claude Sonnet 5 handles multi-step coding and tool-use tasks, which makes it a handy drafting partner for protocol work. Here is a quick way to use it:
Open the model page on Picasso IA and find the Prompt box.
Write a specific request. For example: "Draft an A2A Agent Card for a hotel booking agent with three skills: search rooms, hold a room, and cancel a hold. Use OAuth for authentication."
Set the effort level. The default is low, which turns thinking off for the fastest, cheapest replies. Use medium or high for schema reviews, and xhigh or max when a bug spans several files.
Add a system prompt once, such as "You are a protocol reviewer. Flag security gaps first." It then applies across the session.
Raise max tokens if needed. The default is 8,192 output tokens, enough for a long schema or a full server skeleton.
Attach an image if you have one. A photo of your whiteboard sketch works as context, because the model reads images.
Prefer another model? Kimi K2.6 is tuned for building AI agents and writing code, and GPT 5.6 Sol is built for hard coding tasks.
Create Your Own Images
Every photo in this article came from a text prompt. The workflow was simple: describe the subject, the lighting, the lens, and the texture, then let the model render it. You can do the same for blog headers, product shots, or the mood board for your next launch.
Try one of these on Picasso IA:
Seedream 4.5 for photorealistic scenes with fine detail.
Flux 2 Pro for strong prompt following and natural lighting.
P-Image for fast drafts when you want to test ideas quickly.
Open Picasso IA, pick a model, and paste a prompt built like the ones behind these photos: subject, setting, light, lens, texture. Run three variations, keep the best one, and drop it into your next doc or deck. Your first image is one prompt away.