Open source
Reminisce
Agent memory on TypeDB: an Elixir library with an MCP server. It keeps what an agent decides to keep, with time, provenance and consent, recalls it deterministically, and can explain where a memory came from.
By The Editors @editors
Reminisce is memory for AI agents: an Elixir library on TypeDB, with an MCP server. It is at version 0.5.5 on Hex, under Apache-2.0, and the source is public. While it is 0.x, a minor version may change the API.
An agent that cannot say where a belief came from cannot be checked. So every memory carries its times, its basis (observed, told, inferred or generated), its sources and what it was derived from. why walks all of that back: sources, ancestors, what it superseded, every contradiction it is part of.
What it does today:
- Recall is deterministic. The same store and query give the same order, whatever the insertion order or the clock. Scores are integers, and each answer says how many memories it scanned.
- Nothing is deleted by forgetting.
forgettakes a memory out of recall and keeps its words.withdrawis the other act: it erases a person's words from the database and leaves a redacted record. The README lists what withdrawal does not reach, backups and keys among them. - Secrets are refused at the door, by shape. A secret in a shape it does not know gets through.
- Intentions, a session focus, felt weight and a persona came in 0.5. A persona changes only by its keeper's act. No text, tool result or memory changes it.
- Eight MCP tools over stdio, and one server serves one owner. From 0.5.2 the server also comes as a download that needs no Elixir, for macOS and Linux.
What it does not do
- It does not call a model and does not decide what is worth keeping. That is the host's.
- It has no vectors and no embeddings. Recall ranks words, in English and Russian.
- Recall has no index and reads every active memory of the owner: about 2 s at 10,000 memories and 27–30 s at 100,000, on the machine the README names. It suits thousands, not hundreds of thousands.
- It isolates owners, not tenants. All owners share one database.