Documentation
MCP reference
Tool-by-tool behavior at the agent boundary, including what MCP can never approve.
health
Returns project identity, Git revision, provider status, and coverage. A missing Codebase Memory provider is an explicit degraded result, not a reason to invent symbol resolution or block the change.
prepare_change
Input: target and the agent’s actual intent; severity is explicit when a
new assertion is being captured. Output includes constraints, evidence,
authority, linkage, provider coverage, intent conflicts, and whether a
governance verdict is required.
Governing Records are not hidden because their severity is medium, and an
empty match is honest: the server never falls back to the first unrelated
Record.
explain_target
Returns the same governing Record set for a target without an intent. It uses
the same binding matcher as prepare_change, so the two tools do not disagree
about a file-only binding or a structural suffix.
finalize_change
Captures mechanically observed files, provider resolution, intent, evidence, and a proposed statement. Uncommitted files are marked provisional and remain capturable; a proposal is still pending until a human reviews it.
Prompts
The server advertises the MCP prompts capability. prompts/list returns six
pre-made actions from the same source used to generate Claude Code skills:
| Prompt | Purpose | Arguments |
|---|---|---|
preflight |
Prepare constraints and intent conflicts before editing. | target, intent |
explain |
Explain a possible Chesterton fence before simplifying it. | target |
capture |
Guide finalize_change after a change. |
optional statement |
review |
List pending proposals and hand approval to the human CLI. | none |
health |
Diagnose MCP, provider, Git, and canon health. | none |
protocol |
Load the complete master protocol. | none |
prompts/get substitutes named arguments and returns one user message. An
unknown prompt is a JSON-RPC error and does not terminate the persistent
session. Prompt discovery and command decoration belong to each MCP client; do
not rely on a slash-command name without verifying that client. In Codex, ask
in plain language, for example: “Prepare this change with Rationale for
<target> with intent <intent>.” Claude Code separately receives the clean
/rationale-preflight project skill.
Boundary
MCP does not expose approval, correction, dispute, revocation, supersession, or
authority changes. Those actions require the CLI’s interactive review path.
The stdio protocol is JSON per line; Content-Length is used only when the
client talks to Codebase Memory.