# A2a MCP Bridge

> Build bridges between A2A and MCP — wrap A2A agents as MCP tools, use MCP tools from A2A agents, and architect hybrid multi-agent systems. Use when integrating A2A agent-to-agent communication with MCP tool access.

- Skill: `majiayu000/a2a-mcp-bridge` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/a2a-mcp-bridge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/a2a-mcp-bridge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/a2a-mcp-bridge

---


# A2A + MCP Bridge

## Before writing code

**Fetch live docs**:
1. Fetch `https://a2a-protocol.org/latest/specification/` for the A2A protocol details
2. Web-search `a2a mcp integration bridge agent tool` for patterns combining the two protocols
3. Web-search `site:github.com a2aproject A2A MCP` for any official A2A-MCP integration examples
4. Web-search `site:modelcontextprotocol.io specification` for the latest MCP specification

## Conceptual Architecture

### A2A vs MCP — Complementary Protocols

| Aspect | A2A | MCP |
|--------|-----|-----|
| **Purpose** | Agent-to-agent delegation | Agent-to-tool/data access |
| **Participants** | Agents (opaque, autonomous) | Agent + tool server (transparent) |
| **Communication** | Tasks with messages | Tool calls with structured I/O |
| **State** | Long-lived tasks with lifecycle | Stateless tool invocations |
| **Discovery** | Agent Cards | Server manifests |
| **Transport** | JSON-RPC over HTTP | JSON-RPC over stdio/HTTP+SSE |

### Why Bridge Them

Real-world multi-agent systems need both:
- **A2A** for delegating complex, open-ended work to other agents
- **MCP** for accessing specific tools, databases, APIs, and data sources

Bridging patterns enable agents to participate in both ecosystems.

### Bridge Patterns

#### Pattern 1: A2A Agent Wrapping MCP Tools
An A2A agent that internally uses MCP tools to fulfill tasks.

```
Client Agent → (A2A) → Bridge Agent → (MCP) → Tool Server
```

- Client sends a task via A2A
- Bridge agent interprets the task
- Bridge agent calls MCP tools to gather data/perform actions
- Bridge agent composes the result and returns via A2A

#### Pattern 2: MCP Tool Wrapping an A2A Agent
An MCP tool that delegates work to an A2A agent.

```
Agent → (MCP tool call) → MCP Server → (A2A) → Specialist Agent
```

- Agent calls an MCP tool
- MCP server sends a task to a specialist A2A agent
- A2A agent processes and returns
- MCP server returns the result as tool output

#### Pattern 3: Hybrid Orchestrator
A coordinator agent that uses both A2A and MCP:

```
Orchestrator Agent
  ├── (A2A) → Research Agent
  ├── (A2A) → Writing Agent
  ├── (MCP) → Database Tool
  └── (MCP) → Search Tool
```

### Implementation Considerations

**A2A agent using MCP tools:**
- The agent's handler connects to MCP servers as part of its processing
- MCP tool calls happen inside the `working` state
- Results from MCP tools inform the A2A task response
- The A2A client doesn't know or care that MCP is used internally

**MCP tool wrapping A2A agent:**
- MCP tool definition describes what the A2A agent can do
- Tool handler creates an A2A task, waits for completion
- Map A2A task failures to MCP tool errors
- Handle A2A multi-turn by either auto-responding or failing with a message

**State mapping:**
- A2A tasks are long-lived; MCP tool calls are short-lived
- For synchronous MCP tools wrapping A2A, block until the A2A task completes
- For async scenarios, consider returning a task ID and providing a status-check tool

### Architecture Guidelines

- Keep the bridge layer thin — don't add unnecessary abstraction
- Clearly document which protocol each component uses
- Handle timeout mismatches (MCP tools typically expect fast responses; A2A tasks can be long)
- Map error codes between protocols appropriately
- Log cross-protocol calls for debugging

### Best Practices

- Use A2A for delegation to autonomous agents, MCP for accessing deterministic tools
- Don't wrap simple tool calls as A2A agents — use MCP directly
- Don't use MCP for complex, multi-turn agent interactions — use A2A
- Consider the latency implications of cross-protocol bridges
- Test the bridge with realistic payloads and error scenarios
- Document the agent topology so developers understand the flow

Fetch the latest A2A specification and MCP specification for current schemas and integration guidance before implementing bridges.

