Markdown-first long-term memory for AI agents. Hybrid BM25 + vector search, runs locally.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Markdown-first long-term memory for AI coding agents — your files stay yours, and core usage is hook-free by default.
🚧 Alpha — APIs, defaults, and on-disk config surfaces may still change between
0.xreleases. Feedback and issue reports are especially welcome: Issues · Discussions.
memtomem turns your markdown notes, documents, and code into a searchable knowledge base that any AI coding agent can use. Write notes as plain .md files — memtomem indexes them and makes them searchable by both keywords and meaning.
First time here? Follow the Getting Started guide — you'll have a working setup in under 5 minutes. Claude Code or Codex CLI user? See the Korean vibe-coding quickstart.
| Problem | How memtomem solves it |
|---|---|
| AI forgets everything between sessions | Index your notes once, search them in every session |
| Keyword search misses related content | Hybrid search: exact keywords + meaning-based similarity |
| Notes scattered across tools | One searchable index for markdown, JSON, YAML, Python, JS/TS |
| Vendor lock-in | Your .md files are the source of truth. The DB is a rebuildable cache |
| Hidden automation is hard to reason about | Core memory operations run only when you call them; optional client hooks are explicit, removable integrations |
[all] bundles the features the sections below describe — ONNX dense embeddings, Korean tokenizer, Ollama / OpenAI providers, code chunker, and the Web UI. For a BM25-only install without those downloads (~40 MB vs ~250 MB), see the minimal install option in the Getting Started guide.
If
mm --versionshows an older version than the latest release right after installing,uvis likely serving cached PyPI metadata — re-run withuv tool install 'memtomem[all]' --refresh, or clear the cache first:uv cache clean memtomem. To upgrade an existing uv tool install, usemm upgraderather than re-runninguv tool install; see the CLI reference for what it preserves and stops.
mm: command not found?uv tool installdrops the shim into~/.local/bin, which isn't on$PATHin fresh shells on macOS/Linux. Runuv tool update-shell, then open a new shell and re-runmm --version.
After upgrading the Claude plugin: re-check
/mcpafter reloading. The plugin launchesmemtomem[onnx]==0.6.5. A manual registration whose launch differs — base-onlymemtomem, or the ONNX launch pinned to an earlier release — no longer matches for deduplication and may expose duplicate tools. Confirm the manual entry's name and scope, then align its launch command with the plugin or remove that redundant registration.
The interactive picker starts with three presets — Minimal (BM25, no downloads), English (Recommended) (ONNX multilingual-e5-small + English reranker + auto-discover providers), Korean-optimized (ONNX multilingual-e5-small + kiwipiepy tokenizer + multilingual reranker) — plus an Advanced entry that opens the full 10-step wizard. Preset paths only ask about the memory directory and MCP registration; everything else is set from the preset.
Choose Minimal for the fastest no-download first proof; rerun mm init
later when you are ready to add semantic search.
Indexing vs. discovery (Claude Code): provider memory folders that setup auto-discovers (e.g.
~/.claude/projects/*/memory/) are added to the search index. That is separate from the Web UI's opt-in Context Gateway scan of~/.claude/projects/, which discovers project roots for Skills, Custom Commands, and Subagents — see Configuration → Context Gateway for the distinction and the lossy-slug caveats.
For automation / CI:
See Embeddings for the full model/provider matrix.
The first success path does not require an existing notes directory or a connected editor:
mm add writes to your configured user memory directory and indexes the entry immediately. The final command should return the sentence you just added.
Then verify the editor connection:
To bring existing notes into the same index, point mm index at a directory that already exists:
mm status --json (or --format json) provides the same status as machine-readable output for scripts and CI.
mm web shows the polished page set by default. Pass --dev (or set
MEMTOMEM_WEB__MODE=dev in your shell profile) to expose maintainer pages
like Namespaces, Sessions, Working Memory, and Health Report.
Opt in later per-feature: uv tool install --reinstall 'memtomem[onnx,web]' (see the extras table).
Project-scoped (per-project isolation):
No install (uvx on demand):
See MCP Client Setup for OpenCode / Codex / Cursor / Windsurf / Claude Desktop / Gemini CLI / Kimi Code.
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/memtomem)<a href="https://allmcps.com/mcp/memtomem"><img src="https://allmcps.com/api/badge/memtomem?style=directory" alt="Memtomem on AllMCPs" /></a>