关于 CHAP Coordinator
CHAP Coordinator 的 MCP 服务适配器,将 CHAP 的 39 个方法以 chap. 前缀的工具形式暴露给 MCP 客户端。它用于记录人工对 AI Agent 工作的审批、编辑、覆盖和升级决策,并可持久化到 SQLite 文件。
主要功能
- 01将 39 个 CHAP 方法暴露为 MCP 工具
- 02通过环境变量配置 SQLite 持久化路径
- 03可选配置 CHAP 配置档,默认启用审计链
- 04基于 stdio 运行,也可挂载其他 MCP 传输方式
- 05工具输入使用 JSON Schema 描述
适用场景
- 01在 Claude Desktop 或 Claude Code 中记录人工审批与覆盖决策
- 02为多个工作区保存 AI Agent 工作的可审计记录
- 03在 MCP 客户端中查询并管理 CHAP 工作区
MCP 相关
该项目是 MCP 服务,将 CHAP Coordinator 的全部方法暴露为 MCP 工具,并通过 tools/list 与 tools/call 处理请求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @brightbeamai/chap-coordinator-mcpCHAP_DB_PATHPath to a SQLite file. Without it the coordinator runs in memory and workspaces are lost when the client restarts.CHAP_PROFILESComma-separated CHAP profiles enabled on new workspaces. Defaults to Core plus review, whisper, deliberation, handoff, control, routing, modes and audit-scitt.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
39收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mode | enum | 否 | 此处创建的任务的默认模式。在 modes/1.0 下,无论调用方传入什么值,试运行模式任务的 review_required 都会设为 true。在此实现中,'shadow' 和 'production' 会记录在任务上,但不会触发其他行为。shadow | trial | production |
| profiles | array | 否 | 要启用的配置文件标识符,例如 ['core/1.0', 'review/1.0']。这些标识符会记录在工作区中。有两个配置文件会因启用而改变行为:modes/1.0(试运行模式任务需要审查)和 audit-scitt/1.0(启用哈希链接链)。 |
| workspace | string | 否 | 要创建的工作区 ID。省略时会自动生成。 |
| mode_ceiling | enum | 否 | 此工作区中的任务可请求的最高模式。高于此上限的 task.create 请求将被拒绝,并返回 -32040。之后可通过 chap.control.set_mode_ceiling 更改此上限。shadow | trial | production |
详细介绍
@brightbeamai/chap-coordinator-mcp
CHAP Coordinator 的 MCP 服务适配器。封装一个 Coordinator
实例,并将每个 CHAP 方法都作为 MCP
工具公开,因此任何 MCP 客户端(Claude Desktop、Cursor、Claude Code 等)
都可以直接操作 CHAP 工作区。
规范目标:MCP 2026-07-28,同时支持 MCP 2025-11-25 客户端 · CHAP 0.3。
作为服务运行
此软件包提供了一个 stdio 服务,因此 MCP 客户端无需编写任何代码即可使用 CHAP。 只需将客户端指向该服务:
{
"mcpServers": {
"chap": {
"command": "npx",
"args": ["-y", "@brightbeamai/chap-coordinator-mcp"],
"env": { "CHAP_DB_PATH": "~/chap.db" }
}
}
}
全部 39 个方法都会作为名为 chap.<method> 的工具提供。可通过两个环境
变量进行配置:
| 变量 | 作用 |
|---|---|
CHAP_DB_PATH | SQLite 文件的路径。未设置时,协调器将在内存中运行,客户端重启后所有工作区都会丢失。 |
CHAP_PROFILES | 新工作区使用的逗号分隔配置。默认为 Core 加上 review、whisper、deliberation、handoff、control、routing、modes 和 audit-scitt,因此从第一条记录开始就会启用审计链。 |
持久化需要 better-sqlite3,这是协调器的可选原生依赖项。如果设置了
CHAP_DB_PATH,但无法加载该依赖项,服务会报错并退出,而不会改为在内存中启动,
导致被要求保留的决策丢失。
该服务也已列入 MCP registry,
名称为 io.github.BrightbeamAI/chap。
安装
npm install @brightbeamai/chap-coordinator-mcp
需要 Node 20+。运行时依赖项:@brightbeamai/chap-coordinator、
@modelcontextprotocol/sdk 和 zod。可执行文件为 chap-mcp-server。
快速开始
import { Coordinator } from "@brightbeamai/chap-coordinator";
import { makeChapMcpServer } from "@brightbeamai/chap-coordinator-mcp";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const coord = new Coordinator({
defaultProfiles: ["core/1.0", "review/1.0", "audit-scitt/1.0"],
});
const server = makeChapMcpServer(coord, { name: "chap", version: "0.3.3" });
await server.connect(new StdioServerTransport());
返回的 Server 是官方 MCP SDK 的 Server 类,并已预先注册
tools/list 和 tools/call 处理程序。可接入任何 MCP 传输方式(stdio、Streamable HTTP 等)。
可运行的参考服务位于
reference/mcp-server-ts/。
公开的内容
全部 39 个 CHAP 方法都会作为名为 chap.<method> 的 MCP 工具提供。每个
工具的 inputSchema 都是对应方法参数的 JSON Schema。工具描述经过调整,便于大模型使用。
chap. 前缀可避免与客户端可能同时加载的其他 MCP 服务发生冲突。
架构
- 一个 Coordinator,一个 MCP 服务。 多工作区由 Coordinator
内部处理(工作区可通过 ID 寻址);MCP
层是无状态的,每次工具调用都会通过
coord.dispatch()路由。 - Schema 单一来源。 工具输入由 JSON Schema(而非 Zod)描述,并直接传递给 Coordinator,不在 MCP 层 重新验证。Coordinator 自身的 dispatch 会验证参数并返回符合规范的 JSON-RPC 错误代码,适配器会将其作为 MCP 工具错误呈现。
- 暂不处理身份验证。 适配器未启用身份验证;MCP OAuth 2.1 身份验证模型会在 Streamable HTTP 传输层接入, 而非在适配器内部接入。
测试
npm test
集成测试使用 SDK 的 InMemoryTransport.createLinkedPair()
端到端驱动封装后的 Coordinator,并测试每个主要配置。
另请参阅
- 集成说明:
integrations/CHAP-with-MCP.md - 五分钟快速指南:
examples/drive-chap-from-claude-desktop.md - Python 对应实现:
chap_coordinator.transports.mcp_server
许可证
Apache 2.0。请参阅父仓库的 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。