The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the A2a Bridge listing page.
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.
Add to claude_desktop_config.json:
Register an agent with capabilities for discovery by other agents.
| Param | Type | Default | Description |
|---|---|---|---|
agent_id | string | required | Unique agent identifier |
capabilities | string[] | required | Capability strings (e.g. ["code-review", "summarization"]) |
description | string | "" | Human-readable description |
input_schema | object | {} | JSON schema for accepted input |
output_schema | object | {} | JSON schema for produced output |
endpoint | string | "" | Optional endpoint or transport hint |
Find agents matching a capability need with fuzzy text similarity scoring.
| Param | Type | Default | Description |
|---|---|---|---|
capability_needed | string | required | Capability to search for |
min_score | number | 0.3 | Minimum similarity score (0-1) |
Returns scored matches sorted by relevance.
Delegate a task to a specific registered agent. Creates a tracked task with status lifecycle.
| Param | Type | Default | Description |
|---|---|---|---|
from_agent | string | required | Delegating agent ID |
to_agent | string | required | Target agent ID |
task_description | string | required | What the target should do |
input_data | object | {} | Input data for the task |
timeout_ms | number | 30000 | Timeout in milliseconds |
Returns a task_id for tracking.
Get status and result of a delegated task. Also used by executing agents to submit results.
| Param | Type | Description |
|---|---|---|
task_id | string | Task ID from delegate_task or broadcast_task |
submit_result | object | (Optional) Submit completion result |
submit_error | string | (Optional) Submit failure error |
Status lifecycle: pending -> running -> completed / failed.
Send a task to ALL agents matching a capability. Creates individual tracked tasks for each match.
| Param | Type | Default | Description |
|---|---|---|---|
from_agent | string | required | Broadcasting agent ID |
capability_needed | string | required | Capability to match |
task_description | string | required | What matched agents should do |
input_data | object | {} | Input data |
min_score | number | 0.3 | Minimum match score |
timeout_ms | number | 30000 | Timeout per agent |
Returns list of task IDs for aggregation via get_task_result.
Get an agent's full capability card with schemas, stats, and task history.
| Param | Type | Description |
|---|---|---|
agent_id | string | Agent identifier |
Returns capabilities, input/output schemas, success rate, and task counts. Inspired by Google A2A agent cards.
List all registered agents, optionally filtered by capability.
| Param | Type | Default | Description |
|---|---|---|---|
filter | string | "" | Capability keyword to filter by (empty = all) |
| URI | Description |
|---|---|
a2a://agents | All registered agents with capabilities and stats |
MIT