Memoose
A dual-path memory system for proactive agents. Pick up where you left off, in whichever agent you open tomorrow.
pip install memoose
memoose install claude # or: codex | opencode | cursor
You explained the architecture, the conventions, and the reason behind last week's decision. Memoose is how your agent still knows them today. It is a harness: a deterministic store reached through MCP tools or the command line, plus skills that teach the model you are already running how to use it.
- FeaturesWhat it does, one paragraph each.
- Installpip install, then one command per host.
- ToolsEvery capability as an MCP tool call.
- SkillsWhere the judgment is written down.
- Automatic memoryHooks, background capture, onboarding.
- ConfigurationSwitches, scopes, where the data lives.
- Evidence & historyProvenance, contradictions, supersession.
What a memory harness is
Memoose splits memory in two, and the split is the whole design.
Everything deterministic lives in the library: a typed graph store, an ontology, chunking, ranking, supersession, a provenance ledger. It is a plain MCP server over one SQLite file, and it has no opinions. It validates, stores, ranks and refuses bad input.
Everything that needs judgment is written down as a skill: what counts as an entity, which facts conflict, what is worth remembering, what a session taught. That thinking is done by the host's model, the one you are already running, while it calls the tools. So Memoose ships no model of its own and needs no API key.
Your memory is a typed knowledge graph that stays on your machine. Recalled facts become context for your host's model, the same as anything else it reads.
| Surface | What it does | Needs |
|---|---|---|
| MCP tools | The deterministic store: typed graph, ontology, ranking, supersession, provenance | Any MCP host |
| Skills | Teach the host model to extract, judge, and route memory work to a small-model subagent | Any host with skills |
| Hooks | Capture and recall without being asked: hints before each prompt, standing context at session start, capture when a turn ends and before compaction | Hosts that run plugin hooks |
The core is portable: skills plus an MCP server, on any host that speaks MCP. The capture and recall that happen without you asking sit on top of that core and depend on what your host supports. They add no capability the tools do not already have, so where they are unavailable you keep everything through the tools, the skills and the delegated subagent.
What it is built for
Long-lived project work: the decisions, conventions and ownership facts that have to stay true for months. That makes the interesting questions less about finding a fact once and more about whether the body of facts is still trustworthy:
- A fact changed. Does recall return the current one, and can it still show me the old one?
- Two sources disagree. Does the system say so, or silently pick one?
- Why do we believe this? Point me at the file range, the message, the date.
- We solved this before. What did we learn, and does it apply here?
Evidence & history shows how each one is answered, and the model-free suite of 18 cases that asserts it on what the tools return.
Worth knowing before you install
- Judgment quality follows your host's model. Extraction, contradiction calls and session lessons are a skill the model has to follow, so results vary with the model doing it.
- The automatic parts are host-dependent. Hooks ship as a Claude Code plugin
manifest today. Elsewhere the tools, the skills and the
memory-keepersubagent cover the same ground, with you or the agent asking for it. - Recall feeds your host's model. The store is a local file, and what you recall becomes context in the conversation like any other text the agent reads.
- It is not built for chat logs, teams, or a service. No multi-user access control, no hosted service, no UI, no audio or images. It does not replace the host's own context management.