The practical guide to the two protocols that decide how your AI agents talk to tools, and to each other.
In under two years, two open standards went from a single lab's blog post to a stack that OpenAI, Google, Microsoft, AWS, Anthropic, Salesforce, and SAP all ship in production. The Model Context Protocol (MCP) now moves 400 million SDK downloads a month - Claude, roughly four times its total from a year earlier. The Agent2Agent Protocol (A2A) crossed 150 supporting organizations and 25,000 GitHub stars on its first birthday - Linux Foundation. For anyone building agents in 2026, the two acronyms are unavoidable.
But here is the problem: almost every article treats MCP and A2A as rivals, and they are not. They solve different halves of the same job. Confusing them leads teams to reach for a distributed multi-agent mesh when a single agent with a few tools would have shipped in a week, or to bolt agents together over the network before they have solved tool access, prompt injection, or cost control for one agent. The wrong choice is expensive in tokens, latency, and engineering time.
This guide is a decision guide, not a glossary. It breaks down exactly what MCP does, exactly what A2A does, why the industry frames them as complementary layers, and the credible counter-argument that A2A may be premature for most teams. It maps the wider protocol landscape (payments, discovery, identity), the platform support matrix, the security holes neither protocol has closed, the real cost of running this at scale, and ends with a concrete framework for choosing. Everything is grounded in late 2025 and 2026 primary sources.
Contents
- First principles: why agent protocols exist at all
- What MCP actually is in 2026
- What A2A actually is in 2026
- MCP vs A2A: the head-to-head
- The counter-narrative: do you actually need A2A?
- The wider protocol landscape
- Who supports what: the platform matrix
- Security, trust, and the layer nobody has solved
- Cost, performance, and running it in production
- How to choose: a decision framework
- The future outlook
The protocol scorecard
Before the detail, here is the full field of agent-era protocols a builder might evaluate in 2026, scored on the dimensions that actually matter. This is not just MCP versus A2A: it is the entire interoperability stack, ranked so you can see at a glance which standards have won their layer and which are still contested. Each protocol is scored 0 to 10 on five weighted criteria, and the rows are sorted by final weighted score, highest first.
| # | Protocol | Layer | Adoption (30%) | Maturity & Governance (25%) | Scope Fit (20%) | Platform Support (15%) | Security (10%) | Final |
|---|---|---|---|---|---|---|---|---|
| 1 | MCP | Agent-to-tool | 10 - 400M+ SDK downloads/mo, 10k+ servers | 9 - 5 dated specs, stateless 2026-07-28, LF Agentic AI Foundation | 9 - owns the tool-access layer outright | 10 - 10 official SDKs, every major client | 6 - tool poisoning unsolved, OAuth 2.1 hardened | 9.2 |
| 2 | A2A | Agent-to-agent | 8 - 150+ orgs, 25k stars, newer | 8 - v1.0 (Mar 2026), Linux Foundation, 8-vendor TSC | 8 - owns agent-to-agent, overlaps agent-as-tool | 8 - 5 SDKs, all 3 clouds, some previews | 6 - opaque agents, signed cards optional | 7.8 |
| 3 | AP2 | Payments | 6 - 60+ orgs (Mastercard, PayPal, Amex) | 5 - launched Sep 2025, extension of A2A/MCP | 8 - clear need, signed mandates | 5 - early, ties into both protocols | 8 - cryptographic mandates, audit trail | 6.2 |
| 4 | AGNTCY | Discovery/identity | 5 - Cisco, LangChain, 65+ firms | 6 - LF-hosted, OASF plus Agent Connect plus SLIM | 6 - discovery/identity, interoperates | 5 - framework-led | 6 - identity-first design | 5.6 |
| 5 | x402 | Payments (crypto) | 5 - Coinbase, Ethereum, MetaMask | 5 - new Sep 2025, A2A extension | 6 - per-request stablecoin rails | 4 - crypto-native tooling | 6 - onchain settlement | 5.2 |
| 6 | NLWeb | Web/content | 5 - Microsoft Build 2025 | 4 - newer, Microsoft-led | 6 - natural-language web access | 5 - every instance is an MCP server | 5 - inherits MCP posture | 5.0 |
| 7 | NANDA | Discovery/identity | 3 - MIT research, arXiv-stage | 3 - research maturity | 7 - protocol-neutral agent index | 3 - reference implementation | 6 - verifiable AgentFacts | 4.1 |
| 8 | ACP | Agent-to-agent | 2 - development wound down | 4 - governance folded into A2A | 3 - now redundant with A2A | 4 - BeeAI runtime | 5 - standard web auth | 3.3 |
The five criteria, weighted by how much they move a real build decision: Adoption (30%) is momentum measured in downloads, servers, stars, and named production users, because a protocol nobody ships is a science project. Maturity and governance (25%) rewards a stable, dated specification under a neutral steward over a fast-moving vendor draft. Scope fit (20%) asks whether the protocol owns a clear, genuinely needed layer or overlaps something you already have. Platform support (15%) is how many SDKs, frameworks, and clouds you can actually reach it from. Security and enterprise readiness (10%) captures the auth model and how much of the attack surface the spec closes. MCP tops the table because it has decisively won the tool layer; A2A is a strong second that owns agent-to-agent coordination but is younger and more contested. Everything below them either sits on top of that pair or targets an adjacent layer where no winner has yet emerged.
1. First principles: why agent protocols exist at all
Start with the structural question, not the surface one. The surface question is "MCP or A2A?" The structural question is: what actually changes when a language model stops being a chatbot and becomes an agent? A chatbot produces text. An agent takes actions in the world: it reads a database, files a ticket, sends an email, deploys code. The moment a model needs to act, it needs a way to reach the thing it is acting on, and that thing was almost never designed to be driven by a probabilistic text generator. Every integration became a bespoke bridge between a model and an API, a file system, or another program.
This is the MxN problem, and it is the root cause both protocols exist to solve. If you have M AI applications and N external systems, the naive approach requires M times N custom connectors, each one written, tested, secured, and maintained separately. Anthropic framed MCP as the fix for exactly this when it open-sourced the protocol on November 25, 2024 - Anthropic, describing it as a "USB-C port for AI": one standard socket so any compliant model can reach any compliant tool. Collapse M times N into M plus N, and the combinatorial explosion disappears. We have unpacked why standardizing the model-to-tool boundary matters in our guide to making LLMs autonomous, and the same logic drives the newer agent protocols.
It is worth asking why this needed a new standard at all, since function calling already existed. The answer is that vendor function calling solved the problem inside one model's walls: OpenAI functions worked with OpenAI, and there was no shared way for an arbitrary tool to announce itself to an arbitrary model. Earlier attempts at openness, like the ChatGPT plugin store, were single-vendor and short-lived. MCP's insight was to make the tool the unit of standardization rather than the model, so a database team could publish one server and have it work with Claude, ChatGPT, Gemini, Cursor, and a dozen IDEs without negotiating with any of them. That inversion, standardize the capability and let every model consume it, is the same move HTTP made for documents and USB made for peripherals, and it is why the network effect compounded so fast once the major models agreed to speak it.
The second, subtler force is that there are two different boundaries to standardize, not one, and this is the single most important idea in this entire guide. When one agent reaches down to a tool, that is a vertical relationship: the agent is the caller, the tool is a passive capability, and the agent sees the tool's full schema. When one agent reaches across to another agent, that is a horizontal relationship: both sides are autonomous, each may hide its internal logic, and the interaction is a negotiation between peers rather than a function call. These two axes have genuinely different requirements. A tool call is stateless and synchronous. A conversation between two agents may run for hours, stream partial results, and preserve each party's private reasoning. Trying to force both onto one protocol is like insisting that a screwdriver and a handshake are the same gesture because both involve your hand.
That structural split is why the field converged on two anchor standards rather than one, and why treating them as competitors is a category error:
- MCP occupies the vertical axis: how a single agent discovers and calls tools, reads resources, and loads prompts.
- A2A occupies the horizontal axis: how independent agents, often built by different companies, discover each other and collaborate.
- Everything else (payments, discovery, identity, browser access) layers on top of, or plugs into, those two.
Once you internalize the vertical-versus-horizontal distinction, most of the confusion evaporates. A team asking "should we use MCP or A2A" is often really asking "do we have a tool-access problem or a multi-agent-coordination problem," and the honest answer for the majority of 2026 builds is "the first one, and only the first one." The rest of this guide gives you the detail to make that call precisely, starting with what each protocol actually is under the hood.
2. What MCP actually is in 2026
The Model Context Protocol is an open, JSON-RPC 2.0 based standard that defines a client-host-server architecture. The host is the AI application (Claude, an IDE, a custom agent). Inside it, a client maintains a one-to-one connection to each server, and a server is a small program that exposes capabilities: tools (functions the model can call), resources (readable data like files or API responses), and prompts (reusable templates). That is the whole conceptual core. Its power comes not from complexity but from the fact that any compliant host can talk to any compliant server without either side knowing about the other in advance. For a hands-on build, our companion piece on the MCP 2026 spec and its stateless apps and tasks walks through the newest revision in depth.
What makes MCP a moving target, and what you must get right in any 2026 discussion, is that the specification is date-versioned and has iterated fast. There have been five dated revisions: the original 2024-11-05 (JSON-RPC, tools/resources/prompts, stdio and HTTP+SSE transports), 2025-03-26 (which introduced OAuth 2.1 and replaced HTTP+SSE with Streamable HTTP), 2025-06-18 (structured tool output and elicitation), 2025-11-25 (OpenID Connect discovery, hardened authorization), and the current 2026-07-28 revision - MCP blog. If you read anything that calls an older date the "current" spec, it is out of date. The 2026-07-28 release is the largest rewrite since launch, and its headline change matters enormously for cost and operations, which we return to in section 9.
The 2026-07-28 spec re-architects MCP into a stateless request/response core. It eliminates the old initialize handshake and the Mcp-Session-Id, so each request independently carries its own protocol version, client identity, and capabilities - MCP blog. It also formalizes a lifecycle policy: features move through Active, Deprecated, and Removed with a minimum 12 months between deprecation and removal, and in this release the legacy HTTP+SSE transport plus the Roots, Sampling, and Logging primitives were deprecated on that clock. Longer-running work (Tasks) and server-rendered UI (MCP Apps) were moved into a governed extensions framework rather than bloating the mandatory core. The practical upshot is that MCP is maturing from a fast-moving experiment into a versioned standard with real backward-compatibility guarantees.
It helps to see the primitives as a small, deliberate vocabulary rather than a grab bag. Tools are model-controlled actions the agent decides to invoke. Resources are application-controlled data the host can attach to context, closer to a file or an API response than to a function. Prompts are user-controlled templates a host can surface as slash commands. The 2025-06-18 revision added elicitation, which lets a server pause mid-call to ask the user for missing input, and the 2026 line moved interactive, server-rendered UI into an MCP Apps extension built jointly with OpenAI - MCP blog. The reason this vocabulary matters is control: each primitive assigns authority to a different party (model, application, or user), which is exactly the separation a security-conscious agent needs and, as section 8 shows, exactly the separation attackers try to collapse.
MCP also grew the connective tissue an ecosystem needs. The official MCP Registry launched in preview on September 8, 2025 as a canonical, open catalog and API for discovering servers, backed by Anthropic, GitHub, PulseMCP, and Microsoft - MCP blog. It verifies who published a server through GitHub or DNS ownership, and sub-registries build on top of it, though as we will see it deliberately does not vouch for how a server behaves. Alongside it sit a slimmed reference-server set and ten official SDKs across three support tiers, a sign of an ecosystem shifting from a handful of Anthropic-maintained examples toward thousands of vendor-maintained servers.
For the best official explanation of why MCP exists and how the primitives fit together, Anthropic's own walkthrough (featuring MCP creators David Soria Parra and members of the team) is the primary source worth watching before you build.
Governance shifted decisively in late 2025. Anthropic donated MCP to the Linux Foundation's new Agentic AI Foundation (AAIF) on December 9, 2025 - Anthropic, a neutral body co-anchored by Block's goose agent and OpenAI's AGENTS.md, with eight Platinum members: AWS, Anthropic, Block, Bloomberg, Cloudflare, Google, Microsoft, and OpenAI. Day-to-day technical control stays with the lead maintainers, while the foundation handles strategy, a clean split modeled on how the CNCF governs Kubernetes. By May 2026 the foundation had grown to 190 member organizations - Linux Foundation. The signal is unmistakable: MCP is no longer "Anthropic's protocol," it is an industry standard with vendor-neutral custody.
The adoption numbers are the reason MCP tops the scorecard, though they demand a skeptic's eye. Anthropic reported 10,000+ active public servers and 97 million monthly SDK downloads in December 2025, a figure that grew to 400 million monthly downloads by the 2026-07-28 release - Claude. Crucially, the biggest rivals adopted it: OpenAI committed in March 2025 across its Agents SDK, Responses API, and ChatGPT - TechCrunch, Google DeepMind followed in April 2025 for Gemini, and Microsoft baked native MCP support into Windows 11. When a standard invented by one lab is embraced by its two largest competitors within four months, that is not marketing, that is a genuine coordination equilibrium.
Here is a minimal but real MCP server. The official Python SDK (installed with uv add "mcp [cli]", currently mcp [cli]>=1.26.0) uses FastMCP, which turns type hints and docstrings into a tool schema automatically:
from mcp.server.fastmcp import FastMCP
# Initialize the server
mcp = FastMCP("weather")
@mcp.tool()
async def get_forecast(latitude: float, longitude: float) -> str:
"""Get the weather forecast for a location.
Args:
latitude: Latitude of the location
longitude: Longitude of the location
"""
# ... call a weather API, format the result ...
return "Sunny, 24C, light wind."
if __name__ == "__main__":
mcp.run(transport="stdio")
That is the entire surface a developer touches to publish a capability the whole ecosystem can consume. The one visual worth studying is not in the code but in the numbers behind it: MCP's download curve is the steepest adoption ramp any AI-infrastructure standard has posted.
3. What A2A actually is in 2026
If MCP is how an agent reaches its tools, A2A is how one agent reaches another. Google announced the Agent2Agent Protocol on April 9, 2025 with more than 50 launch partners, then donated it to the Linux Foundation on June 23, 2025 - Linux Foundation, where it became a vendor-neutral project with founding members Google, AWS, Cisco, Microsoft, Salesforce, SAP, and ServiceNow. The defining word in A2A's design is opaque: it lets agents built by different vendors collaborate on their advertised capabilities without exposing internal memory, proprietary logic, or tool implementations. That single constraint explains almost every design choice, because you cannot treat a partner's autonomous agent the way you treat your own function.
The technical model is small and readable. An agent publishes an Agent Card, a JSON document served at /.well-known/agent-card.json that advertises its identity, skills, endpoint, and authentication requirements. Work is wrapped in a stateful Task with a defined lifecycle. Communication happens through Messages (a turn in the conversation) and Artifacts (the agent's output), both built from Parts (text, files, or structured data) - A2A spec. The wire format is JSON-RPC 2.0 over HTTPS, with Server-Sent Events for streaming partial results and webhook push notifications for long-running work. The current stable specification is v1.0, tagged in March 2026, the first production-ready release after a year on the v0.x line - A2A releases.
Two design details are worth drawing out, because they are where A2A earns its keep over a plain tool call. First, push notifications: for tasks that outlast a reasonable connection, an agent can call a webhook when its state changes, so a days-long job does not require the client to hold a socket open or poll forever. Second, enterprise auth by reuse: rather than invent credentials, A2A leans on OAuth 2.0, OpenID Connect, API keys, and mutual TLS, so it slots into an organization's existing identity stack. The Linux Foundation reported first-year production use concentrated in supply chain, financial services, insurance, and IT operations - Linux Foundation, the domains where a task genuinely spans systems and hours and where the counterpart is often another company's agent. That is the shape of problem A2A was built for, and it is narrower than the general enthusiasm suggests.
Google's own introduction is the cleanest official explainer of the model, and it is the right companion to the Anthropic MCP video above so that each protocol is introduced by its creator rather than a commentator.
A minimal Agent Card shows how little ceremony discovery requires. A remote agent simply hosts this JSON at its well-known path, and any A2A client can fetch it, read the declared skills and security schemes, and decide whether and how to delegate:
{
"name": "Invoice Reconciliation Agent",
"description": "Matches supplier invoices against purchase orders.",
"url": "https://agents.example.com/reconcile",
"version": "1.0.0",
"protocolVersion": "1.0",
"capabilities": { "streaming": true, "pushNotifications": true },
"defaultInputModes": ["text/plain", "application/json"],
"skills": [
{ "id": "reconcile", "name": "Reconcile invoices",
"description": "Compare an invoice to its PO and flag mismatches." }
],
"securitySchemes": { "oauth2": { "type": "oauth2" } }
}
A client then delegates by sending a JSON-RPC message/send call, and the receiving agent returns a Task whose status.state walks a defined lifecycle: submitted, then working, optionally pausing at input-required or auth-required, and ending in a terminal completed, failed, canceled, or rejected - A2A spec. That lifecycle is the heart of why A2A is not just "an API call": a task can legitimately run for hours or days, stream updates the whole time, and pause to ask a human for more input, none of which a synchronous tool call models well.
The governance and adoption trajectory mirrors MCP's, one quarter behind. A2A's authentication reuses standard web schemes (API keys, OAuth 2.0, OpenID Connect, mutual TLS) rather than inventing its own, and v1.0 modernized OAuth by dropping implicit and password grants in favor of device-code and PKCE flows. By its first anniversary the protocol reported 150+ organizations, five production SDK languages (Python, JavaScript, Java, Go, .NET), and integrations in every major cloud - Linux Foundation. The honest caveat, which we return to in section 5, is that "supporting organization" means a logo on a press release, not a production deployment, and A2A's real-world footprint is younger and thinner than its star count suggests. The supporter curve is real, but read it as reach, not revenue.
4. MCP vs A2A: the head-to-head
Now put them side by side. The cleanest way to see the relationship is the canonical stack diagram: a user talks to Agent A over A2A, Agent A delegates to Agent B over A2A, and Agent B reaches its tools over MCP. A2A is the horizontal layer between peers; MCP is the vertical layer beneath each agent. They meet at the agent, which is simultaneously an A2A participant and an MCP host.
The feature-level contrast makes the division of labor concrete. These are not competing implementations of the same idea; they are different answers to different questions, and every row below reflects a deliberate design choice rather than an accident of history.
| Dimension | MCP (Model Context Protocol) | A2A (Agent2Agent Protocol) |
|---|---|---|
| Relationship | Vertical: agent to tool | Horizontal: agent to agent |
| Created by | Anthropic, Nov 2024 | Google, Apr 2025 |
| Steward | LF Agentic AI Foundation | LF, A2A Project |
| Core object | Tool, resource, prompt | Agent Card, Task, Artifact |
| State | Stateless call/response (2026-07-28) | Stateful, long-running tasks |
| Discovery | Server exposes schema up front | Dynamic, via Agent Card |
| Transport | stdio, Streamable HTTP | JSON-RPC/HTTPS, SSE, push |
| Current version | 2026-07-28 | v1.0 (Mar 2026) |
| What the other side sees | Full tool schema | Only advertised skills (opaque) |
The opacity row is the deepest difference and the one most worth dwelling on. When an MCP host connects to a server, it sees every tool's full input schema, because the server is a passive extension of the host's own capability. When an A2A client connects to a remote agent, it sees only the skills the agent chooses to advertise, because that agent is an independent actor that may be a competitor, a paid third party, or a system with its own security boundary. MCP assumes the tool is yours; A2A assumes the agent is someone else's. That single assumption cascades into statefulness (peers negotiate over time), streaming and push (long tasks need progress updates), and dynamic discovery (you learn a peer's abilities at runtime, not compile time). We explored the orchestration patterns this enables in our guide to the multi-agent landscape.
For a rigorous head-to-head from a source that owns neither protocol, IBM's technical channel published a clean 2026 breakdown that mirrors the "agent-to-tool versus agent-to-agent, complementary not competing" thesis, and it is the best single video to watch at exactly this point in the decision.
The interoperability payoff is what makes the "complementary" claim more than a slogan, and it is worth walking through one concrete architecture. Imagine an orchestrator agent that receives a request to close the monthly books. It uses A2A to delegate sub-tasks to a specialist reconciliation agent and a specialist reporting agent, each built and hosted by a different team. Internally, the reconciliation agent uses MCP to reach its ledger database, its ERP system, and a currency-conversion tool. The orchestrator never sees the reconciliation agent's tools or logic; it only sees the Task move from working to completed. This is the reference pattern the whole industry converged on, and the following diagram captures why the two protocols slot together rather than collide.
The subtle payoff of that diagram is that the same process plays two roles at once. The reconciliation agent is an A2A server to the orchestrator above it and an MCP host to the tools below it, in the same runtime, at the same moment. That is why "MCP versus A2A" is a false binary at the system level: a well-built agent speaks both, downward to its tools and upward to its peers. Where teams want to deliberately blur the line, bridge adapters already exist that expose an A2A agent as an MCP server (the "agent-as-tool" pattern) or route MCP traffic to an A2A endpoint, so you are never truly locked into one wire format. The practical advice that falls out of this is to design your agent with a clean internal core and treat both protocols as interchangeable edges: MCP for the capabilities it consumes, A2A for the peers it collaborates with, and adapters at the seams when a specific integration demands it. Get that separation right and the whole "which protocol" debate shrinks from an architecture decision into a wiring detail, which is exactly where you want it.
5. The counter-narrative: do you actually need A2A?
Good analysis pressure-tests its own conclusion, so here is the strongest case against reaching for A2A, and it is more persuasive than the consensus admits. The core objection is simple: an agent can just be exposed as an MCP server. If you wrap a remote agent so that it looks like a tool, then one agent can call another using the protocol you already have, and the entire second standard looks redundant. This "agent-as-tool" pattern is real, it works today, and for a large share of use cases it is genuinely sufficient. The question is not whether it is possible but where it breaks.
The most-cited voice on this side is Solomon Hykes, the creator of Docker, who wrote on the day A2A launched that although the two protocols can coexist in theory, "in practice I foresee a tug of war" - Koyeb, because developers can only invest in so many ecosystems, and the boundary is dissolving as tools become more agentic and agents become more tool-like. A related critique from practitioners is one of sequencing: A2A "arrived before most teams had even solved basic tool access, prompt injection, observability, and cost control for single-agent systems" - Glukhov. In other words, most teams reaching for a multi-agent mesh have not yet earned the complexity.
That phrase, earned the complexity, deserves unpacking, because it is the practical heart of the skeptic's case. Before an agent can safely coordinate with peers, it needs to reliably call its own tools, resist prompt injection, stay within a token and latency budget, and be observable enough to debug when it misbehaves. Those are hard, unglamorous problems, and most teams have not solved them for a single agent. Adding A2A on top multiplies every one: now injection can arrive from a peer's Agent Card, cost compounds across hops, and a failure can originate in a system you neither own nor can inspect. The sequencing argument is not that A2A is bad, it is that distributed multi-agent coordination is a capstone, not a starting point, and teams that skip the prerequisites tend to build impressive demos that fall over in production.
The defenders of A2A answer with four things a plain tool call genuinely cannot do, and honest analysis has to weigh them rather than wave them away. A wrapped-agent-as-tool fails on opacity (a tool exposes its full schema; an Agent Card advertises only skills), on statefulness (MCP's call/response versus A2A's hours-long task lifecycle), on native long-running work (SSE plus webhook push, versus tool calls that were designed to return quickly), and on dynamic discovery (learning a peer's capabilities at runtime) - Augment Code. Each is a real gap. The catch is that the gap is narrowing, because MCP itself has been adding long-running Tasks and elicitation, eroding precisely the differences A2A was created to fill.
Where does first-principles reasoning land? The redundancy debate is genuinely unresolved, but the practical verdict is not: for the overwhelming majority of teams in 2026, the answer is MCP first, A2A only when you truly have independent agents from different owners that must coordinate. If your "multiple agents" all live in one codebase, share one deployment, and are written by one team, you do not have an agent-to-agent problem, you have a function-call problem dressed up in distributed-systems clothing, and A2A will cost you latency and tokens for interoperability you are not using. A2A earns its place at exactly one boundary: across organizational or trust lines, where the other agent is genuinely opaque and genuinely not yours. That is a real and growing category, but it is far smaller than the hype implies.
6. The wider protocol landscape
Framing 2026 as a two-horse race is inaccurate, and a definitive guide has to map the full field, because the layers above and beside MCP and A2A are moving fast. The consolidation story is clear at the two anchor layers and genuinely open everywhere else. In the agent-to-agent layer, the one serious peer competitor already folded: IBM's Agent Communication Protocol (ACP) formally merged into A2A under the Linux Foundation in August 2025, with the ACP team winding down independent development and contributing its technology to A2A directly - LF AI & Data. ACP is why the scorecard lists it last: it is no longer a live choice, it is A2A now. That merger is the clearest signal that the agent-to-agent layer has a winner.
The discovery and identity layer, by contrast, has no winner, and this is where the next battle is being fought. Two credible efforts compete to answer "how does an agent find and trust another agent it has never met." AGNTCY, a Cisco-led "Internet of Agents" effort backed by LangChain and Galileo, joined the Linux Foundation in July 2025 with 65+ supporting companies and ships a directory (OASF), an Agent Connect Protocol, and a messaging transport (SLIM), all explicitly interoperable with MCP and A2A rather than replacing them - Linux Foundation. From academia, MIT's Project NANDA proposes a "DNS for agents": a globally distributed index mapping an agent handle to cryptographically verifiable AgentFacts, protocol-neutral across MCP, A2A, and plain HTTPS - MIT Media Lab. Both are early. Both matter more than their current adoption suggests, because discovery and identity are the unsolved prerequisites for any open agent economy.
A quick word on a naming trap that catches even careful readers: there are two different "ACP"s. The one that merged into A2A is IBM and BeeAI's Agent Communication Protocol, and it is unrelated to the Agent Connect Protocol that lives inside Cisco's AGNTCY discovery stack and is very much alive. Similarly, LangChain's "Agent Protocol" is not a cross-agent interop standard at all but a narrow, framework-agnostic API for serving a single agent over HTTP (runs, threads, and memory), and LangChain itself now backs A2A and AGNTCY for interoperability - LangChain. The proliferation of similarly named specifications is itself a symptom of how young this field is, and it is a reason to anchor on the two standards that have clearly won their layers rather than chasing every announcement.
The payments layer is newer still and openly multi-horse, which is why two payment protocols sit mid-table. Google launched the Agent Payments Protocol (AP2) on September 16, 2025 with 60+ partners including Mastercard, PayPal, American Express, and Coinbase, built as an extension usable with both A2A and MCP, and anchored on cryptographically signed Mandates that create a non-repudiable record of user authorization - Google Cloud. Riding alongside it, the x402 extension (from Coinbase, with the Ethereum Foundation and MetaMask) revives the dormant HTTP 402 "Payment Required" status code so agents can settle per-request in stablecoins without a human in the loop - Coinbase. We go deep on this emerging money layer in our guides to agent payments infrastructure and the x402 payments standard, and the broader shift is covered in our Tempo and agentic payments analysis.
Two more entries round out the map, and both reinforce rather than challenge MCP's dominance of the tool layer. Microsoft's NLWeb (from Build 2025) lets any website expose its content to agents in natural language, and crucially every NLWeb instance is also an MCP server, so it is an application of MCP, not an alternative to it - Microsoft. The nascent WebMCP effort, a W3C community-group incubation that reached a Chrome origin trial in early 2026, extends the same tool paradigm into the browser via a navigator.modelContext API. The pattern is consistent: the tool layer keeps accreting extensions on top of MCP, while the agent-to-agent layer consolidates on A2A, and the still-open fights are one layer up (discovery, identity) and one layer over (payments). The stack, drawn out, looks like this.
7. Who supports what: the platform matrix
Protocols only matter if the tools you already use speak them, and by 2026 nearly every major framework and cloud advertises both, though with a real maturity gap. The clearest pattern is that MCP support is broadly generally available and battle-tested, while A2A support is newer, often shipping a quarter or two behind MCP and sometimes still labeled preview. Reading a vendor's changelog carefully matters, because "supports A2A" can mean anything from a deeply native orchestration engine to a single endpoint that exposes an agent to outside callers.
The two protocol authors sit at opposite corners and reveal the political map. Anthropic is MCP-native by definition; its Claude Agent SDK, the engine behind Claude Code, ships first-class MCP support and no native A2A, relying on community bridges to reach A2A agents (we cover that toolchain in our Claude Agent SDK deep dive). OpenAI adopted MCP in March 2025 across its Agents SDK and Responses API and backs A2A politically, but ships no native A2A in its own stack - OpenAI. Google, the A2A champion, makes its Agent Development Kit (ADK) natively A2A-capable while also consuming MCP tools. The takeaway: the two labs that created the protocols each lead on their own and merely tolerate the other's, while the neutral platforms support both.
The clouds and open-source frameworks are where "both" is real, and the split is instructive:
- AWS Bedrock AgentCore (GA October 2025) divides the job cleanly: its Gateway speaks MCP, its Runtime hosts A2A agents - AWS.
- Microsoft unified AutoGen and Semantic Kernel into the Microsoft Agent Framework (GA April 2026) with MCP generally available but A2A still "coming soon" - Microsoft.
- Copilot Studio shipped MCP in October 2025 and reached A2A general availability in April 2026 - Microsoft Learn.
- Cloudflare is a pure MCP-hosting play, exposing 2,500+ of its own API endpoints through a single MCP server.
- IBM's BeeAI and open frameworks LangGraph and CrewAI are MCP- and A2A-native, per the Linux Foundation's list of frameworks with native A2A support.
The pattern beneath the list is that MCP won by default and A2A is winning by roadmap. Where a vendor ships one first, it is almost always MCP, because tool access is the problem every team hits immediately, while agent-to-agent coordination is the problem teams hit later, if at all. This is also visible in the raw momentum: MCP's server repository carries roughly 89,000 GitHub stars to A2A's 25,000, and MCP's official registry sits around 7,000 - GitHub. If you are choosing a framework, the practical rule is that anything modern will give you MCP today and A2A soon, and our comparison of LangGraph, CrewAI, and AutoGen breaks down how each handles the protocol plumbing.
The best evidence that this plumbing pays off is Block, the fintech behind Square and Cash App, which rebuilt its open-source agent goose as an extensible MCP client and rolled it out to all 12,000 employees across 15 job functions in two months, with roughly 75% of engineers reporting 8 to 10 hours saved per week - The New Stack. The number that matters is not the hours but the spread: because MCP standardized tool access, Block reached fraud analysts, sales, and customer service, not just engineers, from one protocol foundation. That is the network effect a shared standard is supposed to produce, and it is why Block co-anchors the Agentic AI Foundation alongside Anthropic and OpenAI.
Adoption numbers, though, demand a skeptic's discipline, because the most-quoted MCP statistic is also the most abused. Depending on the aggregator, the count of public MCP servers in 2026 ranges from about 9,600 on the official registry to over 22,000 on Glama, with others landing in between - digitalapplied. Each counts something different (registry entries, deduplicated servers, GitHub topic tags), and by most accounts the majority are thin wrappers, forks, or abandoned repositories. A more defensible signal is a 2026 survey finding 41% of software organizations running MCP servers in production. The lesson for anyone evaluating the ecosystem is to treat raw server totals as reach, not maintained capability.
For a builder who does not want to manage any of this plumbing, managed platforms sit above the protocol layer entirely. Enterprise agent suites like Salesforce Agentforce, which made hosted MCP servers generally available in April 2026, handle the servers, auth, and identity for you (we cover deployment in our Agentforce guide). Autonomous-company builders such as O-mega take the same idea further up the stack: rather than exposing protocol primitives, they let you describe an outcome and assemble the agents, tools, and connections behind the scenes, so the MCP-versus-A2A decision is made for you by the platform rather than by your engineers. That is a legitimate third option alongside "wire it yourself with a framework" and "buy an enterprise suite," and which one fits depends on how much control you need, a trade-off we quantify in section 10.
8. Security, trust, and the layer nobody has solved
Neither protocol has solved its hardest problem, and pretending otherwise is the fastest way to ship a breach. The two standards have opposite security architectures, and disclosures through 2025 and 2026 exposed both. MCP's weakness is architectural: it mixes untrusted instructions and data in the same context window, so a malicious server can attack the model before any tool is called. A2A's weakness is one of trust: it treats remote agents as opaque and delegates authentication to implementers, so a poisoned Agent Card can hijack a host's reasoning. If you take one thing from this section, take this: signatures and registries verify identity, not intent, and prompt-injection classes remain unsolved at the architecture level.
The MCP attack catalog is now well documented, and it is worth knowing by name. Trail of Bits described "line jumping," where a server injects a payload through a tool description that manipulates the model the instant it lists tools - Trail of Bits. Invariant Labs demonstrated "tool poisoning" (hidden instructions in a tool description that a user never sees but the model obeys) and the "rug pull" (a server that mutates a description after the user has approved it), and separately showed a GitHub MCP "toxic agent flow" that exfiltrated private-repo data through a malicious public issue - Invariant Labs. The chilling detail is that model alignment does not stop these: even frontier models stayed vulnerable, because the attack targets the context window, not the model's judgment. Our dedicated guide to prompt injection defense covers the mitigations in depth.
Real incidents followed the research, which is how you know these are not theoretical. CVE-2025-49596, a CVSS 9.4 remote-code-execution flaw in Anthropic's own MCP Inspector, let a malicious website run commands on a developer's machine before it was patched in version 0.14.1 - Oligo Security. In September 2025, Postmark-MCP became the first malicious MCP server found in the wild: an npm package that stayed clean for fifteen releases, then added a single line to secretly BCC every outgoing email to an attacker - The Hacker News. And in mid-2026, Microsoft warned that a poisoned tool description alone can hijack an agent and exfiltrate data without tripping alarms, citing a benchmark where tool-poisoning attacks succeeded up to 72.8% of the time and models "almost never" refused - The Hacker News.
Not every alarm is settled fact, and the responsible move is to flag disputes as disputes. In April 2026, security vendor OX Security published a widely covered advisory it called the "Mother of All AI Supply Chains," claiming a systemic command-execution default across the official MCP SDKs affecting up to 200,000 instances - The Register. Anthropic characterized the behavior as by design, with input sanitization the developer's responsibility, making this a contested framing rather than an acknowledged vulnerability. What is not disputed is the trajectory: Gartner projects that by 2027, security incidents such as prompt injection and misconfiguration will affect more than 40% of enterprise MCP deployments. The specifications will keep hardening, but the architectural truth stands, so treat every MCP server and every A2A agent as an untrusted boundary and put runtime access controls, not just spec compliance, between it and your data.
The specification has hardened in response, and this is the good news. The current MCP auth model makes each server an OAuth 2.1 resource server, mandates audience-bound tokens (a client must send a resource parameter, and a server must reject tokens not issued for it), forbids token passthrough, and adds explicit mitigations for confused-deputy, SSRF, and session-hijacking attacks - MCP spec. A2A's answer is signed Agent Cards using JWS, which let a receiver verify a card came from the claimed domain, though signing is optional in the spec, and researchers have already demonstrated "Agent Card poisoning," the A2A analog of tool poisoning, where adversarial text in a card becomes executable instruction in the host's reasoning - Keysight. The deepest unsolved problem sits at the registry: MCP's official registry verifies who published a server (via GitHub or DNS ownership) but not whether it behaves, and a signature proves issuer, not benign intent.
9. Cost, performance, and running it in production
The protocols are free and open; the bill is model tokens plus hosting, and at scale the token bill is where builds go wrong. Hosting a remote MCP server is genuinely cheap: it runs for roughly zero to five dollars a month on Cloudflare Workers or AWS Lambda free and entry tiers - KanseiLink. The dominant, variable cost is the tokens the model consumes, and the single biggest driver of that cost is a problem most teams do not see coming: too many tools. Every MCP tool definition is loaded into the model's context before the first user message, at roughly 200 to 500 tokens each, and real stacks routinely burn tens of thousands of tokens on definitions alone.
The evidence here is strong and converges from Anthropic's own engineering. A five-server example with 58 tools totals about 55,000 tokens before a conversation even starts, and Anthropic's internal tool set consumed 134,000 tokens before optimization - Anthropic. Worse, bloat does not just cost money, it degrades accuracy: the RAG-MCP research found tool-selection accuracy collapsing to 13.6% with a bloated tool set versus 43.1% when a retrieval layer selects only relevant tools first - arXiv. Practical degradation tends to begin around five to seven connected servers, and GitHub cut its Copilot MCP integration from 40 tools to 13 for a measurable accuracy gain and 400ms lower latency. The lesson is counterintuitive but firm: thoughtful tool curation beats comprehensive tool availability.
The fixes are now well understood, and they are the reason this is a solvable problem rather than a dealbreaker. Anthropic's Tool Search Tool defers loading definitions and discovers them on demand, cutting token use by about 85% (from roughly 77,000 to 8,700 tokens) while lifting accuracy - Anthropic. More broadly, a gateway ecosystem has emerged (Docker MCP Gateway, Solo.io's agentgateway, AWS AgentCore Gateway, Cloudflare) that multiplexes many servers behind one endpoint and adds auth, filtering, and observability; we survey it in our LLM tool gateways guide. This is also why the 2026-07-28 stateless spec matters commercially: by removing session IDs and the handshake, it makes an MCP server a plain HTTP workload you can put behind a round-robin load balancer on serverless or edge, cutting hosting complexity.
Two further techniques round out the cost toolkit and point at the operational maturity the space still needs. Programmatic Tool Calling lets the model write code that calls tools in a sandbox and returns only the final result to context, which cut average usage on complex research tasks from about 43,600 to 27,300 tokens - Anthropic. And the multi-agent payoff, when the economics justify it, is real: Anthropic's orchestrator-plus-subagents design beat a single agent by 90.2% on an internal research evaluation. The missing piece is day-two operations: tracing a request across MCP tool calls and A2A hops, versioning and deprecating a server without breaking clients, and evaluating an agent's behavior over time. Emerging OpenTelemetry conventions for agents and gateway-level observability tools are starting to fill that gap, but this remains the least mature part of the stack, and teams that skip it discover their costs and failures only after they have shipped.
The A2A side of the cost story is bigger in magnitude and easier to underestimate. Multi-agent systems are token-hungry by construction: Anthropic measured that agents use roughly 4x the tokens of a chat interaction and multi-agent systems about 15x, with token usage alone explaining 80% of performance variance - Anthropic. Every A2A hop hands off token spend, so a naive agent swarm can run away on both cost and latency without per-task token budgets and tracing. The practical guidance is unambiguous: multi-agent architectures only pay off when the task is high-value, parallelizable, and breadth-first, and they are a bad fit when agents must share context or have many dependencies. We break down the full economics in our report on the true cost of AI agents and on cutting spend through model routing.
10. How to choose: a decision framework
The title of this guide is a promise, so here is the concrete chooser. Strip away the marketing and the decision comes down to a handful of questions about your system, not about which protocol is "better." Protocols are not better or worse in the abstract; they fit or do not fit a specific shape of problem. Work through these in order, because the first one resolves most cases before you reach the rest.
Ask, in sequence: Does your agent need to reach tools, data, or systems? If yes, you need MCP, and this is true for essentially every agent, so start here. Do you have multiple agents that are owned or built by different teams or companies and must coordinate across a trust boundary? Only if yes do you need A2A; if your "agents" share a codebase and a deployment, use function calls or a framework's internal orchestration instead. Does a task run for hours, stream progress, or pause for human input? That favors A2A's stateful task model. Do agents transact money? Layer in AP2 or x402 on top. Do you need agents to find each other dynamically across the open web? You are in the still-unsettled discovery layer (AGNTCY, NANDA), where you should expect to build custom for now.
The honest default, stated plainly because most guides bury it: start with MCP only. Add A2A the day you have a genuine cross-owner, cross-trust-boundary coordination need, and not a day sooner. The failure mode we see most often is teams adopting a distributed multi-agent architecture for what is really a single-agent-with-tools problem, paying the 15x token multiplier and the operational overhead of a mesh to solve something one well-instrumented agent would have handled. Complexity is a cost you pay every day in tokens, latency, and debugging, so the burden of proof sits with the more complex option.
Make it concrete with a scenario. A mid-sized insurer wants to automate claims triage, and the tempting design is a swarm: an intake agent, a fraud agent, a policy agent, and a payout agent, all talking over A2A. Walk it through the chooser and a simpler answer appears. All four "agents" are built by one team, deployed together, and fully trusted, so there is no cross-owner boundary, which means no A2A. What they each need is tool access: the claims database, the fraud-scoring model, the policy engine, and the payments API, all reached over MCP and orchestrated by one agent (or a framework's internal graph) that curates a small, focused tool set to dodge the bloat cliff. The insurer ships in weeks on MCP alone. A2A enters only later, and only at a real seam: the day the triage agent must hand off to a reinsurer's independent, opaque agent across a company boundary. That is the pattern to look for, an outside agent you neither built nor control, and until it appears the multi-agent machinery is cost without benefit.
The build-versus-buy axis sits underneath all of this and deserves its own honest treatment. If you want maximum control and have the engineering capacity, wire the protocols yourself with a framework like LangGraph or CrewAI (our CrewAI alternatives roundup compares them). If you are an enterprise standardizing on a suite, Agentforce, Copilot Studio, or Bedrock AgentCore will manage the protocol layer for you. And if you want the outcome without touching the plumbing at all, an autonomous-company platform like O-mega abstracts the choice entirely by assembling the agents and connections for you. The right answer is a function of how much of the stack you want to own, and there is no shame in owning less of it than a protocol maximalist would. For a sense of where these choices land in practice, our roundup of the most popular use cases for agentic systems shows which patterns actually reach production.
11. The future outlook
Reason from the structure, not the headlines, and the trajectory becomes legible. The wire protocols are converging: MCP has won the tool layer, A2A has won the agent-to-agent layer, and ACP's merger into A2A shows the field actively collapsing duplicates rather than proliferating them. The genuine 2026 battleground is not the wire format at all; it is the meta-layers the wire protocols deliberately left open. Registry and discovery, identity and trust, and payments are where the next two years of competition will actually happen, because those are the layers that turn a pile of interoperable agents into a functioning economy, and none of them has a settled winner.
To see why discovery and identity are the real prize, follow the trust. A tool call assumes you already know the tool; an agent-to-agent economy assumes you can find a capable agent you have never met and trust that it is what it claims. That is the gap AGNTCY's directory and NANDA's verifiable AgentFacts are both racing to fill, and it is unsolved because it is genuinely hard: it needs a naming system, a revocation mechanism, a reputation layer, and an identity model for non-human actors, none of which the wire protocols provide. Whoever standardizes agent identity and discovery will hold a position analogous to DNS and certificate authorities on the human web, which is precisely why no single vendor has been allowed to win it yet. Expect this layer, not MCP versus A2A, to be the defining protocol fight of 2027.
The pace of standardization here is historically unusual and worth pausing on. In roughly eighteen months the space went from a single vendor's protocol to a multi-foundation, multi-layer stack with version numbers, governance boards, and adoption counts, a distance the early web took most of a decade to travel. That speed is a double-edged signal. It reflects real coordination among rivals who rarely agree on anything, which is genuinely bullish. It also reflects a land grab, where donating a protocol to a neutral foundation is partly a strategic move to make your standard the default before a competitor's can take hold. Both readings are true at once, which is why the smart posture is to build on the anchor standards while treating the contested layers as still in flux.
The counter-narrative belongs in any honest outlook, and Gartner supplies it. The same analysts who predict that 40% of enterprise applications will embed task-specific AI agents by the end of 2026 (up from under 5% in 2025) also predict that over 40% of agentic AI projects will be canceled by the end of 2027 on cost, unclear value, and weak risk controls - Gartner. Those are two sides of a hype-cycle bet, not a contradiction: adoption and disillusionment run together. Layer on the academic critique that none of these protocols can express governance (accountability, delegated authority, conflict resolution) - arXiv, and the picture is of a technical foundation that is racing ahead of the organizational and regulatory scaffolding it will eventually need.
So what should a builder actually do? The structural bet is safe: MCP and A2A are the anchor standards, and building on them is low-risk precisely because the industry has already coordinated around them. The tactical caution is equally clear: do not over-build. The 15x token multiplier of multi-agent systems, the tool-bloat accuracy cliff, and the unsolved security and identity layers are all reasons to start simple, instrument heavily, and add protocol complexity only when a concrete need forces your hand. This is the same discipline that separates the agentic projects that survive from the 40% Gartner expects to die, and it is the throughline of our guide to building AI agents and the broader shift toward self-improving systems.
A useful lens on all of this comes from Yuma Heymans (@yumahey), founder of the autonomous-workforce platform O-mega and co-founder of the AI recruiting company HeroHunt.ai, who has been shipping production agents since well before the protocol wars began. His recurring argument is that the interoperability standard matters far less than the outcome it enables, and that most teams win by building the simplest thing that works and letting the platform absorb the plumbing. That is the right note to end on: MCP and A2A are the plumbing of the agentic web, and plumbing is judged not by its elegance but by whether the water arrives.
The verdict
MCP and A2A are not competitors; they are the vertical and horizontal axes of the same stack. MCP standardizes how one agent reaches its tools, A2A standardizes how independent agents reach each other, and the two meet at the agent, which is an MCP host and an A2A peer at the same time. For 2026, the decision framework is simple: use MCP for nearly every agent, add A2A only when you have genuinely independent agents from different owners coordinating across a trust boundary, and layer payments or discovery protocols on top only when a concrete need appears. MCP has decisively won the tool layer with 400 million monthly downloads and universal vendor support; A2A has won the agent-to-agent layer under neutral Linux Foundation governance; and the real contests, discovery, identity, and payments, are still open. Build on the two winners, stay skeptical of the multi-agent hype, watch the security and cost cliffs, and you will be on the right side of both the adoption wave and the coming shakeout.
This guide reflects the AI agent protocol landscape as of August 2026. Specifications, versions, and adoption figures change quickly in this space (MCP alone shipped five spec revisions in under two years), so verify current details against primary sources before committing to an architecture.