Skip to main content

Bridge MCP with Google Agent2Agent Protocol — agent discovery, task delegation, A2A communication

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a2a_protocol_mcp_server-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

a2a_protocol_mcp_server-0.1.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file a2a_protocol_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: a2a_protocol_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for a2a_protocol_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a052f95e73c1ec63c0a0f25451e38135a7f0c0600229837227a4fffa2071158b
MD5 362dd990b2aceb8542a2599c466274ef
BLAKE2b-256 f75999bcaa81b8d99d62f56effa41d92bc89ff5cc3826be0f34ed5844105fb52

See more details on using hashes here.

File details

Details for the file a2a_protocol_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for a2a_protocol_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39fe303aed65ba81307c6f31318dae734a3bc9eba27b65289412bdf3ed74de03
MD5 879b2a7bf3b855138f41b44d21df843f
BLAKE2b-256 a09a9cb205443619284e4dc24b3ec688871c0ce69ec80c91b9b2eafc835166f7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page