A2A
A mcp server that bridges the Model Context Protocol (MCP) with the Agent-to-Agent (A2A) protocol, enabling MCP-compatible AI assistants (like Claude) to seamlessly interact with A2A agents.
claude mcp add --transport stdio gongrzhe-a2a-mcp-server uvx a2a-mcp-server \ --env MCP_TRANSPORT="stdio"
How to use
A2A MCP Server bridges MCP (used by Claude and similar MCP clients) with the Google A2A protocol, allowing MCP clients to discover, register, communicate with, and manage tasks on A2A agents through a single unified interface. The server exposes an MCP-compatible endpoint that clients can connect to, and then translate MCP actions (such as registering an agent, sending messages, and querying task results) into corresponding A2A operations. This enables tools like Claude to interact with A2A agents without direct A2A protocol handling on the client side.
How to install
Prerequisites:
- Python 3.8+ and pip
- Internet access to install dependencies
Installation options:
-
PyPI installation (recommended):
- Install the package:
pip install a2a-mcp-server - Run the server with the desired transport (default is stdio for Claude Desktop compatibility):
uvx a2a-mcp-server
- Install the package:
-
Local installation from source:
- Clone the repo:
git clone https://github.com/GongRzhe/A2A-MCP-Server.git cd A2A-MCP-Server - Set up a virtual environment and activate it:
python -m venv .venv source .venv/bin/activate # On Windows: .\.venv\Scripts\activate - Install dependencies:
pip install -r requirements.txt - Run the server (using stdio for Claude Desktop compatibility as needed):
uvx a2a-mcp-server
- Clone the repo:
Additional notes
Environment and transport tips:
- Transport types supported: stdio (default), streamable-http, and SSE. For Claude Desktop and similar MCP clients that require stdio, set MCP_TRANSPORT=stdio.
- If you plan to use web clients or tooling that requires HTTP streaming, consider using streamable-http and configure MCP_HOST, MCP_PORT, and MCP_PATH accordingly.
- Claude Desktop users often rely on the config_creator.py utility to generate claude_desktop_config.json entries automatically. If you clone locally, you can run python config_creator.py to aid setup.
- Ensure MCP_HOST and MCP_PORT (when using HTTP transports) are reachable by your MCP client. For local testing, 127.0.0.1:8000 is a common default.
- The A2A bridge supports registering agents, sending messages, streaming responses, and managing tasks. If you encounter authentication or network issues, verify that A2A agent URLs are accessible from the server host and that firewall rules permit the required ports.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP