Modern websites, ranked in AI searchCited by ChatGPT, Perplexity & Google AI OverviewsLower than your current SEO spendModern websites, ranked in AI searchCited by ChatGPT, Perplexity & Google AI OverviewsLower than your current SEO spendModern websites, ranked in AI searchCited by ChatGPT, Perplexity & Google AI OverviewsLower than your current SEO spendModern websites, ranked in AI searchCited by ChatGPT, Perplexity & Google AI OverviewsLower than your current SEO spend
Agentic AI

Agent-to-Agent Communication: How A2A Enables Agent Interoperability

A2A (Agent2Agent) is an open protocol that lets agents from different vendors discover each other, advertise capabilities, and delegate tasks across systems.

Space & Story Team·June 15, 2026·10 min read
A2A protocolagent interoperabilityagent-to-agent communicationAgent2Agentagentic design patternsmulti-agent systems

Based on Agentic Design Patterns by Antonio Gulli (Springer). All book royalties go to Save the Children.

Space & Story Team·June 15, 2026·10 min read
Agent-to-Agent Communication: How A2A Enables Agent Interoperability

Key Takeaway

A2A (Agent2Agent) is an open, Linux Foundation protocol that lets agents from different teams and vendors discover each other via Agent Cards and delegate tasks as stateful jobs. It is the agent-to-agent layer that complements MCP's agent-to-tool layer, and it is what makes multi-vendor agent ecosystems interoperable.

Why This Matters for Enterprise AI

Inside a single company, agents pile up fast. The sales org stands up a lead-research agent on one framework. Finance builds an invoice-reconciliation agent on another. A vendor ships a contract-analysis agent you bought off the shelf. Each one works in its own silo, and the moment you want them to cooperate, you are writing brittle glue code for every pair that needs to talk.

That is the problem A2A solves. The Agent2Agent protocol is an open standard that lets agents built by different teams, on different frameworks, by different vendors, discover one another and delegate work, without anyone hand-coding a custom integration for each connection. If Model Context Protocol (MCP) gave agents a universal way to reach their tools, A2A gives agents a universal way to reach each other.

What Is the A2A Protocol?

A2A (Agent2Agent) is an open protocol that standardizes how independent AI agents discover each other's capabilities, exchange messages, and hand off tasks across organizational and vendor boundaries. It originated at Google in 2025 and is now stewarded by the Linux Foundation as a vendor-neutral standard, which matters: an interoperability protocol owned by one company is a hard sell to its competitors.

The mental model is a professional network rather than a monolith. You do not need to know how another agent was built, what model sits behind it, or which framework it runs on. You need to know what it can do and how to ask. A2A defines that contract. One agent acts as a client that sends a task; another acts as a remote agent that does the work and reports back. Either agent can play either role depending on the request.

Two distinct agent nodes face each other across open space and exchange a glowing capability card and a task token along thin connecting lines, a depiction of how the A2A protocol lets agents from different systems discover and delegate to each other
A2A lets two independently built agents introduce themselves, agree on what each can do, and pass a task across the boundary, without either side knowing how the other was built.

The protocol leans on web standards teams already run in production: HTTP for transport, JSON-RPC for the message envelope, and Server-Sent Events for streaming long-running results. There is no exotic runtime to adopt. An agent becomes A2A-capable by exposing a few well-defined endpoints, which is part of why the standard spread quickly across frameworks like LangGraph, CrewAI, and Google's own Agent Development Kit.

Agent Cards: How Capability Discovery Works

Before two agents can collaborate, the client has to know the remote agent exists and what it offers. A2A handles this with the Agent Card, a small JSON document an agent publishes to describe itself.

An Agent Card is the agent's public résumé. It lists the agent's name, a description, the endpoint where it accepts tasks, the skills it offers, the input and output formats it accepts, and how a caller must authenticate. It typically lives at a predictable, well-known URL on the agent's domain, so a client can fetch it the same way a browser fetches a favicon, no prior arrangement required.

{
  "name": "Invoice Reconciliation Agent",
  "description": "Matches incoming invoices against purchase orders and flags discrepancies.",
  "url": "https://finance.acme.com/agents/invoice-recon",
  "version": "1.2.0",
  "capabilities": { "streaming": true },
  "defaultInputModes": ["text", "application/json"],
  "defaultOutputModes": ["application/json"],
  "skills": [
    {
      "id": "reconcile-invoice",
      "name": "Reconcile invoice against PO",
      "description": "Given an invoice and a PO number, return matched line items and flagged discrepancies."
    }
  ]
}

This is the discovery layer that makes interoperability possible. A client agent fetches the card, reads the skills block, and decides whether this remote agent can do the job at hand. Because the format is standardized, an orchestrator can scan a directory of Agent Cards and route a task to whichever agent advertises the right skill, even if that agent was written by a different vendor last week. Capability discovery is what separates a true protocol from yet another point-to-point API.

The Task Delegation Lifecycle

Once a client agent has found a suitable remote agent through its Agent Card, A2A defines a clear lifecycle for the work itself. The unit of collaboration is a Task, and it moves through predictable states.

  1. Initiation. The client sends a message to the remote agent's endpoint requesting a Task, including the goal and any input the remote agent needs. The remote agent accepts it and returns a Task ID.
  2. Working. The Task enters a working state. For anything long-running, the remote agent streams progress back over Server-Sent Events instead of forcing the client to block on a single response. The client can also poll the Task ID for status.
  3. Input required. A remote agent can pause and ask for more. If the invoice agent needs a missing PO number, it moves the Task to an input-required state and waits, rather than guessing or failing silently.
  4. Completion. The remote agent finishes and returns the result as one or more Artifacts, the protocol's term for structured outputs. A Task can produce a JSON report, a file, or plain text, whatever the skill declared it returns.
  5. Failure or cancellation. Tasks can fail or be cancelled, and the protocol surfaces that state explicitly so the calling agent can retry, reroute, or escalate.

Notice what this buys you. Delegation is asynchronous and stateful by design, which is exactly what multi-vendor work demands. A contract-analysis Task might take ninety seconds; the client should not hold a connection open and hope. The Task ID, the streamed updates, and the explicit states give both sides a shared, inspectable record of work in flight, the same way multi-agent systems need a coordination backbone once you move past a single agent.

A2A and MCP Solve Different Layers

The most common point of confusion is whether A2A competes with MCP, and it does not. They sit at different layers of the same stack, and a serious agent system usually runs both.

MCP is the agent-to-tool layer. It standardizes how a single agent connects to its tools and data: a database, a file store, a search API, a calculator. The agent stays in charge and treats the thing on the other end as a capability it calls. If you have read the entry on tool use in AI agents, MCP is the protocol that makes those tool connections universal instead of bespoke.

A2A is the agent-to-agent layer. It standardizes how one autonomous agent delegates to another autonomous agent that has its own reasoning, its own tools, and its own goals. The thing on the other end is not a passive tool you invoke; it is a peer you hand a task to and trust to figure out the how.

| | MCP | A2A | |---|---|---| | Connects | An agent to its tools and data | An agent to another agent | | Other side | A passive tool or data source | An autonomous peer agent | | Question answered | "How do I call this capability?" | "How do I delegate this task?" | | Interaction | Synchronous tool call | Asynchronous, stateful task |

A worked example makes the split concrete. A travel-planning agent uses MCP to query a flights database and a weather API directly, because those are tools. To book the actual trip, it sends an A2A Task to a specialist booking agent that holds the payment credentials and the airline integrations, because that is another agent with its own job. MCP handles "fetch me the data." A2A handles "go accomplish this for me." Most production architectures use MCP underneath each agent and A2A between agents.

Enterprise reality: Your finance team's invoice agent and your procurement vendor's contract agent were never going to share a codebase, a model, or a release cycle. With A2A, they do not have to. The contract agent publishes an Agent Card, the invoice agent reads it, and a Task crosses the boundary with authentication and an audit trail on both sides. The alternative is a custom integration that one team owns, the other team waits on, and security has to review line by line every time either agent changes.

Why Interoperability Matters for the Enterprise

The case for A2A is the case against lock-in. Most large organizations are not going to standardize every agent on one framework or buy every agent from one vendor, any more than they standardized every server on one operating system. They will have a mix, and that mix only delivers value if the pieces compose.

Without a shared protocol, every new agent multiplies your integration surface. Five agents that all need to talk is ten custom connections; ten agents is forty-five. That combinatorial explosion is the same trap MCP was built to escape on the tool side, and A2A escapes it on the agent side. Adopt the protocol once and any compliant agent can talk to any other, so the cost of adding the eleventh agent stays flat instead of compounding.

There is a competitive-moat angle too. An open, vendor-neutral standard under the Linux Foundation means betting on A2A is not betting on Google, or on any single provider staying dominant. That neutrality is what lets a procurement team approve it: the protocol outlives whichever framework happens to be ahead this quarter.

When to Reach for A2A (and When Not To)

A2A is the right tool when work actually crosses an agent boundary.

  • Reach for it when agents are built by different teams or vendors and need to cooperate without a shared codebase.
  • It earns its keep when a remote agent has its own autonomy, tools, and reasoning, and you want to delegate an outcome rather than call a function.
  • The asynchronous, stateful Task model fits long-running delegations where the remote agent may stream progress or pause to ask for input.

Some situations do not need it.

  • Skip it when an agent just needs to call a tool or data source. That is an MCP job, and wrapping a database query in an agent-to-agent protocol adds ceremony for nothing.
  • Skip it for tightly coupled sub-agents inside one framework that already share memory and state. Many multi-agent systems coordinate fine through their framework's native handoffs and only need A2A at the edges where they meet outside agents.
  • Skip it when a single agent with the right tools can finish the job. Do not invent a second agent just to have something to delegate to.

The honest test is whether there is a real boundary to cross. If two agents are independent enough that neither should know how the other works, A2A is the seam between them. If they are one system wearing two hats, a protocol handshake is overhead.

Key Takeaways

  • A2A (Agent2Agent) is an open protocol, originated at Google and stewarded by the Linux Foundation, that lets independently built agents discover each other and delegate tasks across team and vendor boundaries.
  • Agent Cards are the discovery layer: a standardized JSON document, published at a well-known URL, that advertises an agent's skills, endpoint, and authentication so a client can decide whether to delegate to it.
  • Delegation runs as a stateful Task that moves through initiation, working, input-required, and completion states, with streaming updates and structured Artifacts as output.
  • A2A complements MCP rather than competing with it. MCP connects an agent to its tools; A2A connects an agent to other agents. Production systems run both.
  • Interoperability matters because enterprises will always run a mix of frameworks and vendors, and a shared protocol keeps the cost of adding each new agent flat instead of compounding into custom integrations.

Is your site invisible to AI search?

Get a free AEO infrastructure audit and find out what your competitors are doing that you're not.

Get Your Free Audit
Quick answers

Frequently asked.