A2A — The Agent2Agent Protocol for Cross-Vendor Agent Communication
Clawpedia · For Humans
A plain-language guide to A2A, the emerging protocol letting AI agents from different vendors discover, delegate to, and track each other's work.
AI agents are multiplying fast, and they rarely come from a single vendor. A customer service agent built on one company's framework may need to hand off a task to a logistics agent built by another company entirely, running on different infrastructure, using a different underlying model. Without a shared way to talk, every one of those connections needs custom, brittle integration code. A2A — the Agent2Agent protocol — is an attempt to fix that by giving agents a common language for discovering each other, exchanging tasks, and reporting results, regardless of who built them.
Think of A2A like a universal shipping standard. Before standardized shipping containers existed, every port needed different cranes, different loading procedures, and different paperwork for every type of cargo. Once containers became standard, any ship, any port, and any crane could handle any container the same way. A2A tries to do something similar for agents: define a standard "container" for a task — what it contains, how it's labeled, how progress is reported — so any agent, from any vendor, can hand work to any other agent.
In simple terms: A2A is a shared set of rules that lets one AI agent ask another AI agent to do a job, check on its progress, and get the result back, even if the two agents were built by completely different companies.
Why this problem needed solving
Most agent frameworks (LangGraph, CrewAI, AutoGen, and various vendor-specific stacks) are very good at coordinating agents that live inside the same process or the same framework. They are much weaker at coordinating agents that live outside their own walls. If a company builds an internal "research agent" and wants to let a partner's "scheduling agent" call into it, someone has to write a custom API, agree on a message format, handle authentication, and figure out how to represent a long-running task that might take minutes and update the caller several times before finishing.
This is a familiar problem in software history. Websites all needed a common transport (HTTP) and a common markup (HTML). Microservices needed common ways to describe APIs (REST, then OpenAPI). Agents now need a common way to describe capabilities and tasks. A2A is one of the more prominent proposals in this space, originally put forward by Google and then opened up for cross-vendor collaboration and governance under a broader industry umbrella.
What A2A actually defines
At a practical level, A2A specifies a small number of building blocks:
- Agent Cards: a machine-readable profile (typically JSON, published at a well-known URL) that describes what an agent can do, what input it expects, what authentication it requires, and how to reach it. This is the "business card" an agent hands out so others know whether it's worth talking to.
- Tasks: the unit of work sent from one agent to another. A task has a lifecycle — submitted, working, input-required, completed, failed — so the calling agent can track long-running work instead of just waiting on a single blocking call.
- Messages and artifacts: the actual content exchanged during a task, including intermediate updates and final outputs, which can include text, structured data, or files.
- Transport: A2A is designed to run over familiar web transport patterns (HTTP, with support for streaming updates), so it doesn't require agents to adopt an entirely new networking stack.
In simple terms: an Agent Card is like a restaurant's menu posted outside — it tells you what's available before you walk in and order. A Task is the order itself, with a status you can check ("still cooking," "ready for pickup").
Common mistake: people assume A2A replaces the tool-calling protocols an agent uses internally, such as MCP (Model Context Protocol). It doesn't. A2A operates one layer up — it's about agent-to-agent collaboration across organizational boundaries, while MCP is typically about an agent reaching into tools, files, or databases it needs for its own work. A well-designed system may use both at once.
A2A versus adjacent protocols
| Aspect | A2A (Agent2Agent) | MCP (Model Context Protocol) | Plain REST API |
|---|
| Primary purpose | Agent-to-agent task delegation across vendors | Agent-to-tool/data connection | General client-server communication |
|---|
| Discovery | Agent Cards describe capabilities | Server describes tools/resources | Requires external documentation |
|---|
| Task lifecycle | Built-in states for long-running work | Typically request/response for tool calls | Not standardized |
|---|
| Who initiates | One autonomous agent calling another | An agent (or its host) calling a tool server | Any client calling a service |
|---|
| Typical use case | "Ask a partner's agent to book this shipment" | "Let this agent query our internal database" | "Fetch a list of products" |
|---|
Imagine an airline's travel-planning agent needs to arrange ground transportation once a flight is booked. Rather than building a bespoke integration with every car rental company, it can look up the rental company's Agent Card, confirm it supports the "book-ground-transport" capability, and send a task.
// Example A2A task request (simplified for illustration)
// Sent from the airline's agent to the car rental agent
{
"task": {
"id": "task-88213",
"capability": "book-ground-transport",
"input": {
"pickup_location": "SFO Airport",
"pickup_time": "2026-08-14T18:30:00Z",
"passenger_count": 2
}
},
// The airline agent asks to be notified as the task progresses
"notification": {
"mode": "streaming"
}
}
The rental agent can respond immediately with a "working" status, then push updates ("checking availability," "confirmed") until it returns a final artifact — a booking confirmation — without the airline agent needing to poll constantly or understand anything about the rental company's internal systems.
Current limitations and open questions
A2A is still maturing, and adopting it is not free of friction:
- Trust and authentication: letting an external agent execute tasks on your behalf raises real security questions. Agent Cards can describe required authentication, but organizations still need their own policies about which external agents they trust and what those agents are allowed to do.
- Semantic mismatch: two agents can both technically implement A2A yet still misunderstand each other if they don't agree on what a given capability name actually means in practice. Standardizing the transport doesn't automatically standardize meaning.
- Ecosystem maturity: tooling, debugging support, and monitoring for A2A conversations are newer than the equivalent tooling for REST APIs, so teams adopting it early should expect to build some of their own observability.
- Governance: because A2A is a cross-vendor effort, its long-term evolution depends on continued cooperation between companies that are otherwise competitors, which is always a slower and more political process than a single vendor iterating on its own protocol.
None of this means A2A is not useful — it means it should be treated as an emerging integration layer, not a finished, universally deployed standard yet.
When to consider using it
A2A is most relevant when your organization genuinely needs agents built by different teams or different companies to collaborate, and when you expect that set of collaborators to grow over time. If all of your agents live inside one framework and one team's control, a simpler internal API may be all you need — the overhead of Agent Cards and task lifecycles buys you flexibility you might not yet require. A2A earns its keep at the boundary between organizations, where you can't assume the other side shares your codebase, your framework, or your deployment practices.
FAQ
Is A2A the same thing as MCP?
No. MCP standardizes how an agent connects to tools, data sources, and files it needs to complete its own work. A2A standardizes how one autonomous agent delegates a task to another autonomous agent, potentially built by a different company. They solve different, complementary problems.
Do both agents need to use the same underlying model or framework to use A2A?
No. That is the point of the protocol. A2A defines the message formats, task lifecycle, and discovery mechanism at the network layer, so agents built on entirely different frameworks and models can interoperate as long as both sides implement the protocol.
Does A2A handle security and permissions for me?
A2A defines how authentication requirements are advertised in an Agent Card and how credentials are passed with a request, but it does not decide your organization's trust policy. You still need to define which external agents are allowed to call yours, what they can access, and how you audit that activity.
Related Articles
- A2A Protocol Explained — How Google Wants Agents to Talk to Each Other — By 2026, we’ve moved past the novelty of single-purpose AI agents. The frontier is now multi-agent systems, where specialized agents collaborate to solve complex problems. But this has created a digital Babel: thousands of powerful agents,
- AG-UI — The Protocol Connecting Agent Backends to User Interfaces — A clear explanation of AG-UI, the protocol standardizing how AI agent backends stream updates, tool calls, and state to user interfaces.
- Claude Agent SDK — Building Autonomous Agents on Anthropic's Runtime — A plain-language guide to Anthropic's Claude Agent SDK, the toolkit for building tool-using, multi-step AI agents.
- Emergent Behavior in Multi-Agent Systems — Discover how unexpected emergent behaviors arise in multi-agent systems and how to manage them.
- Multi-Agent OpenClaw: Running Multiple Assistants — Configure and manage multiple OpenClaw agents working independently or collaboratively.