Local-first Rust binary providing durable, on-device memory storage and semantic search for AI agents using SQLite and ONNX embeddings.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Memkeeper.
Most software has the memory of a goldfish. This one doesnโt.
Local-first memory for AI agents. A fast, embeddable memory engine that stores, ranks, and retrieves an agent's durable context, entirely on your machine, with no required network or LLM calls.
Memkeeper is the open-source, local-first control plane that AI agents run on: durable memory, project context, coordinated task handoffs, and deny-by-default permissions, all deterministic and on your own machine. This repo is the memory engine at its core.
โน๏ธ Generated release mirror. This repo is generated from a private development repo and published as releases. The
mainbranch may be regenerated, so pin to tagged releases (or the release artifacts) rather than to arbitrarymaincommits โ tagged releases are stable. See CONTRIBUTING.md for how to contribute; issues, security reports, and design feedback are the best paths today.
Real CLI output, formatted for readability via scripts/mkfmt. The search query shares no keywords with the memory it surfaces.
Status: pre-release (v0.5.3). APIs and the wire protocol may change before 1.0.
That's the whole install: a self-contained binary, no runtime network/LLM/API key.
Prefer not to pipe a script to your shell? Grab a binary from the
releases page and verify its
.sha256, or build from source. The store defaults to
~/.memkeeper/store.sqlite when --store is omitted; a --json value can also be
@<file> or - (stdin) instead of an inline string, which avoids shell-quoting
pitfalls (handy in Windows PowerShell).
v0.3.0 introduced the schema 5 to schema 6 upgrade; v0.4.0 through v0.5.3 keep
schema 6 unchanged. The migration is transactional, but schema 6 stores cannot
be opened by v0.2.x. Stop any long-running memkeeper process and keep a
schema 5 backup until you verify the upgrade.
Back up the store with your v0.2.x binary before installing the current release:
Install the current release, run the migration explicitly, and verify the result before restarting any long-running process:
init is safe to rerun. If you need to roll back, restore the schema 5 backup
before starting the older binary.
memkeeper speaks MCP (JSON-RPC 2.0 over stdio), so any MCP client โ Claude Code, Cursor, and others โ can read and write memory during a session. Point your client's MCP config at the native binary (no Python, no extra deps):
The agent calls remember to capture a durable fact and search to recall it later,
across separate sessions, with the same retrieval as the CLI.
Real memkeeper mcp JSON-RPC round-trips, formatted for readability via scripts/mcpfmt.
memkeeper holds self-contained memories: facts, decisions, preferences,
lessons. Each remember is one memory written to stand on its own, with its
context and intent intact (store "the user likes pineapple on pizza," not just
"pineapple"). Atomic means one idea per memory, not a stripped keyword.
Retrieval, dedup, supersession, and the entity graph all work best at that grain.
Two ends to avoid:
memkeeper-ingest
add-on imports whole folders this way). Or distill the document down to its
takeaways and store those as memories.memkeeper is curated memory you populate deliberately โ not an automatic transcript logger. Memories get in two ways:
memkeeper remember --json '{"content":"โฆ"}', from the CLI or a
script.remember during a session, so durable facts
are captured as they come up. When a confirmed memory names entities or states a
relationship, the MCP tool asks the agent to include a bounded graph projection
in the same call. memkeeper validates and commits the memory, exact aliases, and
typed relationships atomically. The one memory ID is the relationship evidence.memkeeper does not run a second LLM or background extractor for this. The MCP host
agent supplies the structured graph fields while making the normal remember
call. Raw CLI callers can supply the same graph object explicitly.
On the retrieval side, memkeeper hook retrieve is a Claude Code
UserPromptSubmit hook client that injects relevant memories into the prompt โ so an
agent recalls without an explicit search. It retrieves; capture stays a deliberate
remember.
memkeeper has three retrieval modes. Local semantic is the default and the
recommended, fully on-device mode. Pick one up front โ the embedding backend is
recorded in the store, so changing it means re-embedding (reindex --embed), not a
flip.
The deterministic floor (zero models, zero network) and semantic + rerank on top โ same store, same query path. Real output via scripts/mkfmt.
| Mode | Network | Setup |
|---|---|---|
| Local semantic (default) | none | install binary, then pull-models |
| Lexical only | none | works out of the box; just skip pull-models |
| Off-device semantic | embeds via an API | set MEMKEEPER_EMBED_PROVIDER=openai + base URL + key |
Privacy: off-device semantic sends your memory text to the embeddings provider to be vectorized. Use it only where that is acceptable; the two on-device modes never send memory content anywhere.
The release binary ships semantic-capable (the ONNX runtime is statically bundled), so there's no rebuild โ it just needs the embed + rerank models, which aren't downloaded automatically. Fetch them once:
pull-models writes to ~/.memkeeper/models/ (override with MEMKEEPER_MODELS_DIR
or --dir) โ exactly where memkeeper looks by default. So semantic turns on with
no env vars to set: run a search afterward and it's active.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/teflon07-memkeeper)<a href="https://allmcps.com/mcp/teflon07-memkeeper"><img src="https://allmcps.com/api/badge/teflon07-memkeeper?style=directory" alt="Memkeeper on AllMCPs" /></a>