# @eventually-consistent/cairn

Source: https://glimind.com/server/npm%2F-eventually-consistent%2Fcairn
Registry id: `npm/-eventually-consistent/cairn`
Status: unknown

## Install

```json
{
  "mcpServers": {
    "eventually-consistent-cairn": {
      "command": "npx",
      "args": [
        "-y",
        "@eventually-consistent/cairn"
      ]
    }
  }
}
```

Claude Code:

```sh
claude mcp add eventually-consistent-cairn -- npx -y @eventually-consistent/cairn
```

## Tools (78)

- `audit_record`: Write the audit record (.cairn/audit/<scope>-<date>.md) — single writer; same scope+date
- `board_get`: Read the workspace dispatch board (.cairn/basecamp/board.json) — workstreams
- `board_update`: Merge-patch the dispatch board: workstreams merge by id (null deletes);
- `budget_check`: Spend ledger gate for headless batch runs — re-reads actual spend (latest metrics row per session;
- `config_get`: Read cairn.json as the validated, post-defaults effective config
- `config_probe`: Credential preflight (CRN-48) -- one cheap authenticated call to the configured
- `config_set`: Merge-patch cairn.json (null deletes a key). Validates the merged result before
- `context_get`: Get the active cairn context (phase, issue)
- `context_meter`: Context rent rollup: per-turn average, bands, residency, prefix
- `context_set`: Set/clear active cairn context fields (null clears)
- `continuity_checkpoint`: Write/refresh the session handoff; wave {phase, runId} also emits the outlook snapshot
- `continuity_clear`: Delete the session handoff for this project, if any
- `continuity_get`: Read the current session handoff, if any (flags handoffs older than 14 days as stale, never errors on staleness)
- `distill_manifest`: Assemble one phase's distill manifest — the scope an incremental distill run may
- `docs_drift`: Deterministic docs-drift report — flags verified phases (live and archived) the public
- `docs_publish`: Publish project docs to the configured docs connector: README.md as the landing page
- `docs_status`: Docs connector status — configured connector and the project's landing page, when one exists.
- `graph_report`: Dependency-graph report: ready frontier (open issues with no open
- `issue_attach`: Attach a file (screenshot, render, visual evidence) to a tracker issue.
- `issue_close`: Close an issue. Duration is measured server-side (`measured` names the rung);
- `issue_comment`: Post a plain-language comment on a tracker issue (management-visible progress note)
- `issue_create`: Create an issue. `phase`: cairn number ('14', '1.5') or 'id:<raw>'.
- `issue_get`: Fetch one issue
- `issue_link`: Link two issues (blocks/parent-of/relates-to/supersedes);
- `issue_links`: List issue links — for one issue (either direction) or the whole project
- `issue_list`: List issues, optionally by phase/state (phase: cairn phase number
- `issue_unlink`: Remove an issue link; UNSUPPORTED unless the tracker hasDependencies
- `issue_update`: Update an issue. `claim` picks it up: in_progress, claim comment,
- `ledger_append`: Append a verified-task line to a phase's LEDGER.md (append-only). Requires typed evidence
- `map_get`: Read the project knowledge graph, optionally filtered by nodeType, edgeType, or a
- `map_query`: Composite graph query: node + depth (0-3, default 1) walks a BFS neighborhood over
- `map_set`: Merge-patch the project knowledge graph (.cairn/map/map.json) -- nodes merge by id
- `mem_card_create`: Write a durable memory card (decision/constraint/gotcha/reference/note) with provenance
- `mem_card_list`: List memory cards, optionally filtered by phase/issue/role scope
- `mem_card_recall`: List memory cards with staleness checked against their provenance (the anti-rot check)
- `mem_card_update`: Patch a memory card's frontmatter -- confidence, scopeRole, and/or provenance
- `mem_compact`: Retro-gated card compaction (#172) -- the capacity guard's action. 'propose' reports
- `mem_index`: Index reference material into the searchable memory store (disposable, rebuildable)
- `mem_search`: Full-text search the memory index, optionally scoped to a phase/issue
- `mem_stats`: Memory index size — chunk count and approximate token usage (capacity guard signal),
- `mem_timeline`: Chronological neighbors around an anchor (a memory card id or an index chunk source) --
- `milestone_complete`: Complete the current milestone: gate on all-phases-verified, close tracker phases,
- `milestone_create`: Start the next milestone — native tracker object when the backend supports it; stamps milestone_id into roadmap.md
- `milestone_list`: Current milestone number, archived milestones, and the tracker's native list when supported
- `outlook_emit`: Outlook snapshot emit for lifecycle gates (verify/ship/summit); a tracker block
- `outlook_forget`: Prune a project from the machine registry (#92) -- outlook forget <project>.
- `outlook_get`: Portfolio aggregate (#55): every registered cairn project on this machine as a
- `outlook_refresh`: Re-derive another registered project's outlook snapshot in place (#92) --
- `peer_list`: Detected external AI peer CLIs (codex/opencode/antigravity/grok/copilot) — {peers: [on PATH, enabled, lab,
- `peer_run`: Run one external peer CLI with capped stdin input — advisory output, non-zero exit is a result.
- `peer_state`: Per-run peers convergence state (.cairn/peers/<slug>/) — ops: start (mode/target/
- `phase_create`: Create a phase (milestone/epic/list per backend)
- `phase_list`: List phases
- `plan_check`: Deterministic plan-quality scan (#2891): cross-plan contract drift
- `plan_drift`: Flag plan-referenced issues that are missing or closed-unverified, a stale
- `plan_import`: Reverse-mirror a tracker phase (by id or name substring) into .cairn/plans/ artifacts
- `plan_issues_set`: Set the tracker issue ids a phase's PLAN.md advances
- `plan_meta_set`: Set wave grouping (wave_N frontmatter) and/or the TDD-eligible task list on a phase's PLAN.md
- `plan_phase_ensure`: Ensure the tracker has a phase named 'Phase N: <name>' (idempotent)
- `plan_resync`: Detect out-of-band commits (covered by no LEDGER.md range) since the last resync marker;
- `plan_scaffold_phase`: Create phases/NN-slug/ (or NN.F-slug/ for a decimal insert) with
- `plan_scaffold_project`: Create .cairn/plans/PROJECT.md + roadmap.md (never overwrites)
- `plan_status`: Phases, artifact presence, and referenced tracker issues
- `plan_tracker_delta`: Diff the live tracker against the last-seen snapshot cursor: new issues/phases,
- `plan_unplanned`: Tracker issues (non-closed) that no phase's PLAN.md references — work at risk of being missed
- `research_sections`: Parse a research artifact's ##+ section markers
- `run_manifest`: The run manifest for headless batch runs (#132) — the executor's SOLE source of
- `seat_roster`: Merged seat roster — shipped default seats (templates/seats/) overridden by project seats
- `session_landscape`: Deterministic join over trace/probe/draft/thread sessions — open + resolved with
- `token_estimate`: Predict a phase's approximate agent-token spend as a RANGE before it runs (#129),
- `trace_close`: Resolve a trace (needs evidence, a repro test, a verdict): archives it, mirrors and closes
- `trace_list`: List traces with entry counts
- `trace_log`: Append an entry to an open trace, append-only; mirror posts it as the cause-identified comment
- `trace_start`: Open a trace: creates the cairn:bug issue unless issueId is given, posts the started
- `tracker_migrate`: Promote a local-tracker project to a hosted backend: phases,
- `workspace_focus`: Set (or clear, with project: null) the workspace focus — every tool then
- `workspace_list`: Workspace name, root, members (name/path/configured), and current focus.
- `workspace_status`: Curated cross-project read: per configured member { name, phase, openIssues,

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
