Building AI Agents
A2A (Agent-to-Agent Protocol)
Google's open protocol for agents to discover, communicate, and collaborate across platforms.
Interview: High - Emerging standard for cross-platform agent interoperability.
MCP Connects Agents to Tools. A2A Connects Agents to Agents.
MCP solves tool integration. But what happens when your travel agent (built with LangGraph) needs to talk to a payment agent (built with CrewAI on a different server)? A2A, created by Google, standardizes how agents discover each other, negotiate capabilities, and collaborate across organizational boundaries.
A2A vs MCP
How A2A Works
- Agent Card: Every A2A agent publishes a JSON file at
/.well-known/agent.jsondescribing its capabilities, accepted inputs, and auth requirements. - Task Lifecycle: The client agent sends a Task (JSON-RPC message). The remote agent processes it. Tasks have states:
submitted → working → completed. - Streaming: For long-running tasks, A2A supports Server-Sent Events (SSE) for real-time updates.
- Artifacts: Rich outputs (files, images, structured data) are returned as Artifacts attached to the Task.
MCP + A2A Together
These protocols are complementary, not competing. MCP gives an agent access to tools internally. A2A lets that agent collaborate with other agents externally. Production systems use both.
Use Cases
Enterprise agent mesh — different departments publish agents that discover and call each other
Cross-company agent collaboration (your agent books via a partners booking agent)
Agent marketplaces where third-party agents register capabilities via Agent Cards
Microservice-to-agent migration — wrap existing services as A2A agents
Common Mistakes
Confusing A2A with MCP — MCP is for tools, A2A is for agent-to-agent communication
Not implementing proper authentication on Agent Cards — any agent could call your endpoints
Treating A2A as synchronous RPC — long tasks need streaming and async polling
Over-splitting into too many A2A agents when a single multi-tool agent would be simpler