What is an agent-to-agent protocol?
An agent-to-agent protocol defines how one autonomous agent asks another to do something and receives the result. It's the coordination layer of a multi-agent system: instead of a single agent trying to do everything, specialised agents cooperate.
“Agent-to-agent” is used two ways. As a general concept, it covers any protocol for inter-agent communication. As a specific standard, it usually refers to Agent2Agent (A2A), an open protocol introduced by Google. This page covers the concept; the A2A page covers the specification.
The core problem it solves
Connecting agents point-to-point doesn't scale. Every new agent would need bespoke integrations with every other. An agent-to-agent protocol introduces shared conventions so any compliant agent can work with any other — the same leverage a protocol gives at the tool layer.
- Discovery — how an agent learns another exists and what it can do.
- Delegation — how it hands over a task and parameters.
- Coordination — how progress, intermediate messages and results flow back.
- Trust & identity — how agents establish who they're talking to (an area still maturing).
How A2A implements it
A2A gives these ideas concrete shape: an agent card advertises capabilities for discovery, a task carries the delegated work through a lifecycle, and messages and artifacts carry updates and results. It runs over HTTP with JSON-RPC-style messages and supports streaming. See the A2A guide for details and examples.
When you need it
Reach for an agent-to-agent protocol when you're building a system of multiple cooperating agents — especially if some are external or built by other teams. If you're only connecting one agent to tools, you likely want MCP instead. Unsure? The protocol selector can help.