A2a Bridge

io.github.mdfifty50-boopPublished by GitHub account mdfifty50-boopv0.1.1Updated Nov 3, 2026

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

VerifiedSTDIODesktop onlyProductivity & WorkflowAI & ML

Overview

AI-generated overview

Local MCP server that adds an agent-to-agent layer so assistants can register agents, discover capabilities, delegate tasks and collect results.

What you can do
  • Register agents with capability strings, descriptions and input/output schemas
  • Discover agents by capability using fuzzy similarity scoring, or list all registered agents
  • Delegate a task to one agent or broadcast it to every agent matching a capability, each tracked with a task ID
  • Poll task status and results, or submit a result or error for a task
  • Inspect an agent's capability card with schemas, success rate and task counts
  • Read the full agent registry through the a2a://agents resource
When to use it
Useful when you are building or coordinating multi-agent setups and want a shared registry so one assistant can find other agents by capability, hand off work, and gather results. Single-agent or plain tool-use workflows get little from it.
Requirements
Runs locally over stdio, started with npx a2a-bridge-mcp (Node.js), or from source after npm install. No authentication, environment variables or headers are declared. Agents must register themselves and, per the README, receive delegated tasks through external notification or polling.
Before you install
Delegated tasks carry input data to other registered agents, so avoid sending secrets or sensitive content through task payloads. Task results are submitted by the executing agent itself, so treat reported status and success rates as self-reported. The registry is in-process and shared by whatever agents register with it.

Installation

In SourceWeft

  1. Open A2a Bridge in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

bash
npx a2a-bridge-mcp

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "a2a-bridge": {      "command": "npx",      "args": ["a2a-bridge-mcp"]    }  }}

From source

bash
git clone https://github.com/mdfifty50-boop/a2a-bridge-mcp.gitcd a2a-bridge-mcpnpm installnode 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 startup2. discover_agents   -- find who can handle a task3. delegate_task     -- send work to a specific agent   OR broadcast_task -- send work to all matching agents4. get_task_result   -- poll for completion or submit results5. get_agent_card    -- inspect an agent's full profile6. 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

Source: README.md at commit be04486

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.