Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

MCP tools

All tools return structured JSON. Domain errors, such as a verdict citing the wrong evidence, come back as tool errors (is_error: true) with a clear message, so the agent can recover. Every call verifies the catalog’s integrity seals; while any check fails, write tools refuse and read tools keep working.

ToolPurposeWrites
add_claimCreate one claimyes
add_claimsCreate many claims atomically; @N in derived_from links to an earlier entryyes
get_claimOne claim with evidence, verdict history, current verdict and childrenno
list_claimsFiltered summariesno
update_claimEdit metadata; evidence and verdicts can’t be changedyes
retire_claimWithdraw a claim; it stays so trace links remain validyes
add_evidenceAttach evidence with a locator, an optional anchor and a stanceyes
record_verdictAppend a FEVER verdict that cites evidence backing ityes
traceAncestors and descendants of a claimno
audit_reportTotals, gaps, integrity and the traceability matrixno
next_stepsRanked to-do list: open claims in tiers, each with one next stepno
recheckAnchors that moved, changed or were overturned since they were recordedno

Choosing the ledger

Every tool also takes an optional catalog parameter: the ledger file for that call only, as an absolute path or one relative to the server’s working directory. The call reads or writes that file, and anchors are pinned to HEAD of the git repository that holds it. Without catalog, the call uses the server’s own --catalog.

An MCP client starts claims-mcp once per session, so its --catalog names the ledger of the checkout the session started in. Pass catalog on every call when you work in another checkout, such as a git worktree or a subagent’s branch; otherwise the calls write the session’s ledger and pin that repository’s commit. Because the choice is made per call, not stored in the server, agents sharing one connection can each work on their own ledger at the same time.

Servers before 0.2.5 don’t have catalog and ignore it without an error, writing the session’s ledger instead. To check the server you’re connected to, call a read tool with catalog set to a ledger in a directory that doesn’t exist, such as /nonexistent-claims-probe/claims.json: a server that supports the parameter fails to open it, with an error that names that path, and an older one answers as if it weren’t there. Treat an error that doesn’t name the probe path as inconclusive: an older server reading its own ledger can fail for unrelated reasons. The tool schema your client shows isn’t proof, because a client can keep the schema from before the server was upgraded.

add_claim

ParameterRequiredMeaning
statementyesOne atomic, falsifiable assertion
kindyesSee kinds
levelyessystem, software, component, unit or artifact
verification_methodyesinspection, analysis, demonstration, test or formal_proof
integrity_levelno1-4
sourcenoWhere the claim came from
source_anchorno{"path", "lines": {"start", "end"}}; pinned to the current commit
derived_fromnoParent claim ids
artifactsnoPaths the claim is about
tagsnoLabels, such as area:auth or issue:12

Returns the full claim with its new id.

add_claims

claims: a list of entries shaped like add_claim’s parameters. All are created or none are. In derived_from, "@N" refers to the entry at 0-based index N of the same batch, which must come earlier. Returns the created claims in order.

get_claim

id. Returns the claim plus current_verdict and children (ids of active claims whose derived_from contains it).

list_claims

All filters are optional, and all set filters must match: verdict (unverified, supported, refuted, not_enough_info), kind, level, tag (exact), artifact (substring of any artifact), text (case-insensitive substring of the statement), include_retired (default false). Returns summaries: id, statement, kind, level, integrity_level, current_verdict, evidence_count, retired.

update_claim

id, plus any of statement, kind, level, verification_method, integrity_level, source, source_anchor, derived_from, artifacts, tags. Omitted or null fields are unchanged. List fields replace the whole list ([] empties it). source: "" removes the source. integrity_level and source_anchor can be replaced but not removed. A new derived_from link must point at an active claim. Retired claims can’t be updated.

retire_claim

id, reason. Retired claims stay in the catalog but accept no further evidence, verdicts or updates.

add_evidence

ParameterRequiredMeaning
claim_idyesThe claim the evidence is about
kindyestest, inspection, analysis, demonstration, proof, log or other
locatoryespath:line, test name, command or URL
summaryyesWhat was observed
stanceyessupports, refutes or neutral
anchorno{"file": {"path", "lines"?}} or {"search": {"pattern", "case_insensitive"?, "scope", "hits"?}}; see Anchors

Returns the evidence item with its id and pinned anchor.

record_verdict

ParameterRequiredMeaning
claim_idyesThe claim being judged
verdictyessupported, refuted or not_enough_info
rationaleyesWhy the evidence leads to this verdict
auditoryesPerson or model id
evidence_idsnoEvidence on this claim that the verdict relies on

supported must cite supports evidence, and refuted must cite refutes evidence. See Verdicts. Returns the claim with the verdict appended.

trace

id, direction (up, down or both, default both), max_depth (default unlimited). Returns breadth-first ancestors and descendants lists of {id, statement, current_verdict, depth, retired}.

audit_report

include_matrix (default true). Returns totals, gaps, the integrity check and the traceability matrix; see Traceability.

next_steps

limit: items listed in each of tiers 1 and 2 (default 10; 0 lists everything). Same data as claims-mcp tldr --json; see the ranked to-do list.

recheck

No parameters besides catalog. Returns head, checked, current, and items for every anchor on an active claim that is not current, each with claim, role, evidence, stance, anchor, status and detail. See Recheck.

Resources

The server also offers read-only resources: the PDF report’s files under claims://report/ (claims-report.typ, text.typ and audit-notes.example.toml). See PDF reports.