
Collaborative Human-Agent Protocol
Including the
responsible human
CHAP is a protocol for auditable human-agent collaboration. It is open, and designed to work with MCP and A2A.
The complete technical introduction
Meet CHAP.
A technical introduction to structured, auditable collaboration between humans and AI agents.
What it is
A structured record of human-agent work
An agent drafts a decision and a person approves, edits or overrides it. That judgement is the most valuable signal in the system, and it usually gets lost in chat threads and tickets.
CHAP turns it into a structured, verifiable record.
Maya, a support specialist, reviews dozens of an agent's drafts every day. Unless her edits are captured, the agent keeps making the same mistakes.
We sincerely apologise for the extreme delay just wanted to follow up, your order is in transit and will arrive within the next three business days. We deeply regret any inconvenience caused. Let me know if you don't see it by then.
// a human override, captured as structured data { "method": "decide.override", "params": { "task_id": "tsk_01HZ9YX7K3X8M2V4", "diff": [ { "op": "replace", "path": "/body", "value": "Thanks for following up…" } ], "intent_preserved": true, // refined the result, didn't substitute it "rationale": "Over-apologetic for a routine tracking enquiry.", "tags": ["tone-softened"], "policy_refs": ["support-tone-v2"] }, "evidence": { "prev_hash": "sha256:9f3c…", "sig": "ed25519:…" } }
CHAP keeps Maya's edit with her one-line reason, so people and AI tools can reuse her judgement. Over time, the record shows how the organisation really decides.
The everyday actions it records
Why CHAP?
Because we're accountable for what is decided
CHAP adds the missing piece:
CHAP works alongside both. Tool calls become citations, and A2A peers become participants.
The benefits of CHAP
Less risk, at lower cost.
One standard way to handle approvals, overrides and audit trails, so teams stop reinventing them.
One record across tools.
Approvals no longer sit across Slack, Jira and model logs. One query shows who did what, when and why.
No vendor lock-in.
CHAP is open, like MCP and HTTP, so your records stay usable if you change vendors.
CHAP supports the records these regimes ask for. It doesn't make a system compliant on its own. It produces the evidence that oversight, logging and incident review depend on.
CHAP can answer all of these.
At every scale
Always the same building blocks
From a personal project to a regulated GMP estate, every scenario reuses the same primitives.
- A typed override with the difference and reason for it
- A clarifying question
- A context-preserving handoff
- A signed approval that becomes externally verifiable
Deviation → investigation → QP release, signed with regulatory credentials and externally anchored.
Vulnerability-based routing plus handler override with policy citations – evidence of meaningful review within SLA.
Replay an advisor's approval chain across years to prove control continuity and suitability.
Abstention on authority boundary escalates to a qualified human – recorded, with the reason typed.
Mode-gated promotion: the agent earns production only on evidence from the chain.
A non-repudiable signed approval tied to a content version by hash settles it.
See all scenarios in the repo →
How it works
This is CHAP in action
Step through a real session. Every action becomes an entry in the audit log, and the overrides, grouped by tag, become the learning signal.
CHAP runs as an MCP server, listed on the official MCP Registry. Point Claude Code, Cursor or any MCP client at it, and every action lands in a hash-linked audit log.
Every override carries the change, a reason and tags, so the audit trail writes the improvement report. For a real workspace, chap-analytics turns the log into tables, charts and an interactive report.
A real audit trail
One session, end to end.
One claim, from delegation to sign-off, adapted from Appendix A of the paper. Every entry is hash-linked and can be replayed years later.
The audit log becomes a tuning dataset.
Every override carries a typed diff and a reason, so normal work records that a person stepped in, and why.
A high refining-override rate
means the agent reached the right decision the wrong way, for example through weak retrieval or a poor template.
A high substituting-override rate
means it reached the wrong decision, for example because of an ambiguous policy or missing context.
Each calls for a different fix. Slice overrides by model, task, policy, reviewer and tag without scraping a single final document, or let chap-analytics export evaluation cases and flag drift.
For builders
Get started in five minutes.
Run the reference server locally, then send JSON-RPC envelopes with curl. No SDK, identity provider or signing setup needed for the first walkthrough.
git clone https://github.com/BrightbeamAI/chap
cd chap/reference/core && npm install && npm run start:demo
# CHAP Core → http://localhost:8080/chap · then send envelopes with curl
# with the reference server running – envelope 1: Alice joins as a reviewer curl -s -X POST http://localhost:8080/chap \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc": "2.0", "id": "1", "method": "participant.join", "params": { "workspace": "wsp_demo", "from": "human:[email protected]", "to": "service:[email protected]", "ts": "2026-05-17T09:00:00Z", "type": "human", "display_name": "Alice", "role": "reviewer" } }' | jq # then: join the bot → describe → create → progress → complete → audit.read
- PyPIchap-coordinator ↗
- npm@brightbeamai/chap-coordinator ↗
- npm · MCP server@brightbeamai/chap-coordinator-mcp ↗
- npm · A2A agent@brightbeamai/chap-coordinator-a2a ↗
- npm · new projectcreate-chap-app ↗
- PyPI · analyticschap-analytics ↗
- PyPI · bridgesLangGraph · Pydantic AI · LlamaIndex · AG2 · Google ADK ↗
- MCP Registryio.github.BrightbeamAI/chap ↗
- GlamaBrightbeamAI/chap ↗
The anatomy.
Workspace
The shared, policy-bound room.
Participants
Humans, agents, services – typed addresses.
Tasks
The units of work they hold.
Artefacts
Drafts, decisions, overrides, citations.
Evidence log
Append-only. Hash-linked with the chain on, signed with security-signed.
The seven methods in the core.
That's enough to run a Core workspace. Everything else is an optional profile layered on top.
Add the profiles you need
A small core and optional profiles.
Add a profile only when you need it. A workspace advertises its profiles through workspace.describe and serves only their methods.
The profile explorer shows which calls change when you add one. Immutability is optional too, and blockchain is never required.
It works with what is already there.
MCP tool calls become citations, A2A peers become participants, and Python bridges bring human decisions from LangGraph, Pydantic AI, LlamaIndex, AG2 and Google ADK onto the same log.
One query, one chain, three protocols.
Ready-to-adapt how-to guides ship in the repo: CHAP + MCP · CHAP + A2A · CHAP + OIDC.
Research
Why CHAP is open
Why open, and why from us
TCP/IP, HTTP, OAuth and MCP show that open standards become the base for many platforms. The layer where people and agents work together will be standardised one way or another, and it is better done in the open.
Built against capture
At least three Steering Committee seats will go to people outside the largest contributor, so no one, including us, can steer CHAP alone. Until the committee forms, every decision is published with its reasons.
Grounded in running code
A CHAP Enhancement Proposal cannot be accepted until a working implementation passes the conformance tests, and a change that works in only one vendor's stack is not accepted.
Status and the road to 1.0.
CHAP is a public draft. Two coordinators, in TypeScript and Python, are checked against each other and published on npm and PyPI. The message format can still change before 1.0, and the public roadmap sets out the milestones.
A working draft
Two coordinators checked against each other, refused attempts on the record, MCP and A2A servers, agent-framework bridges and chap-analytics.
Settle the surface
One message format with a version on every request, a decided audit chain, a maturity level for every part, and rules for who may join a workspace and act in it.
Tested from outside
An implementation from outside Brightbeam passes the test kit, an external security review reports, and maintainers come from at least two organisations.
The roadmap has no dates. Each milestone finishes when its checks pass. ROADMAP · CHANGELOG · SPECIFICATION
Build it in the open
The most useful contribution now is a second, independent implementation.
CHAP is licensed CC-BY 4.0 for the specification and Apache 2.0 for the code, implementable royalty-free in any language.
Small changes → a pull request
Typos, examples, test vectors, integrations go straight to a PR.
Bigger changes → a CEP
New methods, transports or breaking changes go through a CHAP Enhancement Proposal, with a public comment period and the decision and its reasons on record.
'The Human–Agent Symphony will not emerge simply because models improve. It will emerge when the collaboration layer between humans and agents becomes explicit, observable, portable and shared. CHAP is a proposal for that layer.'
CHAP paper · §15FAQ