A2A (Agent-to-Agent Protocol)
Open standard from Google for communication between independent AI agents from different vendors.
Last updated: April 26, 2026
Definition
The Agent2Agent Protocol is an open standard that lets independent agent systems talk to each other as peers. Google launched A2A on April 9, 2025 with 50+ partners including Salesforce, SAP, ServiceNow, Atlassian, MongoDB, and the major consultancies. Governance moved to the Linux Foundation in June 2025. Spec version 1.0.0 was released in early 2026. A2A defines three transport bindings (JSON-RPC 2.0, gRPC, HTTP+JSON) all over HTTP, with Server-Sent Events for streaming and webhooks for async push notifications.
A2A is complementary to MCP, not a replacement. Where MCP standardizes how an agent talks to its tools (agent-to-tool), A2A standardizes how agents talk to other agents (agent-to-peer). A Remote Agent fulfilling an A2A Task may internally use MCP to call its own tools. The protocol primitives are: Task (a stateful unit of work with a unique ID and lifecycle), Message (a turn with role user or agent), Part (text, file reference, or structured data inside a message), and Artifact (concrete deliverables produced by the Remote Agent). Discovery happens via AgentCards published at a well-known URL, no central registry required.
Architecture
A2A connects agents across vendor boundaries. Discovery via AgentCard at /.well-known/agent-card.json. A Remote Agent stays opaque to the Client and may use MCP internally to access tools.
Code Example
// Client Agent fetches the Remote Agent's AgentCard, then sends a Task
GET https://remote-agent.example.com/.well-known/agent-card.json
↓
{
"name": "Invoice Processing Agent",
"url": "https://remote-agent.example.com/a2a",
"capabilities": { "streaming": true, "pushNotifications": true },
"skills": [{ "id": "extract_invoice", "name": "Extract invoice data" }]
}
// Then sends a Task via JSON-RPC 2.0
POST https://remote-agent.example.com/a2a
{ "method": "tasks/send", "params": { "task": { "messages": [...] } } }Discovery first via AgentCard, then Tasks flow over A2A. The Remote Agent stays opaque (a black box).
When To Use
When you need an agent in your stack to delegate work to a specialist agent built by a different team or vendor, when you want vendor-neutral interop across enterprise agent platforms, or when building a marketplace of independent agents that compose without custom integration code per pair.
Common Questions
How is A2A different from MCP?
MCP is agent-to-tool. A2A is agent-to-agent. MCP standardizes how an LLM-powered app talks to its data sources and APIs. A2A standardizes how independent agents from different vendors talk to each other as peers. They are complementary. A Remote Agent fulfilling an A2A Task may internally use MCP to call its own tools.
Do I need a registry to discover A2A agents?
No central registry exists in the spec. Discovery happens via AgentCards published at a well-known URL on the agent's domain (per RFC 8615): /.well-known/agent-card.json. The Client Agent fetches that JSON, parses skills and auth requirements, then decides whether to engage.
Sources
Related Terms
Building with A2A (Agent-to-Agent Protocol)?
I've shipped this pattern in real production systems. If you want a second pair of eyes on your architecture, that's what I do.