Get the FREE Ultimate OpenClaw Setup Guide →

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.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
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:

  1. 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
      
  2. 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
      

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

Sponsor this space

Reach thousands of developers