io.github.mdfifty50-boop/a2a-bridge

Official registry AI and agents

Agent-to-agent communication bridge for multi-agent systems

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package a2a-bridge-mcp
Claude Code
claude mcp add a2a-bridge -- npx -y a2a-bridge-mcp@0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "a2a-bridge": {
            "command": "npx",
            "args": [
                "-y",
                "a2a-bridge-mcp@0.1.1"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. a2a-bridge-mcp
  2. Install
  3. Tools
  4. Resources
  5. Usage Pattern
  6. License

a2a-bridge-mcp

MCP server for agent-to-agent communication -- capability discovery, task delegation, and result aggregation across MCP agents.

MCP connects agents to tools, but not to each other. This server adds a standardized agent-to-agent layer within the MCP protocol -- register agents, discover capabilities, delegate tasks, and broadcast work to multiple agents. Inspired by Google's A2A protocol.

Install

npx a2a-bridge-mcp
Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "a2a-bridge": {
      "command": "npx",
      "args": ["a2a-bridge-mcp"]
    }
  }
}
From source
git clone https://github.com/mdfifty50-boop/a2a-bridge-mcp.git
cd a2a-bridge-mcp
npm install
node src/index.js

Tools

register_agent

Register an agent with capabilities for discovery by other agents.

ParamTypeDefaultDescription
agent_idstringrequiredUnique agent identifier
capabilitiesstring[]requiredCapability strings (e.g. ["code-review", "summarization"])
descriptionstring""Human-readable description
input_schemaobject{}JSON schema for accepted input
output_schemaobject{}JSON schema for produced output
endpointstring""Optional endpoint or transport hint
discover_agents

Find agents matching a capability need with fuzzy text similarity scoring.

ParamTypeDefaultDescription
capability_neededstringrequiredCapability to search for
min_scorenumber0.3Minimum similarity score (0-1)

Returns scored matches sorted by relevance.

delegate_task

Delegate a task to a specific registered agent. Creates a tracked task with status lifecycle.

ParamTypeDefaultDescription
from_agentstringrequiredDelegating agent ID
to_agentstringrequiredTarget agent ID
task_descriptionstringrequiredWhat the target should do
input_dataobject{}Input data for the task
timeout_msnumber30000Timeout in milliseconds

Returns a task_id for tracking.

get_task_result

Get status and result of a delegated task. Also used by executing agents to submit results.

ParamTypeDescription
task_idstringTask ID from delegate_task or broadcast_task
submit_resultobject(Optional) Submit completion result
submit_errorstring(Optional) Submit failure error

Status lifecycle: pending -> running -> completed / failed.

broadcast_task

Send a task to ALL agents matching a capability. Creates individual tracked tasks for each match.

ParamTypeDefaultDescription
from_agentstringrequiredBroadcasting agent ID
capability_neededstringrequiredCapability to match
task_descriptionstringrequiredWhat matched agents should do
input_dataobject{}Input data
min_scorenumber0.3Minimum match score
timeout_msnumber30000Timeout per agent

Returns list of task IDs for aggregation via get_task_result.

get_agent_card

Get an agent's full capability card with schemas, stats, and task history.

ParamTypeDescription
agent_idstringAgent identifier

Returns capabilities, input/output schemas, success rate, and task counts. Inspired by Google A2A agent cards.

list_agents

List all registered agents, optionally filtered by capability.

ParamTypeDefaultDescription
filterstring""Capability keyword to filter by (empty = all)

Resources

URIDescription
a2a://agentsAll registered agents with capabilities and stats

Usage Pattern

1. register_agent    -- each agent registers at startup
2. discover_agents   -- find who can handle a task
3. delegate_task     -- send work to a specific agent
   OR broadcast_task -- send work to all matching agents
4. get_task_result   -- poll for completion or submit results
5. get_agent_card    -- inspect an agent's full profile
6. list_agents       -- overview of the agent network
Multi-agent workflow example
Agent A (orchestrator):
  1. register_agent(agent_id="orchestrator", capabilities=["planning", "coordination"])
  2. discover_agents(capability_needed="code review")
     -> finds Agent B (score: 0.95)
  3. delegate_task(from="orchestrator", to="agent-b", task="Review PR #42")
     -> task_id: "task_1234"
  4. get_task_result(task_id="task_1234")
     -> status: "completed", result: { approved: true, comments: [...] }

Agent B (worker):
  1. register_agent(agent_id="agent-b", capabilities=["code-review", "linting"])
  2. (receives task via external notification or polling)
  3. get_task_result(task_id="task_1234", submit_result={ approved: true })

License

MIT

Frequently asked questions

What is io.github.mdfifty50-boop/a2a-bridge?

Agent-to-agent communication bridge for multi-agent systems

How do I install io.github.mdfifty50-boop/a2a-bridge?

It runs on your machine. In Claude Code: claude mcp add a2a-bridge -- npx -y a2a-bridge-mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.mdfifty50-boop/a2a-bridge need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.mdfifty50-boop/a2a-bridge open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains io.github.mdfifty50-boop/a2a-bridge?

It is published by mdfifty50-boop. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.