mcpField
C
CHAP Coordinator

CHAP Coordinator

本地服务
github.comAI 与智能体1226 天前更新

关于 CHAP Coordinator

CHAP Coordinator 的 MCP 服务适配器,将 CHAP 的 39 个方法以 chap. 前缀的工具形式暴露给 MCP 客户端。它用于记录人工对 AI Agent 工作的审批、编辑、覆盖和升级决策,并可持久化到 SQLite 文件。

主要功能

  1. 01将 39 个 CHAP 方法暴露为 MCP 工具
  2. 02通过环境变量配置 SQLite 持久化路径
  3. 03可选配置 CHAP 配置档,默认启用审计链
  4. 04基于 stdio 运行,也可挂载其他 MCP 传输方式
  5. 05工具输入使用 JSON Schema 描述

适用场景

  1. 01在 Claude Desktop 或 Claude Code 中记录人工审批与覆盖决策
  2. 02为多个工作区保存 AI Agent 工作的可审计记录
  3. 03在 MCP 客户端中查询并管理 CHAP 工作区

MCP 相关

该项目是 MCP 服务,将 CHAP Coordinator 的全部方法暴露为 MCP 工具,并通过 tools/list 与 tools/call 处理请求。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"brightbeamai-chap": {
"command": "npx",
"args": [
"-y",
"@brightbeamai/chap-coordinator-mcp"
],
"env": {
"CHAP_DB_PATH": "<CHAP_DB_PATH>",
"CHAP_PROFILES": "<CHAP_PROFILES>"
}
}
}
}
启动命令npx -y @brightbeamai/chap-coordinator-mcp
需要配置的环境变量
CHAP_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@brightbeamai/chap-coordinator-mcp0.3.3

工具

39

收录的工具列表 · 更新于 1 周前

参数类型必填说明
modeenum否此处创建的任务的默认模式。在 modes/1.0 下,无论调用方传入什么值,试运行模式任务的 review_required 都会设为 true。在此实现中,'shadow' 和 'production' 会记录在任务上,但不会触发其他行为。shadow | trial | production
profilesarray否要启用的配置文件标识符,例如 ['core/1.0', 'review/1.0']。这些标识符会记录在工作区中。有两个配置文件会因启用而改变行为:modes/1.0(试运行模式任务需要审查)和 audit-scitt/1.0(启用哈希链接链)。
workspacestring否要创建的工作区 ID。省略时会自动生成。
mode_ceilingenum否此工作区中的任务可请求的最高模式。高于此上限的 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_PATHSQLite 文件的路径。未设置时,协调器将在内存中运行,客户端重启后所有工作区都会丢失。
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,并测试每个主要配置。

另请参阅

许可证

Apache 2.0。请参阅父仓库的 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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