mcpField
B
baton

baton

远程服务
github.com/vinsenzo83AI 与智能体015 周前更新
代码仓库

关于 baton

baton 是用于交接 AI 产出并通过独立重放进行核验的 MCP 服务。它将交接内容与实际执行证据绑定为服务端签名的 Verification Receipt,适用于需要跨人员或 Agent 评估成果的团队。

主要功能

  1. 01封装并交接工作胶囊
  2. 02独立重放交接内容
  3. 03签发 Verification Receipt
  4. 04按信任级别汇总交接
  5. 05管理团队房间和邀请
  6. 06绑定 Git 与测试证据

适用场景

  1. 01验收外包的 AI 变更前进行核验
  2. 02在团队成员之间交接工作
  3. 03审查 Agent 交接中的执行证据
  4. 04汇总多项交接的核验结果

MCP 相关

任何支持 MCP 的客户端都可连接 baton,以传递、接收、比较和核验工作胶囊。它提供交接、核验、团队房间、任务、Git 和成本工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://baton-mcp-production.up.railway.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmbaton-mcp0.2.0

工具

45
参数类型必填说明
namestring否房间名称
aliasstring否房主昵称(提供后自动加入)
api_keystring否房主账号密钥——具有房间管理(签发邀请、kick、审批)权限。也会通过 Authorization 标头自动附加
require_approvalboolean否true=加入需要房主批准

详细介绍

🏃 BATON

交接 AI 工作——并附上凭证。

AI 完成了工作。下一位接手者——或下一个 AI——如何知道它确实可用,而不只是构建通过?BATON 将一项 AI 工作封装成可移植的胶囊,再由独立验证者重放并签发服务器签名的验证凭证。接收者信任的是观察到的证据,而非口头声明。

没有凭证,就绝不信任 Agent 的交接。

BATON 是一个标准的 MCP(Model Context Protocol)服务——任何支持 MCP 的工具(Claude Code、Codex CLI、Gemini CLI、Cursor …)只需通过一个 URL 连接。生产者和验证者可以是不同的模型、机器和人员。

为什么选择它,而不是那十几种编排工具?

同时运行 Claude + Codex + Gemini(蜂群、房间、Agent 消息传递)是一个竞争激烈的领域。BATON 不属于这一类。它专注于几乎没人做的一件事:**将交接产物与独立执行证据绑定为一个可验证、防伪的信任单元。**这就是凭证。

Claude did the work
   ↓  baton_pass  → sealed capsule (BTN-H-…)
Codex / a teammate receives it
   ↓  baton_verify → replay in a clean env, observe the real flow
   ↓
🕸️ VERIFIED — signed receipt: who verified · what was observed · in what env · with what artifacts
   ↓
trust  (or reject)

真正的买家不是“我在 Claude→Codex 之间切换”(重读代码库就行),而是外包方→内部团队、离职者→接任者、韩国团队→美国团队——对他们来说,“这是 AI 做的,它真的可用吗?”是值得花钱得到答案的问题。

凭证(差异化优势)

baton_verify 不会返回一个 ✅ 贴纸,而是返回一条签名记录:

{
  "kind": "baton.verification-receipt/v1",
  "capsule": "BTN-H-…",              // the handoff this verifies
  "verifier": "receiver-spider",    // WHO verified — independent of the producer
  "environment": { "os": "ubuntu-24.04", "node": "24.2" },
  "observed": [{ "claim": "payment succeeds", "observed": true,
                 "detail": "POST /pay 200 + order row +1" }],
  "artifacts": ["playwright.trace.zip", "network.har"],
  "verdict": "verified",
  "signature": "…hmac-sha256…"       // server-signed → tamper the verdict, break the sig
}

如果将 verdict 改为 "verified" 却不重新签名,徽章就会被拒绝。构建通过本身永远不足以获得 verified——只有观察到的端到端结果才行(这能捕捉到无声的 upsert:返回 200,却什么也没写入)。

工具

分组工具功能
交接baton_pass baton_receive baton_diff baton_revoke将工作胶囊封装为代码(BTN-H-…),交接并比较版本。正文使用由代码派生的密钥加密——服务器永远看不到明文
验证baton_verify baton_verify_plan baton_consolidate + spider_* ×6独立验证者重放并签发签名凭证(无观察结果,就没有 🕸️);consolidate 按信任等级将多个交接汇总到一块结果看板
团队房间 (辅助功能)baton_create_room baton_new_invite baton_join baton_send baton_inbox baton_who baton_leave baton_kick baton_approve baton_close_room由所有者管理的持久化房间;成员通过轮换的邀请码加入(BTN-R-…,有效期 72h,可重新签发)。所有者可以移除成员、批准加入(可选门槛)或关闭房间。加入后,活动按 member_id 记录
运营baton_task_* baton_git_* baton_cost_*支持循环依赖检查的私有任务 DAG、Git 提交/差异/测试证据绑定,以及幂等的提供方/模型/任务成本账本

运营仪表板:/ops.html。它只存储任务元数据、Git 证据和成本信息;BATON 从不要求提供代码库凭据。

网络仪表板:/network.html。共享记忆使用账户密钥加密正文,且只搜索元数据。MCP Hub 会拒绝包含凭据的 URL。市场声誉只接受独立、服务器签名的 VERIFIED 凭证。

所有公开界面默认使用韩语,并通过 /dash.html(协作房间)、/board.html(验证结果)、/ops.html(任务·Git·成本)、/network.html(记忆·MCP·Agent)相互连接。

设计原则(来自安全审查)

  • **使用代码派生的密钥加密。**服务器只存储 ciphertext + code_hash。没有代码,即使运营者也无法读取明文——这证明了“我们无法将你锁定在平台内”。
  • **签名凭证。**判定结果由服务器端使用 HMAC 签名(BATON_RECEIPT_SECRET);任何客户端都无法伪造 verified。
  • **遏制提示词注入。**传入的胶囊/消息会以围栏形式作为不可信数据返回;秘密信息在存储前会自动遮蔽。
  • 代码是至少 128 位的秘密值;一次性代码以原子方式兑换,并阻止别名欺骗。
  • 构建通过 ≠ 行为可用。verified 必须有观察到的副作用,绝不能只靠静态分析。

运行

npm install
npm test                                      # 15/15 E2E groups pass
node src/server.js                            # stdio (local / any CLI)
BATON_HTTP=1 PORT=8080 node src/server.js      # remote Streamable HTTP
注册(远程)
claude mcp add --transport http baton https://baton-mcp-production.up.railway.app/mcp

计费/门控默认关闭(内部试用阶段)。设置 BATON_BILLING=on 可重新启用配额。完整指南请参阅 USAGE.md。

存储

MVP 使用 SQLite(better-sqlite3)——可自托管的单一二进制文件。托管服务会在 src/store.js 的精简接口中接入 Postgres 适配器。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。