Agent2Agent (A2A) protocol
A2A is an open protocol for AI agents: one agent can find another, hand it a task and track the result, even when different companies built them.
A2A, short for Agent2Agent, is a protocol. A protocol is a shared set of rules for the messages two programs send each other. A2A lets one AI agent hand work to another, even when different companies built them with different frameworks (toolkits for building agents). Google announced it on 9 April 2025, with more than 50 technology partners. In August 2026 it joined the Agentic AI Foundation, which lists it as a growth-stage project.
There are two roles. The client agent acts for the user and phrases the task. The remote agent does the work. The client learns what the remote agent offers from its Agent Card. This is a small JSON file (JSON is a common text format for structured data). It lists the agent’s web address, its skills and how a caller must prove who it is (its authentication schemes). A public agent usually serves it at /.well-known/agent-card.json on its own domain.
Requests travel as messages made of parts. Each part holds exactly one thing: some text, raw file bytes, a link to a file, or structured JSON data. The remote agent can answer with a quick message, or open a task with its own ID and a state such as working or input-required. Related tasks and messages can share a context ID. That is a label that groups them into one conversation. A finished task never restarts, so a follow-up opens a new task under the same context ID. Finished outputs, such as a document or an image, come back as artifacts. To follow a long task, the client can poll (ask again every so often), keep a live stream open, or give the agent a webhook. A webhook is a web address the agent calls when something important changes. Version 1.0 offers the same actions in three styles of network request: JSON-RPC, gRPC and plain HTTP/REST.
A2A is often mentioned with MCP, but the two do different jobs. The A2A docs call MCP vertical, because it gives one agent more tools and data. They call A2A horizontal, because it links agents across team or company lines. The two fit together: a remote agent can use MCP internally to finish the task it received over A2A.
Agents built on different frameworks had no shared way to pass work to each other.
Follow one flight request from discovery to a finished task.
- 1 · discoverThe client agent reads the remote agent's Agent Card, a short JSON file that gives its address, skills and required authentication.
- 2 · sendThe client sends a message whose parts carry the request, such as the text Book me a flight.
- 3 · trackThe remote agent answers with a task that has an ID and a state, here input-required because it needs the route.
- 4 · finishThe client replies with the same task ID, and the finished task hands back its outputs as artifacts.
A remote agent can answer with a quick message or open a task; only a task has a lifecycle the client can follow.
| Who | What they ask | What it works with |
|---|---|---|
| Customer service agent | “Can the billing agent sort out this invoice question?” | A task handed to a separate billing agent |
| Travel assistant | “Book the flight, then a hotel and an activity for that trip.” | Several tasks grouped under one context ID |
| Hiring manager's agent | “Find candidates who match this job listing.” | Specialist sourcing agents reached over A2A |
| Platform team | “Which of our agents has the skill we need?” | Agent Cards searched by skill in a registry |
- Agents from different vendors and frameworks can talk through one shared protocol.
- A published Agent Card tells a client what an agent can do and how to reach it.
- Long-running work is tracked as a task, with streamed or pushed updates.
- A request or a result can carry text, a file, a link to a file or structured data.
- It does not connect an agent to its own tools and data; that is the job of MCP.
- The current specification does not define a standard API for agent registries.
- A client that drops a live stream and reconnects may miss some status updates.
- An Agent Card with sensitive details needs its own access control, and secrets should not be written into it.
Sources used
This explainer is written in original language. The links below support its factual claims.
- officialAgent2Agent (A2A) Protocol Specification, A2A Project, Linux Foundation · read 28 Sept 2026
- officialAnnouncing the Agent2Agent Protocol (A2A), Google for Developers · read 28 Sept 2026
- docsAgent Discovery, A2A Project, Linux Foundation · read 28 Sept 2026
- docsLife of a Task, A2A Project, Linux Foundation · read 28 Sept 2026
- docsA2A and MCP, A2A Project, Linux Foundation · read 28 Sept 2026
- officialA New Chapter for A2A: Joining the Agentic AI Foundation, A2A Project, Linux Foundation · read 28 Sept 2026
- docsCore Concepts, A2A Project, Linux Foundation · read 28 Sept 2026