Most memory tools only get bigger; here retrieval quality is a function of feedback, so a store that has been used for months surfaces different things from a fresh one. Two habits make that work: call the update tool after acting on a memory rather than only reading it, and end sessions with a reflection so discoveries and lessons enter the store as memories instead of dying with the transcript. Link suggestions are deliberately advisory — nothing is written into the graph until you accept it.
A local memory store for agents. Memories go into SQLite with vectors alongside, and search is hybrid — semantic plus keyword, weighted by recency, how often a memory gets used, and the score feedback has given it.
- A single thought captured in one call, for the moments when stopping to structure something would mean not writing it down at all
- Hybrid search over the store with a minimum score, a date window, a source-type filter and a sort, or a straight bulk fetch by id when you already know what you want
- Feedback written back after a memory is used, which is the loop that raises useful memories and lets weak ones decay out
- Memories and links inserted together, with near-identical content refused unless you force it through
- Link candidates between a memory and its neighbours, ranked with per-signal scores — suggested only, never written until you confirm
- A queue of pending link suggestions sorted by quality, accepted or rejected in bulk
- Session reflection: a completed session summarised into what was done, the decisions taken, factual discoveries, lessons learnt and good patterns, with the resulting memories inserted
- The session ids already reflected on, so the same session is not processed twice
- Soft deletion of memories by id with a reason recorded, rather than a hard erase
No account, no key, no cloud: pip install lorekeeper-mcp, then lorekeeper setup and lorekeeper. Setup detects the agents installed on the machine and writes the MCP entry, the agent prompt and the bundled skills for each — --check previews it without writing. Storage is SQLite plus LanceDB on your own disk, so the store is a local file you back up yourself, and namespaces are what let several agents share one store while writing into their own space. A separate dashboard command opens a web UI for browsing, editing and backup. Apache-2.0.
One command — pip install lorekeeper-mcp && lorekeeper setup && lorekeeper
