Labsco
MCP SERVER

A2A MCP Server

by GongRzhe

Register other people's A2A agents by URL and hand them work from your own client: send a message, stream the reply or collect the task result later, and cancel what stops being useful.

MCP Plumbing: Proxies, Registries & InspectorsVerified
Summary
Your client stops being the only agent in the conversation.

The bridge is deliberately thin: register a URL, send a message, poll or stream the result, cancel if it drags. That thinness is the point — nothing here interprets what the far side does, so the behaviour you get is the remote agent's rather than the bridge's. Sending and streaming are separate tools rather than one tool with a flag, so how the reply arrives is decided at call time.

What it is

A bridge between an MCP client and A2A agents, seven tools for registering agents and exchanging messages and tasks with them.

What you get
  • Agents registered by URL, listed back, and unregistered when they retire
  • Messages sent to a named agent, carrying a session id so an exchange can be more than one turn
  • The same message streamed instead, for answers long enough that waiting for the whole of it is the wrong shape
  • A task's result collected afterwards by task id, with as much of its history as you ask for
  • A running task cancelled on the agent that is running it
Requirements

Uv with a Python interpreter available — UV_PYTHON selects which one — and at least one reachable A2A agent whose URL you can register. Agents are addressed by that URL, so nothing works until one is running. Apache-2.0.

Setup effort

One command — uvx a2a-mcp-server