CAMMUT/MCP

CLI and endpoints

Reference

Commands #

text
usage: cammut <command>
  serve    -db PATH -listen ADDR [-rate N] [-burst N]
  token    create -label L -scopes a/*,b/tool [-profile lazy|direct:UPSTREAM] | scopes -label L -scopes ... | list | revoke -label L
  upstream add -name N -url U [-bearer-env VAR] | list | rm -name N
  admin    vault-init | create -username U [-generate] | passwd | totp-reset | github-link | secret set|list|delete | db-snapshot -out PATH [-keep N]
  archive  stats | verify [-sample N] [-project P] | list [-project P] [-limit N] | replica-record -remote NAME < manifest.json | pins [ack -project P]
  version

In the container, run them as docker compose -f deploy/compose.yaml run --rm cammut <command>.

serve flags are listed on the Install and configure page.

Environment #

VariableUsed byMeaning
CAMMUT_DBcammutDefault database path
TEI_API_KEYserveKey for the embeddings server given with -tei-url
(your names)serveEach upstream's bearer secret, named by -bearer-env
CAMMUT_TOKEN_CLAUDE, CAMMUT_TOKEN_CODEX, CAMMUT_TOKEN_MCPagent configThe token your agent presents
CAMMUT_MEMORY_TOKENadaptersDefault cammut.tokenEnv for the memory hooks
SHARED_MEMORY_BYPASS=1adaptersTurn the hooks off for one shell

HTTP surface #

RouteAuthPurpose
POST /mcpBearer tokenThe MCP endpoint (streamable HTTP, stateless)
GET /healthznoneLiveness
GET /noneLanding page
/console/loginThe console
GET /api/v1/me, GET /api/v1/auth/methodssession / noneConsole session and available login methods
/v1/memory/*Bearer, memory/* scopesMemory REST used by the hooks: brief, recall, remember, status
PUT, HEAD, GET /v1/archive/segments/{id}Bearer, archive/* scopesArchive segments
GET /v1/archive/segments, /v1/archive/statusBearerArchive listing and status
GET /v1/archive/sessions/{agent}/{session}/coverageBearerWhich byte ranges of a session are archived

MCP tools #

Lazy profile: cammut_servers, cammut_search, cammut_describe, cammut_call.

Memory upstream: memory_brief, memory_recall, memory_remember, memory_handoff, memory_projects.

Files the adapters use #

PathPurpose
~/.claude/shared-memory.jsonShared config: cammut.url, cammut.tokenEnv, archive.*, per-feature switches
~/.claude/shared-memory-recipients.txtPublic age recipients for the archive
~/.claude/state/shared-memory/hook.log, spool/, sessions/, outbox/, breaker.json, brief cache
~/.claude/scripts/shared-memory/Installed adapter files (node adapters/install.mjs)