关于 a2a-bridge
a2a-bridge 是用于协调 MCP Agent 间通信的 MCP 服务,支持能力发现、任务委派与结果跟踪或广播,适用于多 Agent 工作流。
主要功能
- 01按能力和 Schema 注册 Agent
- 02按能力相似度查找 Agent
- 03委派并跟踪 Agent 任务
- 04向匹配的 Agent 广播任务
- 05跟踪状态并提交结果
- 06查看 Agent 卡片与网络
适用场景
- 01将代码审查分配给合适的 Agent
- 02由编排 Agent 委派工作
- 03向所有匹配的 Agent 发送任务
MCP 相关
它向 MCP 客户端提供 Agent 注册、发现、委派、广播及结果查询工具,并提供 Agent 列表资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
a2a-bridge-mcp
用于 Agent 间通信的 MCP 服务——在各个 MCP Agent 之间发现能力、委派任务并汇总结果。
MCP 将 Agent 连接到工具,但无法让它们彼此连接。此服务在 MCP 协议中添加了标准化的 Agent 间通信层,可用于注册 Agent、发现能力、委派任务,以及向多个 Agent 广播任务。灵感来自 Google 的 A2A 协议。
安装
npx a2a-bridge-mcp
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"a2a-bridge": {
"command": "npx",
"args": ["a2a-bridge-mcp"]
}
}
}
从源代码安装
git clone https://github.com/mdfifty50-boop/a2a-bridge-mcp.git
cd a2a-bridge-mcp
npm install
node src/index.js
工具
register_agent
注册具有相应能力的 Agent,以便其他 Agent 发现。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
agent_id | string | 必填 | 唯一的 Agent 标识符 |
capabilities | string[] | 必填 | 能力字符串(例如 ["code-review", "summarization"]) |
description | string | "" | 供人阅读的描述 |
input_schema | object | {} | 接受的输入的 JSON 架构 |
output_schema | object | {} | 生成的输出的 JSON 架构 |
endpoint | string | "" | 可选的端点或传输提示 |
discover_agents
通过模糊文本相似度评分,查找符合能力需求的 Agent。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
capability_needed | string | 必填 | 要搜索的能力 |
min_score | number | 0.3 | 最低相似度分数(0-1) |
返回按相关性排序的匹配结果及其分数。
delegate_task
将任务委派给指定的已注册 Agent。创建具有状态生命周期的跟踪任务。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
from_agent | string | 必填 | 委派任务的 Agent ID |
to_agent | string | 必填 | 目标 Agent ID |
task_description | string | 必填 | 目标 Agent 应执行的操作 |
input_data | object | {} | 任务的输入数据 |
timeout_ms | number | 30000 | 超时时间(毫秒) |
返回用于跟踪的 task_id。
get_task_result
获取已委派任务的状态和结果。执行任务的 Agent 也可使用此工具提交结果。
| 参数 | 类型 | 描述 |
|---|---|---|
task_id | string | 来自 delegate_task 或 broadcast_task 的任务 ID |
submit_result | object | (可选)提交完成结果 |
submit_error | string | (可选)提交失败错误 |
状态生命周期:pending -> running -> completed / failed。
broadcast_task
向所有符合指定能力的 Agent 发送任务。为每个匹配结果创建单独的跟踪任务。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
from_agent | string | 必填 | 发起广播的 Agent ID |
capability_needed | string | 必填 | 要匹配的能力 |
task_description | string | 必填 | 匹配的 Agent 应执行的操作 |
input_data | object | {} | 输入数据 |
min_score | number | 0.3 | 最低匹配分数 |
timeout_ms | number | 30000 | 每个 Agent 的超时时间 |
返回任务 ID 列表,可通过 get_task_result 汇总结果。
get_agent_card
获取 Agent 的完整能力卡片,包含架构、统计数据和任务历史。
| 参数 | 类型 | 描述 |
|---|---|---|
agent_id | string | Agent 标识符 |
返回能力、输入/输出架构、成功率和任务数量。灵感来自 Google A2A Agent 卡片。
list_agents
列出所有已注册的 Agent,可按能力筛选。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
filter | string | "" | 用于筛选的能力关键词(空值 = 全部) |
资源
| URI | 描述 |
|---|---|
a2a://agents | 所有已注册的 Agent 及其能力和统计数据 |
使用模式
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
多 Agent 工作流示例
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 })
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。