Skip to main content

A2A Protocol MCP Server

Bridge between MCP (Model Context Protocol) and Google's Agent2Agent (A2A) Protocol — enabling agent discovery, task delegation, and inter-agent communication.

What is A2A?

The Agent2Agent Protocol was introduced by Google in April 2025 as an open standard for AI agents to communicate with each other. It is now being standardized under the Linux Foundation to ensure vendor-neutral governance.

Key concepts:

  • Agent Cards — JSON descriptors that advertise an agent's capabilities, skills, and endpoint
  • Task lifecycle — Structured task delegation with states (submitted, working, completed, failed)
  • Discovery — Agents can find each other by capability

How This Server Bridges MCP and A2A

MCP provides the interface between AI models and tools. A2A provides the interface between agents. This server combines both:

  • MCP tools expose A2A operations to any MCP-compatible AI agent
  • Agents can register themselves, discover other agents, and delegate tasks
  • Local registry at ~/.a2a-agents/ stores Agent Cards and tasks

Tools

Tool Description
create_agent_card Create an A2A-compatible Agent Card with skills and endpoint
register_agent Register an agent in the local A2A directory
discover_agents Search for agents by capability
send_task Create a task request following A2A protocol format
get_task_status Check status of a delegated task
list_registered_agents List all registered agents with capabilities

Installation

pip install a2a-protocol-mcp-server

Or with uvx:

uvx a2a-protocol-mcp-server

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "a2a-protocol": {
      "command": "uvx",
      "args": ["a2a-protocol-mcp-server"]
    }
  }
}

Cursor / Windsurf

{
  "mcpServers": {
    "a2a-protocol": {
      "command": "uvx",
      "args": ["a2a-protocol-mcp-server"]
    }
  }
}

Usage Example

1. Create an Agent Card for your agent:
   create_agent_card("MyBot", "Translates text", ["translation", "german", "english"], "http://localhost:8000")

2. Register it:
   register_agent(<agent_card>)

3. Discover agents:
   discover_agents("translation")

4. Send a task:
   send_task("MyBot", "Translate 'Hello World' to German")

5. Check status:
   get_task_status("<task-id>")

Data Storage

Agent Cards and tasks are stored locally in ~/.a2a-agents/:

  • agents.json — Registered Agent Cards
  • tasks.json — Task history and status

Why A2A + MCP?

MCP A2A
Purpose Model ↔ Tool interface Agent ↔ Agent interface
Focus Tool access, context Discovery, delegation
Standard Anthropic Google → Linux Foundation

Together they create a complete agent communication stack: MCP handles the vertical (model-to-tools), A2A handles the horizontal (agent-to-agent).

License

MIT

Metadata

Release files for a2a-protocol-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a2a-protocol-mcp-server 0.1.0
File Size Uploaded
a2a_protocol_mcp_server-0.1.0.tar.gz 6.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for a2a-protocol-mcp-server 0.1.0
File Interpreter ABI Platform
a2a_protocol_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.4 kB

Release files / a2a_protocol_mcp_server-0.1.0.tar.gz

Download URL a2a_protocol_mcp_server-0.1.0.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a052f95e73c1ec63c0a0f25451e38135a7f0c0600229837227a4fffa2071158b
BLAKE2b-256 checksum
How to use checksums
f75999bcaa81b8d99d62f56effa41d92bc89ff5cc3826be0f34ed5844105fb52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / a2a_protocol_mcp_server-0.1.0-py3-none-any.whl

Download URL a2a_protocol_mcp_server-0.1.0-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39fe303aed65ba81307c6f31318dae734a3bc9eba27b65289412bdf3ed74de03
BLAKE2b-256 checksum
How to use checksums
a09a9cb205443619284e4dc24b3ec688871c0ce69ec80c91b9b2eafc835166f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page