Overview
MCP and A2A solve different connection problems. MCP connects an agent to tools and data, which is a vertical link from an AI app down to capabilities. A2A (Agent-to-Agent) connects agents to other agents, which is a horizontal link between independent, possibly opaque, agents owned by different teams or vendors. They are complementary. An agent may use MCP to reach its tools and A2A to delegate work to a partner agent.
A tool called over MCP is usually a function with a defined input and a quick result. An agent reached over A2A is an autonomous peer. You send it a task, it may take minutes, ask for more input, stream progress, and return artifacts. A2A agents advertise what they can do through an agent card, and the caller does not see their internal tools, prompts, or memory.
MCP is how a worker picks up tools, such as a calculator, a database terminal, or a stapler. A2A is how a worker hands a job to a colleague in another department, who has their own tools and judgment and reports back when done.
When to use it
- Designing systems where agents from different teams or vendors must cooperate.
- Deciding whether a capability should be a tool or a separate agent.
- Explaining the AI integration protocol landscape.
Where it shows up in interviews
Recognize it when: a capability needs its own reasoning and long-running work.
- Design a multi-agent system
- Design Multi-Agent Platform
Where it is used in real software
A travel-booking agent delegates expense approval to the finance team's agent over A2A while using MCP for calendar and booking tools.
SaaS vendors expose their own agents so customers' agents can delegate tasks without seeing vendor internals.
Key terms
- A2A
- An open protocol for agents to discover each other, exchange tasks, and stream results.
- Agent card
- A published description of an agent's skills, endpoint, and authentication.
- Task
- A unit of work sent to an agent, with states such as working, input-required, and completed.
- Artifact
- An output produced by a task, such as a document or data.
- Opaque agent
- An agent whose internal reasoning and tools are hidden from callers.
How it works, step by step
- 1Discover
The client agent reads the remote agent's card to learn skills and auth requirements.
- 2Send a task
The client submits a task message describing what it needs.
- 3Remote agent works
The remote agent uses its own tools (often via MCP) and may request more input.
- 4Stream updates
Progress and partial results stream back over the connection.
- 5Return artifacts
The completed task returns outputs the client agent can use.
STEP 1The travel agent books flights through MCP tools for airline search and calendar.
Comparison
Two protocols, different jobs.
| Aspect | MCP | A2A |
|---|---|---|
| Connects | Agent to tools and data | Agent to agent |
| Callee | Function-like tool | Autonomous agent |
| Duration | Usually quick | Can be long-running |
| Visibility | Tool schema is visible | Internals are opaque |
| Discovery | tools/list from a server | Agent card |
NOWAspect: Connects | MCP: Agent to tools and data | A2A: Agent to agent
Use MCP for capabilities you control; use A2A to collaborate with other agents.
Implementation
{ "name": "Finance Approvals Agent", "description": "Checks travel requests against budget and policy.", "url": "https://agents.example.com/finance", "version": "1.0.0", "capabilities": { "streaming": true }, "skills": [ { "id": "approve-travel", "name": "Approve travel", "description": "Approve or reject a trip by cost and policy." } ], "securitySchemes": { "oauth": { "type": "oauth2" } }}Complexity and performance
Function-like.
May pause for input or human approval.
Trade-offs
Making everything an agent adds latency and unpredictability. Use a tool when the job is a well-defined function; use an agent when it needs its own reasoning or ownership.
Opaque agents protect vendor internals but make end-to-end tracing harder. Agree on task IDs and trace propagation.
Variants and related techniques
Inside one codebase, frameworks offer direct handoffs without a network protocol.
Common mistakes
- Using A2A for simple function calls.
Fix: Expose simple capabilities as MCP tools or plain APIs.
- Trusting remote agents implicitly.
Fix: Authenticate agents, authorize tasks, and validate returned artifacts.
Interview questions
How do MCP and A2A relate?
They are complementary. MCP connects an agent to its tools and data; A2A lets independent agents discover each other and exchange long-running tasks. A remote agent often uses MCP internally.
When would you make a capability a separate agent instead of a tool?
When it needs its own reasoning, owns a domain with its own policies, runs long or needs human input, or is operated by another team or vendor that wants to hide internals.
Practice problems
| Problem | Difficulty | What it trains |
|---|---|---|
| Write an agent card for a scheduling agent | Easy | Discovery. |
| Design a cross-team agent system using MCP and A2A | Hard | Boundaries, auth, and tracing. |