ReviseAlgo Logo

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

  1. Agent Card: Every A2A agent publishes a JSON file at /.well-known/agent.json describing its capabilities, accepted inputs, and auth requirements.
  2. Task Lifecycle: The client agent sends a Task (JSON-RPC message). The remote agent processes it. Tasks have states: submitted → working → completed.
  3. Streaming: For long-running tasks, A2A supports Server-Sent Events (SSE) for real-time updates.
  4. 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