Kmp
Local-first agent memory that preserves what happened, when and why
- Transport
- Not stated
- Package
- —
- Registry id
- io.github.underpass-ai/kmp
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
KMP gives Codex and Claude Code local-first memory that preserves what happened, when and why. It stores decisions and evidence, not transcripts, on embedded SQLite, and exposes them through fourteen memory tools, three semantic view tools over a shared ChronoLoom view and a progressive agent guide.
Ask “Show me the memory behind this decision.” The agent retrieves the evidence, opens ChronoLoom at the relevant moment and lights up the proof path. ChronoLoom names who is guiding, shows why the agent moved, and lets you take control without losing the frame or its undo. A shared time window crosses real 3D about layers; a flat camera shows the same memory, with labels as filters.
Why KMP?
Agents are good at doing the work in front of them. Tomorrow is harder. A decision survives, its rationale disappears, and somebody gets to rediscover the same incident from scratch.
KMP gives the agent a typed, temporal memory instead of a bag of text:
- evidence decides what can be claimed;
- relations carry the reason two memories belong together;
- time travel is explicit, cursor-based and auditable;
- old decisions are superseded, never quietly rewritten;
UNKNOWNis an honest answer when the evidence is not there.
The normal path runs entirely on your machine. No KMP account. No hosted memory server. No Underpass cloud.
Install and initialize your memory
Codex CLI
codex plugin marketplace add underpass-ai/kmp --ref marketplace
codex plugin add kmp@underpass
Then ask Codex to run kmp-setup and restart Codex once.
Claude Code
/plugin marketplace add underpass-ai/kmp@marketplace
/plugin install kmp@underpass
/kmp:setup
Restart Claude Code once. Verify either host with its kmp-doctor workflow,
or from a terminal:
kmp-mcp info
kmp-mcp doctor
Then ask Codex to run kmp-guide, or run /kmp:guide in Claude Code. This
loads the installed agent and human guides into the selected store. Setup
installs assets without writing memory; a fresh store can return
GUIDE_UNAVAILABLE until the explicit guide sync runs.
The plugin owns the MCP registration, so do not add a second KMP server by hand. Store selection and repair live in Embedded KMP.
Talk to it like a human
You normally ask for the outcome. The KMP skill chooses the memory moves.
| You say | The agent does | You get |
|---|---|---|
| “Continue the KMP documentation work.” | Wakes project:kmp before re-deriving it. |
Current decisions, constraints and next actions. |
| “Why did we choose SQLite?” | Asks memory and follows the stored evidence. | A grounded answer, or UNKNOWN. |
| “What does KMP remember from yesterday?” | Resolves the interval and navigates every temporal page. | Ordered memory from that period. |
| “Why was the launch postponed in March?” | Asks memory standing within March: only what fell inside competes, and the lifecycles are read as they stood then. | A grounded answer from that time, or UNKNOWN naming the nearest match outside the span. |
| “Remember that retries are capped at two because logs showed amplification.” | Records the decision, its evidence and meaningful relations. | Durable state with an auditable why. |
| “Show the proof between this incident and that decision.” | Traces the typed path and inspects its evidence. | The stored connection, rationale and sources. |
| “Undo that decision.” | Writes a state that supersedes the old one. | Both decisions remain visible in time. |
| “Save the project memory.” | Exports the maintained project bundle and shows its diff. | Reviewable .kmp/memory.jsonl. |
KMP is memory, not surveillance. Store durable decisions and evidence, not transcripts.
From the project's README.