Agent2Agent protocol (A2A)
Also known as: A2A, Agent2Agent
An open standard that lets AI agents built by different companies find each other, hand over tasks and share results.
Draft - this entry has not been reviewed yet.
Formal
An open protocol in which each AI agent publishes a card describing what it can do and how to reach it, and other agents send it tasks over the web, follow their progress and receive results, without seeing how the agent works inside.
In plain English
Like a shared job board for freelancers - each posts what they are good at, and others can hire them for a piece of work without caring how they do it.
In practice
A travel coordinator at a ministry uses a trip-planning agent that finds a travel agency's booking agent through its card, sends the dates and budget over A2A and gets back three priced options an hour later.
Why it matters
It could let agents from different vendors work together, but every agent you accept work from is a stranger whose answers need the same doubt as any outside input.
Technical deep dive
Google announced A2A on 9 April 2025 with a large group of launch partners and donated it to the Linux Foundation on 23 June 2025, where it is governed as a vendor-neutral project with an Apache 2.0 reference implementation and SDKs in several languages. Version 1.0, published in March 2026 and described by the project as its first stable release, defines the data model normatively in Protocol Buffers and maps it onto three bindings: JSON-RPC 2.0 over HTTP, gRPC, and an HTTP+JSON/REST style. Streaming over HTTP uses Server-Sent Events, and long-running work can instead report back through push-notification webhooks that the client registers per task.
Discovery starts with the Agent Card, a JSON document conventionally served at /.well-known/agent-card.json following the RFC 8615 well-known-URI pattern. It declares the agent's identity and provider, its service interfaces, capability flags such as streaming or push notifications, a list of skills with descriptions and example inputs, and the security schemes a caller must satisfy (API key, HTTP bearer, OAuth 2.0 flows, OpenID Connect or mutual TLS). A richer card can be restricted to authenticated callers via GetExtendedAgentCard, and v1.0 added cryptographically signed cards over a canonicalised JSON form so that a client can verify who published a card rather than trusting whoever serves it.
Work is modelled as a Task with a server-assigned ID and a state machine: submitted, working, input-required, auth-required, and the terminal states completed, failed, canceled and rejected. The interrupted states are what make A2A suitable for multi-turn delegation, since the remote agent can pause and ask for clarification or credentials. Messages carry a role and a list of Parts, each holding exactly one of text, raw bytes, a URL or structured JSON data; outputs are returned as Artifacts, which can be streamed in chunks. Core operations include SendMessage, SendStreamingMessage, GetTask, ListTasks, CancelTask and SubscribeToTask.
The design principle is opacity: agents exchange tasks and results, never their prompts, tools, memory or chain of thought. That separates A2A from the Model Context Protocol, where a client sees each tool's schema and invokes it much like a function call; many systems use MCP inside an agent and A2A between agents. Opacity has a security cost. A remote agent's card text, status messages and artifacts are untrusted input that can carry prompt injection, and authenticating the transport says nothing about whether the delegated action should be permitted, so authorisation, rate limits and audit logging of cross-agent requests remain the integrator's responsibility.
What to learn first
Everything this builds on, foundations first.
- Token
- →Transformer
- →Large language model (LLM)
- →Prompt
- →AI agent
- →Agent2Agent protocol (A2A)
Relationships
- A kind of
- Protocol
- Requires
- AI agent
- Don't confuse with
- Model Context Protocol (MCP)
- Used with
- Multi-agent system
Sources & further reading
Official documentation
- Agent2Agent (A2A) Protocol Specification · Linux Foundation (A2A project, introduced by Google)
- Agent2Agent (A2A) Protocol Specification v1.0.0 · Linux Foundation (A2A project)
Reference works
- Google (2025), Announcing the Agent2Agent Protocol (A2A) · Google
- Google Open Source Blog (2026), A year of open collaboration: Celebrating the anniversary of A2A · Google
Where this data comes from
This entry was drafted by an AI from the sources above and has not yet been checked by a person. Treat it as a starting point, and check anything important against the sources.
See the review queueSuggest a correction on GitHubThis term as JSON
Check yourself
Loading…