CHAP Coordinator: a log of human decisions on agent work
CHAP Coordinator
An MCP server that records a person's approvals, edits and escalations of agent work in a log with a verifiable hash chain
- 122 ★ on the repository
- Last commit
- Apache-2.0
Minimal access
Why this level
- The server writes only to its own log or SQLite database and does not touch your files or services
- The decision log may hold draft and edit contents: treat it as working data
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/chap-coordinatorDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The server writes only to its own log or SQLite database and does not touch your files or services
- The decision log may hold draft and edit contents: treat it as working data
This is third-party code. Review the repository files before installing.
What it does
CHAP (Collaborative Human-Agent Protocol) defines a shared shape for the decisions people make over agent work: approval, rejection, override, handoff and escalation. The coordinator checks each call against the workspace rules and writes it to an ordered audit log. The package `@brightbeamai/chap-coordinator-mcp` exposes the CHAP methods as MCP tools, so Claude Desktop, Cursor or Claude Code can drive a workspace without custom code. By default the server acts as a single participant, the agent `agent:assistant`, and refuses to act as a human: a person decides in a separate review desk, never through the assistant. A person's edit is recorded as an override envelope with a diff, a rationale and tags the team defines, so corrections can be analysed later. With the hash chain on, an altered entry is detected on verification. Optional profiles add signatures, binding of keys to identities and a transparency log.
Who it is for. Teams where agents draft and recommend and people approve, and must leave a verifiable trail: from a solo developer with Cursor to regulated manufacturing.
Good fit when
- Agent work goes through approval and you need a log of who approved what and why
- A person's edits to agent output should be collected with a rationale and tags for analysis
- A change log must detect tampered entries and not only store them
- An agent runs tasks but the decision on each stays with a person in a review desk
- You want one description of approvals across MCP and A2A
Not a fit when
- You only need to ask for confirmation in chat: the agent's built-in permission prompts are enough
- You need a ready task manager or tracker: CHAP describes a decision log, not a task board
- You need a stable protocol: version 0.3 is a public draft and may change before 1.0
Example request
Record in CHAP that I approved the client email draft with an edit to the third paragraph, and state the reason for the edit.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
CHAP_PARTICIPANT- Participant the server makes calls as, `agent:assistant` by default.
CHAP_DB_PATH- Path to a SQLite file that stores the workspaces.
Limitations
CHAP 0.3 is a public draft: the interface may change before 1.0. The reference coordinators are written in TypeScript and Python, and the MCP server needs Node 22 or newer.
Without `--url` and `--db` the server keeps data only in memory and loses workspaces when the client restarts, and says so on stderr. Persistent storage needs the optional `better-sqlite3` package: if it cannot be loaded while `--db` is set, the server exits and does not accept decisions it cannot record.
Tamper detection works only if a recent chain head is kept out of the operator's reach. The details are in `SECURITY.md`.
How to disable. Remove the `chap` entry from the MCP client config. A SQLite file set through `--db` is deleted by hand.
FAQ
What is CHAP in plain terms?
A protocol for recording what an agent did and what a person decided: approved, rejected, edited or escalated. Entries go into one log that can be queried and verified.
How does CHAP relate to MCP and A2A?
MCP connects agents to tools and A2A connects agents to each other, while CHAP records the work agents share with people. The protocols complement each other.
Can the assistant approve its own work?
No. The server refuses to act as a `human:` participant and rejects calls naming other participants. A person decides in the review desk.
How do I install the server?
Install the package with `npm install @brightbeamai/chap-coordinator-mcp`; the binary is `chap-mcp-server`. For a project with a review desk use `npx create-chap-app my-gate --template mcp-gate`.
Where is the log stored?
In a SQLite file with `--db`, on the CHAP server you point to with `--url`, and only in process memory with neither.
Discussion
No questions or reviews yet.
Related
MCP serversMCP server for a shared agent room: decisions, tasks verified by another agent and a final report, joined by code.
MCP server of the self-hosted EmperorClaw panel: Claude Code and Codex read company knowledge, tasks and customers in scope
An MCP server and CLI coordinate specialized agents, retain working patterns and connect tasks with project hooks.
An MCP server that inserts a human feedback step into agent tasks: a web or desktop window for text, images and prompts
Local agent memory built on a corrections ledger: tell Claude Code once and a new session reads the rule before it starts work
An MCP server that runs sub-agents defined in Markdown through Codex, Claude Code, Cursor CLI and other CLIs from any MCP client
README in short
The README walks through workspace, participant, task, artefact, envelope and audit log. Core is extended by optional profiles, and installation is through TypeScript and Python packages and the `create-chap-app` generator. The repository also holds the specification, a glossary, an arXiv technical report and a security review.