Skip to main content
Glama

👀 一眼看明白

graph LR
    A[Claude Code] <--> H((ACH Hub))
    B[WorkBuddy] <--> H
    C[OpenClaw] <--> H
    D[自定义 Agent] <--> H
    H --> DB[(SQLite)]
    H --> Web[Web 仪表盘]
    style H fill:#4f46e5,color:#fff
    style Web fill:#7c3aed,color:#fff

任何 MCP 兼容的 AI Agent → 连接 Hub → 立即获得:消息总线、任务队列、共享记忆、进化引擎。

🚀 5 分钟启动:docker run -d -p 3100:3100 ghcr.io/liuboacean/agent-comm-hub


Related MCP server: Agent MCP Gateway

💡 为什么需要它?

多个 AI Agent(Claude Code、WorkBuddy、OpenClaw、Hermes 等)天然是信息孤岛:

问题

传统方案

为什么不行

❌ Agent 间无法通信

Webhook / 共享文件

脆弱、不可靠、手动维护

❌ 无法跨 Agent 调度任务

各自为战

没人协调,任务丢失

❌ 无法共享上下文

每轮对话都从零开始

记不住团队经验

❌ 无法团队进化

每个 Agent 独自踩坑

同样的问题反复修

Agent Communication Hub(ACH) 是它们的共享神经中枢——一条消息总线 + 任务调度器 + 团队记忆库 + 经验进化引擎。


🚀 三步上手

# 0. 安装 Python SDK(可选)
pip install agent-comm-hub

# 1. 启动 Hub(一行命令)
docker run -d -p 3100:3100 --name ach ghcr.io/liuboacean/agent-comm-hub

# 2. 注册 Agent
python3 -c "
from hub_client import SynergyHubClient
hub = SynergyHubClient('http://localhost:3100')
result = hub.register(invite_code='INVITE-001', name='my-agent')
hub.set_token(result['api_token'])
print(f'✅ Agent 注册成功,ID: {result[\"agent_id\"]}')
"

# 3. 发条消息试试
python3 -c "
from hub_client import SynergyHubClient
hub = SynergyHubClient('http://localhost:3100')
hub.set_token('your-token')
hub.send_message(to='other-agent', content='收到,任务完成。')
print('✅ 消息已发送')
"

🔗 然后打开 http://localhost:3100/dashboard 查看实时仪表盘


✨ 核心能力

📊 数据快照

指标

值

MCP 工具

58 个

Python SDK 方法

68 个

TypeScript SDK 方法

35 个

单元测试

288 个 ✅

数据库表

32 张

client-sdk 运行时依赖

0(Python/TS 纯标准库)

服务端运行时依赖

5 个轻量依赖(express / better-sqlite3 / zod / eventsource / @modelcontextprotocol/sdk)

消息延迟

< 50ms

部署方式

Docker / npm / SkillHub

🧩 功能矩阵

类别

工具

一句话

🔐 身份认证

6

注册 / 心跳 / RBAC / 信任评分

💬 消息通信

5

P2P / 广播 / FTS5 搜索 / 去重

📋 任务调度

8

7 状态机 / Pipeline / 并行组

🧠 共享记忆

5

三级作用域(私密/团队/全局)

🔀 编排协调

11

依赖链 / 质检门 / 任务交接

📈 进化引擎

12

经验共享 / 策略审批 / 信任闭环

🛡️ 安全审计

6

哈希链审计 / 4 级 RBAC / CORS

📎 文件传输

3

上传 / 下载 / 列表

🔧 高可用

3

DB 分裂检测 / 自动合并 / 看门狗


🖥️ 内置 Web 管理面板

启动 Hub 后打开 http://localhost:3100/dashboard,即可实时管理你的 Agent 集群:

页面

能干什么

总览仪表盘

一眼看清在线 Agent、Pipeline 状态、消息吞吐

Agents

查看所有 Agent 列表(名称、角色、最后活跃时间、信任分)

消息吞吐

5 分钟消息量 + 被限流的 Agent Top

健康检查

版本 / 运行时间 / DB 状态 / 备份状态(本地 + 远程)

审计日志

全量操作追溯,谁在什么时候做了什么

纯静态 HTML(零前端框架),内联 CSS+JS,启动即用。


🏗️ 架构

                        ┌─────────────────────────────────┐
                        │     Agent Communication Hub      │
                        │         localhost:3100           │
                        │                                  │
  ┌─────────┐  SSE/MCP  │  ┌──────┐ ┌──────┐ ┌────────┐  │  SSE/MCP  ┌─────────┐
  │ Claude  │◄─────────►│  │Auth  │ │Msg   │ │Memory  │  │◄─────────►│WorkBuddy│
  │ Code    │           │  │RBAC  │ │Bus   │ │FTS5    │  │           │         │
  └─────────┘           │  └──────┘ └──────┘ └────────┘  │           └─────────┘
                        │  ┌──────┐ ┌──────┐ ┌────────┐  │
  ┌─────────┐           │  │Task  │ │Orch  │ │Evol    │  │           ┌─────────┐
  │OpenClaw │◄─────────►│  │Sched │ │Str   │ │Engine  │  │◄─────────►│ Hermes  │
  └─────────┘           │  └──────┘ └──────┘ └────────┘  │           └─────────┘
                        └────────────┬────────────────────┘
                                     │
                              ┌──────▼──────┐     ┌─────────────┐
                              │   SQLite    │     │  Web Panel  │
                              │  (WAL 模式) │     │  /dashboard │
                              └─────────────┘     └─────────────┘

🔧 SDK 快速上手

Python — 零外部依赖

from hub_client import SynergyHubClient

hub = SynergyHubClient(hub_url="http://localhost:3100", agent_id="my-agent")
hub.set_token("your-api-token")

hub.send_message(to="other-agent", content="任务完成,交接。")     # 发消息
hub.store_memory(content="用户偏好 JSON", scope="collective")      # 存记忆
task = hub.create_task(title="评审 PR #42", assignee="claude-code") # 派任务
hub.share_experience(title="修复方案", content="...", category="debug") # 分享经验
hub.on_message = lambda msg: print(f"收到: {msg}")
hub.connect_sse()  # 实时监听

TypeScript — 零外部依赖

import { AgentClient } from "./client-sdk/agent-client.js";

const client = new AgentClient({
  agentId: "my-agent",
  hubUrl: "http://localhost:3100",
  token: "your-api-token",
  onMessage: async (msg) => { /* 处理消息 */ },
  onTaskAssigned: async (task) => { /* 处理任务 */ },
});
await client.start();
await client.sendMessage({ to: "other-agent", content: "搞定了!" });

🆚 对比其他方案

特性

ACH

自建 Webhook

共享数据库

消息队列(RabbitMQ)

5 分钟部署

✅

❌

❌

❌

MCP 原生支持

✅

❌

❌

❌

共享记忆 + FTS5 搜索

✅

❌

❌

❌

任务调度 + Pipeline

✅

❌

❌

❌

进化引擎(经验复用)

✅

❌

❌

❌

内置 Web 面板

✅

❌

❌

❌

审计哈希链

✅

❌

❌

❌

零外部服务

✅

✅

✅

❌

Python + TS SDK

✅

❌

❌

❌


📦 部署方式

🐳 Docker(推荐,一键启动)

docker run -d -p 3100:3100 --name ach ghcr.io/liuboacean/agent-comm-hub

📦 Docker Compose(含 Prometheus + Grafana 监控)

cd deploy/
docker compose up -d
# Hub: http://localhost:3100  |  Grafana: http://localhost:3000 (admin/admin)

🔧 源码安装

git clone https://github.com/liuboacean/agent-comm-hub.git
cd agent-comm-hub
npm install && npm run build
npm start          # 生产模式
# 或 npm run dev   # 开发模式

🎯 作为 Skill 安装

# ClawHub
claw install agent-comm-hub

# SkillHub(30+ 平台)
skillhub install agent-comm-hub

⚠️ Node 版本要求(重要)

本项目依赖原生模块 better-sqlite3,它是按 Node 22(NODE_MODULE_VERSION 127)编译的。因此:

  • 🔒 运行 Hub(dist/src/server.js 或 dist/src/stdio.js)必须用 Node 22 启动。若使用 Node 24(或更高),会因 ABI 不匹配立即抛出 ERR_DLOPEN_FAILED 崩溃,无法启动。

  • 🧪 CI 中的 Node 24 仅用于跑单元测试(且涉及 stdio 启动的冒烟用例已条件化 skip)。运行环境必须 Node 22(<23,better-sqlite3 原生 ABI NODE_MODULE_VERSION 127 要求),package.json 的 engines.node 即声明为 ">=22 <23"。不要用 Node 24 跑服务,否则 better-sqlite3 会因 ABI 不匹配报 ERR_DLOPEN_FAILED 启动崩溃。

  • ✅ 推荐做法:用版本管理器固定 Node 22(如 nvm use 22),或在启动脚本/hub 配置中显式写死 Node 22 二进制绝对路径。


🔌 给 Agent 配置 MCP

Stdio(推荐)

{
  "mcpServers": {
    "agent-comm-hub": {
      "command": "/path/to/node22/bin/node",
      "args": ["dist/src/stdio.js"],
      "env": { "HUB_AUTH_TOKEN": "your-key", "DB_PATH": "./comm_hub.db" }
    }
  }
}

⚠️ 必须用 Node 22 二进制启动(例如绝对路径 /path/to/node22/bin/node),不要用 Node 24。本项目原生模块 better-sqlite3 是按 Node 22(NODE_MODULE_VERSION 127)编译的,使用 Node 24 启动 dist/src/stdio.js 或 dist/src/server.js 会立即 ERR_DLOPEN_FAILED ABI 崩溃。

HTTP + SSE

{
  "mcpServers": {
    "agent-comm-hub": { "url": "http://localhost:3100/mcp" }
  }
}

🛡️ 安全体系

层级

措施

认证

Token + SHA-256 哈希存储,原始 Token 不落盘

授权

4 级 RBAC:public → member → group_admin → admin

审计

区块链式哈希链 prev_hash → record_hash,DB 触发器保障

信任

自动评分,0-100 分影响策略审批等级

网络

CORS 白名单制 / X-Frame-Options / CSP / HSTS


📁 项目结构

agent-comm-hub/
├── web/dist/index.html        # Web 管理面板(零前端框架)
├── src/                       # 核心源码(TypeScript)
│   ├── server.ts              # Express + SSE + MCP 入口
│   ├── db.ts                  # SQLite WAL 数据库
│   ├── backup.ts              # 自动备份模块
│   ├── identity.ts            # 注册 / 心跳 / RBAC
│   ├── memory.ts              # 三级记忆 + FTS5 搜索
│   ├── orchestrator.ts        # 依赖链 / Pipeline
│   ├── evolution.ts           # 经验共享 / 策略审批
│   └── security.ts            # Token / 审计 / CORS
├── client-sdk/
│   ├── hub_client.py          # Python SDK(68 方法,零依赖)
│   └── agent-client.ts        # TypeScript SDK(35 方法)
├── deploy/                    # Docker Compose + 监控
├── tests/                     # 288 个测试
└── docs/                      # 完整文档

📚 文档导航

文档

适合谁

API 参考

开发者(HTTP/SSE/MCP 端点 + Bearer 鉴权)

编排指南

搭 Pipeline 高级玩家

进化引擎指南

实验性,欢迎 PR(计划从 A 层 evolution-guide.md 同步)

Hermes 集成指南

实验性,欢迎 PR(计划从 A 层 hermes-integration-guide.md 同步)

DB 三层防护

运维/稳定性保障

Agent 协调时序图

想看清「任务从 A 到 B 全自动流转、哪里卡 HITL」的人

English README

English speakers

📌 文档同步说明(B 层为权威源):服务端仓库(agent-comm-hub-src)是文档的单一权威来源。当前 package.json 的 docs:sync 脚本依赖 scripts/sync-docs.ts,该文件尚未提供,因此 A 层 Skill 分发包(~/.workbuddy/skills/agent-comm-hub/)需手动同步:将本仓库的 docs/、SKILL.md、README.md 复制到 A 层对应位置。后续若补充 scripts/sync-docs.ts,可用 npm run docs:sync 自动同步。


🆕 更新历史

  • ⚡ 真实宿主执行器(HostExecutor) — 新增 client-sdk/adapters/host-executor.ts,提供 LlmHostExecutor / HttpHostExecutor 参考实现,defaultHostExecutor() 按环境变量自动选择;AbstractHostTaskBridge 新增可注入 executor 字段

  • 🔧 消灭 setTimeout 占位 — WorkBuddy / Hermes 桥 runTask() 委托 this.executor.execute(),任务到达即触发宿主真实能力,自主执行闭环真正打通

  • 📝 文档 — docs/HOST_INTEGRATION.md §4 重写,含 HostExecutor 注入模型与自定义执行器示例

  • 🤖 Feature A:Agent 自主执行闭环 — 新增 AgentRuntime(client-sdk/runtime.ts),自动驱动 in_progress → execute() → completed/failed,含 inFlight 去重 / 崩溃恢复 / loopGuard,消灭人工「传话」

  • 🔐 Feature B:人在环授权队列 — 新增操作级授权(auth_requests 表 + request_authorization/resolve_authorization 工具,deny-by-default,TTL 10min)+ Web AuthQueue 面板,敏感操作一键批准/拒绝

  • 🧹 清理陈旧产物 — 移除 client-sdk/ 下 3 个 5 月旧编译 .js(agent-client.js / hermes-integration.js / workbuddy-integration.js)及其 .map,修正 client-sdk/package.json 入口引用

  • 🟢 在线状态统一判定 — 新增 isAgentOnline() =(存在 SSE 实时连接)或(心跳 90s 内);get_online_agents、派单候选排序、/health/detailed、/api/agents、指标全部改用统一判定,SSE 连着即在线、可派单

  • 💓 心跳监控不再误杀 SSE 在线 Agent — 仍有 SSE 连接的 Agent 不因心跳陈旧误标离线、不再广播离线通知;SSE 连接建立即同步 agents.status

  • 🗂️ audit_log 行数上限自动归档 — 超 AUDIT_LOG_MAX_ROWS(默认 3000,env 可调)自动将最旧溢出行镜像到 audit_log_archive(WORM 安全,不删源表);新增启动即跑 + 每小时维护调度器

  • 📦 备份路径稳定化 — backup.ts 的 BACKUP_DIR 由 process.cwd()/backups(易失 workspace)改为 ~/agent-comm-hub/backups,与 launchd 备份脚本同目录,支持 BACKUP_DIR 覆盖

  • 🔌 P1-1 SSE 重连竞态 — registerClient/removeClient 增连接级 connId 校验,旧 socket 的 close 不再误删当前实时连接,重连后消息/任务不再静默丢失

  • 💾 P1-2 并发写 SQLITE_BUSY — busy_timeout=5000 + foreign_keys + WAL 自动检查点,消除并发写静默丢数据

  • 🛡️ P1-3 限流绕过 — 认证前置单 IP / 全局限流(防令牌爆破与未认证 /mcp 耗尽资源);/mcp 增并发在途上限(默认 50)防 DoS

  • 🔍 P1-4/5 FTS 值碰撞 — memories_fts 增 memory_id 精确关联键(启动迁移旧表),内容相同的两条记忆不再互相串台

  • 🔐 P2 质量 — 信任分按 target 列计吊销(管理员不再误扣);受保护端点仅接受 Bearer,移除 ?token= 与 x-api-key 令牌泄漏面

  • 🏗️ 构建产物固化 — dist/package.json 生成写入 build 脚本与启动脚本,消除「安装即崩溃」(version.ts 启动依赖 ../package.json)

  • 📝 文档工具数统一为 58 — 与 src/security.ts 的 TOOL_PERMISSIONS 矩阵一致,修正 README/SKILL.md 残留的 56/53

  • 📚 新建 docs/API_REFERENCE.md — 准确的 HTTP/SSE/MCP 端点速查(含 Bearer 鉴权与 SSE Last-Event-ID 断线重连);修正 README 三处死链

  • 🏷️ SKILL.md 文件传输工具名更正 — send_file/receive_file → upload_file/download_file

  • 🔒 修复 ClawScan 审计 67 findings — fail-closed 权限矩阵 + stdio 强制认证

  • 🛡️ IDOR 对象级授权加固 — assertOwns + HUB_2004 防越权访问

  • 🧩 版本单一真相源 — 抽离 src/version.ts;/health 收敛

  • 📄 同步中英文 README — 对齐 v2.5.1(Node 22 约束锁定 + 测试计数)

  • 🧹 测试卫生 — 修复 unit 测试在仓库根生成 undefined* 游离文件

  • 🐛 get_db_stats 修复 — ESM 模块误用 require("fs") 导致 require is not defined,改 import * as fs

  • 🔄 DB 路径容错 — resolveDbPath 新增空库自动回退,修复误连空库导致的记忆库/进化引擎"数据归零"假象

  • 🔒 Node 22 锁定 — 启动脚本固定 Node 22,匹配 better-sqlite3 原生模块(Node 24 会 ABI 崩溃)

  • 🧪 防护测试 — 新增 stdio/Hub 必须用 Node 22 的契约测试,防止被误改回 Node 24

  • 🧹 测试卫生 — 修复 unit 测试在仓库根生成 undefined* 游离文件(isValidDbPath 守卫)

  • 🖥️ Web 管理面板 — 纯静态 HTML 仪表盘,6 个实时页面

  • 🔄 在线状态改进 — 二元标签 → 最后活跃时间,不再跳变

  • 📦 备份模块 — 本地 + 远程 rsync 备份状态展示

  • ⏱️ 持久化运行时间 — 重启不归零

  • 📊 新增 API — GET /api/agents

  • 🔧 .gitignore 清理 — 移除已跟踪的编译产物

  • 🔍 FTS5 标签分词修复(空格拼接替代 JSON)

  • 📊 12 处静默吞异常 → logError 全链路可观测

  • 🔐 authed() 统一认证中间件重构

  • 🔒 FTS5 索引每次存储后自动校验

  • 🛣️ 支持 HUB_ROOT 环境变量

  • 📨 新增 generate_invite 邀请码工具

  • 🧪 新增 19 个测试用例


🤝 参与贡献

  • 🐛 发现 bug → 提 Issue

  • ✨ 有新想法 → Feature Request

  • 📖 改进文档 → PR 欢迎

  • 🔧 贡献代码 → Fork + PR


📄 许可证

MIT — 可自由用于个人和商业项目。


Available Tools

58 tools
accept_handoffA

接受任务交接。只有被请求的 target Agent 可以调用。接受后任务 assigned_to 转移到当前 Agent。

Inputs: task_id (required).

acknowledge_messageA

标记消息为已处理(acknowledged)。调用此工具后该消息不会再出现在未处理消息列表中。Hermes 处理完 WorkBuddy 发来的消息并回复后,必须调用此工具。

Inputs: agent_id (required), message_id (required).

activate_agentA

激活一个已注册的 Agent(registered/suspended → active)。已激活再激活幂等。

Inputs: agent_id (required).

add_dependencyA

添加任务依赖关系。下游任务必须等上游任务完成后才能开始。自动进行环检测。添加后下游任务自动进入等待状态。

Inputs: upstream_id (required), downstream_id (required), dep_type.

add_quality_gateA

在 Pipeline 中添加质量门。质量门在指定 order_index 之后阻塞后续任务,直到评估通过。criteria 为 JSON 格式的检查规则。

Inputs: criteria (required), gate_name (required), after_order (required), pipeline_id (required).

add_task_to_pipelineA

将任务添加到 Pipeline。指定任务在 Pipeline 中的顺序。不传 order_index 则自动追加到末尾。

Inputs: task_id (required), pipeline_id (required), order_index.

apply_strategyA

采纳一个已审批的策略。记录到策略应用记录中,apply_count 自增。

Inputs: strategy_id (required), context.

approve_strategyA

审批策略(approve/reject)。仅 admin 可调用。审批后通过 SSE 通知提议者。

Inputs: action (required), reason (required), strategy_id (required).

archive_dataA

手动触发数据归档。将指定天数之前的记录从主表移入归档表,以减少主表体积。可归档 messages(默认 30 天前)或 audit_log(默认 90 天前)。仅 admin 可调用。

Inputs: type (required), days, vacuum.

assign_taskC

将任务分配给另一个 Agent。对方收到 task_assigned 事件后会自主开始执行,无需人工确认。

Inputs: to (required), from (required), description (required), context, +1 more.

batch_acknowledge_messagesA

批量确认消息为已处理。可按 agent_id 和时间范围筛选,将匹配的未确认消息全部标记为 acknowledged。用于清理消息积压。

Inputs: agent_id (required), after, limit, before, +2 more.

broadcast_messageA

向多个 Agent 广播消息,适用于任务协调、状态同步、紧急通知。

Inputs: from (required), content (required), agent_ids (required), metadata.

check_consumedA

查询某资源是否已被当前 Agent 处理过。在处理 WorkBuddy 发来的文件或信号前,先调用此工具检查,已处理的直接跳过。

Inputs: agent_id (required), resource (required).

check_veto_windowA

检查策略的否决窗口状态。处于 48h 否决窗口内的策略,如果负面反馈超过正面反馈的 50%,可被 admin 撤回。

Inputs: strategy_id (required).

create_parallel_groupA

将多个任务标记为并行组。同一并行组内的任务可以同时执行,无需等待其他任务完成。适用于无依赖关系的同层任务。

Inputs: task_ids (required).

create_pipelineA

创建一个新的 Pipeline(任务流水线)。Pipeline 是任务的有序容器,可添加质量门进行阶段性质量检查。

Inputs: name (required), description.

deactivate_agentA

挂起一个活跃 Agent(active → suspended)。已挂起再挂起幂等。

Inputs: agent_id (required).

delete_memoryA

删除一条记忆。仅能删除自己的私有记忆(admin 可删除任何记忆)。

Inputs: memory_id (required).

download_fileB

下载附件,返回 Base64 编码的文件内容。

Inputs: attachment_id (required).

evaluate_quality_gateA

评估质量门(通过/失败)。质量门失败时,Pipeline 中阻塞的后续任务自动进入 waiting 状态。

Inputs: status (required), gate_id (required), result.

feedback_strategyB

对策略提供反馈(正面/负面/中性)。每个 Agent 对每个策略只能反馈一次(防刷)。

Inputs: feedback (required), strategy_id (required), applied, comment.

generate_inviteA

生成新 Agent 邀请码。仅 admin 可调用。邀请码默认 24 小时后过期。

Inputs: role, expires_in_hours.

get_db_statsA

获取数据库统计信息。包括各表行数、数据库文件大小、WAL 大小、最后归档时间等。仅 admin 可调用。

Inputs: no named parameters.

get_evolution_statusA

查看 Evolution Engine 进化指标统计。包含经验数、策略数、审批率、贡献者排名等。

Inputs: no named parameters.

get_online_agentsA

查询当前通过 SSE 在线连接的 Agent 列表,分配任务前可先确认对方在线。

Inputs: no named parameters.

get_pipelineA

查询 Pipeline 状态和进度。返回 Pipeline 信息、关联任务列表及各状态统计。

Inputs: pipeline_id (required).

get_task_dependenciesA

查询任务的上下游依赖关系。返回依赖图,包含每个关联任务的状态和依赖类型。

Inputs: task_id (required).

get_task_statusA

查询任务的当前状态、进度和执行结果。

Inputs: task_id (required).

heartbeatA

上报 Agent 心跳,维持在线状态并累积信任分。Agent 上线后应每 30 秒调用一次。超过 90 秒无心跳将自动标记为离线。连续在线心跳每 3 次自动增加 1 点 trust_score(上限 100)。

Inputs: agent_id (required).

list_attachmentsB

列出消息的所有附件列表。

Inputs: message_id (required).

list_memoriesA

列出可访问的记忆列表。按创建时间倒序排列。可按 scope 筛选。

Inputs: limit, scope, offset.

list_pipelinesB

列出所有 Pipeline。支持按状态筛选,按创建时间倒序排列。

Inputs: limit, status.

list_strategiesB

查询策略/经验列表。支持按状态、分类、提议者筛选。

Inputs: limit, status, category, proposer_id.

mark_consumedA

记录 Agent 已处理某个资源(文件路径或信号 ID)。处理完 WorkBuddy 发来的任何文件或信号后必须调用,防止下次重复处理。

Inputs: action (required), agent_id (required), resource (required), notes, +1 more.

pause_pipelineA

暂停一个活跃 Pipeline(active → paused)。已暂停再暂停幂等。

Inputs: pipeline_id (required).

propose_strategyA

提议一个策略。策略需 admin 审批后才能被其他 Agent 搜索和采纳。Hub 会自动判定敏感级别。

Inputs: title (required), content (required), category (required), task_id.

propose_strategy_tieredB

提议策略(分级审批)。Hub 自动判定审批等级:auto(自动通过+72h观察窗口)、peer(同行审批)、admin(管理员审批)、super(高风险,需人工审批)。返回判定等级和审批状态。

Inputs: title (required), content (required), category (required), task_id.

query_agentsB

查询已注册的 Agent 列表。支持按状态、角色筛选。

Inputs: role, status, capability.

recalculate_trust_scoresA

手动触发信任评分重算。基于多因子自动计算:verified capabilities (+3)、approved strategies (+2)、positive feedback (+1)、negative feedback (-2)、rejected applications (-3)、revoked tokens (-10)。不传 agent_id 则重算全部。仅 admin 可调用。

Inputs: agent_id.

recall_memoryA

通过关键词全文搜索召回记忆。搜索范围包括自己的私有记忆、组内共享记忆和全局记忆。使用 FTS5 引擎,支持多关键词、短语搜索。

Inputs: query (required), limit, scope.

register_agentA

注册新 Agent 到 Hub。需要有效的邀请码。注册成功返回 agent_id 和 api_token(仅显示一次)。

Inputs: name (required), invite_code (required), capabilities.

reject_handoffA

拒绝任务交接。只有被请求的 target Agent 可以调用。拒绝后交接请求取消。

Inputs: task_id (required), reason.

remove_dependencyA

删除任务依赖关系。删除后自动检查下游任务是否可以开始执行。

Inputs: upstream_id (required), downstream_id (required).

request_handoffB

请求任务交接。将任务转交给另一个 Agent。目标 Agent 需要调用 accept_handoff 或 reject_handoff。只有负责人或创建者可以发起交接。

Inputs: task_id (required), target_agent_id (required).

resume_pipelineA

恢复一个暂停的 Pipeline(paused → active)。已激活再恢复幂等。

Inputs: pipeline_id (required).

revoke_tokenA

吊销 API Token,使其立即失效。仅 admin 可调用。

Inputs: token_id (required).

score_applied_strategiesA

自动评分已采纳策略:将 7 天前采纳但仍为 neutral 反馈的策略降为 negative。应定期调用。

Inputs: no named parameters.

search_memoriesB

全文搜索记忆内容。使用 FTS5 引擎,支持多关键词、短语搜索。可按可见范围和标签筛选。

Inputs: query (required), tags, limit, scope, +1 more.

search_messagesA

全文搜索消息内容。支持按 Agent ID 筛选。使用 SQL LIKE 模糊匹配(暂无 FTS5 索引)。

Inputs: query (required), limit, agent_id.

search_strategiesA

通过关键词全文搜索策略和经验。仅返回已审批(approved)的策略。

Inputs: query (required), limit, category.

send_messageA

向另一个 Agent 发送即时消息。对方在线时实时送达(<50ms),离线时持久化存储,上线后自动补发。

Inputs: to (required), from (required), content (required), type, +1 more.

set_agent_roleA

设置 Agent 角色(admin/member/group_admin)。group_admin 需指定 managed_group_id,仅能管理该 parallel_group 内成员的任务。仅 admin 可调用。

Inputs: role (required), agent_id (required), managed_group_id.

set_trust_scoreA

调整 Agent 信任分(-100 到 +100 的增量)。信任分影响 collective 记忆搜索排序,高信任 Agent 的记忆排名靠前。仅 admin 可调用。

Inputs: delta (required), agent_id (required).

share_experienceA

分享经验到 Hub。经验直接发布(不需审批),所有 Agent 可见。适合记录踩坑经验、最佳实践。

Inputs: title (required), content (required), tags, task_id.

store_memoryA

存储一条记忆到 Hub。支持 private(仅自己可见)、group(组内可见)、collective(全局可见)三种范围。存储后可通过 recall_memory 全文搜索召回。

Inputs: content (required), tags, scope, title, +1 more.

update_task_statusA

更新任务执行状态,自动实时通知发起方。支持中途汇报进度(in_progress + progress)。

Inputs: status (required), task_id (required), agent_id (required), result, +1 more.

upload_fileB

上传文件附件并关联到消息。文件以 Base64 编码传入,服务端解码后存储到本地磁盘。

Inputs: filename (required), message_id (required), content_base64 (required), mime_type.

veto_strategyA

撤回处于否决窗口内的策略(admin only)。仅在负面反馈超过正面反馈 50% 时可用。

Inputs: reason (required), strategy_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 58 tools

    Disambiguation3/5

    Many tools have distinct purposes (e.g., propose_strategy vs share_experience, store_memory vs recall_memory), but there is notable overlap between search_memories and recall_memory (both are FTS5 full-text search), and between get_task_status and update_task_status (one is status query, one is status update but names are close). Also, propose_strategy and propose_strategy_tiered are nearly identical in purpose, differing only in approval process, which could cause confusion despite descriptions clarifying slightly.

    Naming Consistency4/5

    Most tool names follow a clear verb_noun pattern (e.g., accept_handoff, get_task_status, create_pipeline, activate_agent). There are minor deviations: 'check_consumed' vs 'mark_consumed' are consistent, but 'get_db_stats' is a bit non-standard (could be 'get_database_stats'), and 'score_applied_strategies' mixes an adjective into the noun phrase. However, the overall consistency is high.

    Tool Count2/5

    58 tools is far beyond the typical 3-15 range. The server covers a wide domain (agent management, messaging, memory, strategies, tasks, pipelines, attachments, admin), but the count is excessive and likely overwhelms an agent's tool selection. Many tools are variants (e.g., 5 pipeline-related tools) that could be consolidated, but 58 is still a heavy load.

    Completeness4/5

    The tool set covers the core lifecycle for all its domains: agent registration/activation/deactivation, messaging with ack processing, memory CRUD and search, strategy proposal/approval/feedback, task assignment/status/dependencies, pipeline creation/management, and file attachments. Minor gaps exist: no direct way to delete a message, no audit log query, and no tool to explicitly list consumed resources (only check_consumed for a specific one), but agents can work around these.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers