The usual tradeoff is forget-or-pay; compressing on the way in and retrieving selectively is what breaks it. Two things distinguish it from a notes plugin: `explain_decision` reconstructs why something was chosen by walking the evidence chain, and the file-claiming tools exist because parallel agents step on each other. Everything stays local — no cloud tier, no premium tools.
Context-mem ingests every tool call, summarises it with a content-aware summariser, and writes it into a navigable markdown vault backed by SQLite. The store is searchable through MCP with hybrid BM25 plus vector search and an optional LLM judge, so a new session starts with what the last one learned.
- Core memory — `observe` stores with auto-summarisation, importance scoring and entity extraction; `recall` returns verbatim content by filter; `search` runs hybrid retrieval; `ask` answers in natural language over the whole store; `timeline` and `stats` show what accumulated and what it cost
- Knowledge graph — `save_knowledge` with contradiction detection and validity windows, `search_knowledge`, `promote_knowledge` to a global cross-project store, `global_search`, `resolve_contradiction`, `graph_query`, `add_relationship`, `graph_neighbors`
- Temporal and intelligence — `temporal_query` for what was true at a point in time, `time_travel` to compare two timestamps, `explain_decision` to walk the evidence chain backwards, `predict_loss`, `generate_story` for a PR description, standup update or ADR
- Sessions and agents — `wake_up` for a token-budgeted primer, `restore_session`, `handoff_session`, plus `agent_register`, `agent_status`, `claim_files` and `agent_broadcast` for parallel agents
- 14 summarisers apply different compression by content type; a session of 50 tool outputs went from 365 KB to 3.2 KB, a verified 99.1% saving, with recent high-importance observations kept verbatim and pinned entries never compressed
- The vault at `.context-mem/vault/` is plain markdown — open it in Obsidian or grep it; the SQLite store is the authoritative record
Node.js. `npm i context-mem && npx context-mem init` detects your editor and writes the MCP config — Claude Code needs no restart, Cursor, Windsurf and VS Code do. Manual setup registers `npx context-mem serve`. For Claude Code, init also writes 8 hooks into `.claude/settings.json` that inject relevant memories on prompt submission, so you do not call `observe` by hand. The vault is opt-in in v3.4 via `.context-mem/config.json` and default-on in v4.0. A local dashboard runs at `http://localhost:3141`. Registry version 4.0.0. MIT.
One command — npm i context-mem && npx context-mem init
