A2A to MCP bridge MCP server
io.github.AmirK-S/a2a-to-mcp·v0.1.0·2 starsA2A v1.0.1 agents as MCP 2026-07-28 tools, with the tasks extension
2 stars39 downloads/wk
Reviews
Write oneNobody has reviewed A2A to MCP bridge yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
A2A to MCP bridge tools (4, 2 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
a2a_cancel_taskwrite actionAsks an A2A agent to cancel a task, by the task handle an earlier call returned.
a2a_discoverFetches and returns the agent card of one configured A2A agent: its name,
a2a_get_taskReads the current state of a task an A2A agent opened, by the task handle an
a2a_send_messagewrite actionSends one text message to an A2A agent and returns its answer, which is either a
Public scan report
scanner v0.1.10 · 2026-10-16 · same rubric, same numbers if you re-run it
- Code scan36 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 40 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How A2A to MCP bridge compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,243 servers
- Tools
- 4
- the typical server has 7
- Tools that change things
- 50%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 2
- more than 75% of 28,706 servers
- Downloads a week
- 39
- more than 29% of 12,306 servers with a package
What its tools let an agent do: 2 read · 2 change
Install A2A to MCP bridge in Claude Code, Cursor or VS Code
Runs npx -y a2a-to-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add a2a-to-mcp -- npx -y a2a-to-mcp
What the publisher says
From the A2A to MCP bridge repository's README, as published. We do not edit it. Read it on GitHub
a2a-to-mcp
A2A v1.0.1 agents exposed as MCP tools on a stateless MCP 2026-07-28 server, with the io.modelcontextprotocol/tasks extension.
Point the bridge at one or more A2A agents by their agent card. Any MCP client, Claude Code or Cursor among them, then sees four ordinary tools: discover an agent, send it a message, read a task, cancel a task. The bridge translates parts, artifacts, task states and errors between the two protocols and says out loud what it cannot translate.
Node 20 or later. Apache-2.0.
Quick start
npm install -g a2a-to-mcpOr run it from the repository:
git clone https://github.com/AmirK-S/a2a-to-mcp.git && cd a2a-to-mcp && npm ci && npm run buildWrite agents.json, one alias per agent, by base URL or by card URL:
{
"agents": {
"hello": { "url": "http://localhost:9999" },
"planner": { "cardUrl": "https://planner.example.org/.well-known/agent-card.json" }
},
"port": 8931
}Run it:
node dist/cli.js --config agents.jsonThe bridge listens on http://127.0.0.1:8931/mcp. Only loopback hosts are accepted in the Host and Origin headers unless allowedHosts is set in the configuration. There is no authentication in this version, on either side.
Claude Code
Add to .mcp.json at the root of the project, which is the block the bridge prints on startup:
{
"mcpServers": {
"a2a-to-mcp": {
"type": "http",
"url": "http://127.0.0.1:8931/mcp"
}
}
}Claude Code negotiates 2026-07-28 through server/discover since its v2 runtime, documented from 2.1.232 and measured here with 2.1.263. Older versions fall back to initialize and get the same four tools on the legacy route. A full annotated trace of a Claude Code session against the bridge, discovery, a task with an artifact and an elicitation round trip, is in docs/DEMO-CLAUDE-CODE.md. In headless mode (claude -p) there is nobody to answer an elicitation, so Claude Code cancels it and the bridge cancels the A2A task; the interactive mode asks the user.
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"a2a": { "url": "http://localhost:8931/mcp" }
}
}Cursor speaks 2025-11-25 and is served through initialize on the same endpoint.
The four tools
Every tool takes the agent alias as its first argument when several agents are configured; with a single agent the alias may be omitted and defaults to it.
Calling a tool on the wire
The argument that carries the message is text. A complete tools/call on the 2026-07-28 route, as an MCP client sends it:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
A2A to MCP bridge: common questions
- Is A2A to MCP bridge MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the A2A to MCP bridge safety report
- How do I install A2A to MCP bridge?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does A2A to MCP bridge need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is A2A to MCP bridge maintained?
- The last commit was 60 days ago (2026-09-06). The latest release is v0.1.0.
- How does A2A to MCP bridge compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,243 servers); tools 4 (the typical server has 7); tools that change things 50% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.