Installation
Requirements
Section titled “Requirements”- Python 3.12+
- pip, uv, or pipx
- An embedding provider for semantic search — pick one during
mm init(see Embedding Providers below). Fine to skip at first: memtomem works keyword-only until you choose.
LTM Server (memtomem)
Section titled “LTM Server (memtomem)”uv tool install 'memtomem[all]'pipx install 'memtomem[all]'pip install 'memtomem[all]'[all] is the recommended first install because it matches the main docs: ONNX dense embeddings, Korean tokenizer, Ollama / OpenAI providers, code chunker, and the Web UI (~250 MB). Want a leaner footprint? Drop the extra for a BM25-only install (~40 MB):
uv tool install memtomem # no extras — dense search, Web UI, Korean tokenizer unavailable until addedOpt into features later with e.g. uv tool install --reinstall 'memtomem[onnx,web]'.
After installing, verify the binary and upgrade with refreshed package metadata if the version looks stale:
mm --versionuv tool install 'memtomem[all]' --refreshOptional extras
Section titled “Optional extras”The extras below are what [all] bundles — install them individually when you want a narrower footprint.
| Extra | Description | Command |
|---|---|---|
onnx | fastembed local embeddings (recommended default) | pip install memtomem[onnx] |
ollama | Ollama provider client | pip install memtomem[ollama] |
openai | OpenAI provider client | pip install memtomem[openai] |
korean | kiwipiepy Korean morphological analysis | pip install memtomem[korean] |
code | tree-sitter AST chunking (Python / JS / TS) | pip install memtomem[code] |
web | FastAPI + uvicorn Web UI | pip install memtomem[web] |
all | Everything | pip install memtomem[all] |
mm CLI
Section titled “mm CLI”After installation, the commands you’ll reach for most often:
| Command | Purpose |
|---|---|
mm init | Interactive setup wizard |
mm status | Post-install DB / config / embedding health check |
mm search <query> | Search the knowledge base |
mm add <content> | Add a memory entry |
mm web | Launch Web UI dashboard (http://localhost:8080) |
mm --version · mm version | Print installed version |
Full command list (including ingest, session, context, watchdog, shell, reset, uninstall): see the CLI Reference.
The MCP server itself ships as the memtomem-server console script. You don’t run it by hand — your MCP client (Claude Desktop, Claude Code, Cursor, etc.) launches it automatically once memtomem is registered in the client’s MCP config.
STM Proxy (memtomem-stm)
Section titled “STM Proxy (memtomem-stm)”STM is optional. Install it after the LTM quick-start flow works if you want proactive memory surfacing or tool-response compression.
uv tool install memtomem-stmpipx install memtomem-stmpip install memtomem-stmuvx memtomem-stm --helpFor ad-hoc execution only — use uv tool install or another tab for a permanent install with client registration.
Optional extras
Section titled “Optional extras”| Extra | Description | Command |
|---|---|---|
langfuse | Langfuse observability tracing | pip install memtomem-stm[langfuse] |
langchain | LangChain agent integration | pip install memtomem-stm[langchain] |
mms CLI
Section titled “mms CLI”After installation, the following commands are available:
| Command | Purpose |
|---|---|
mms init --mcp claude | First-time setup + auto-register with Claude Code |
mms add <name> --command <cmd> | Register an upstream MCP server |
mms add --from-clients | Bulk-import upstreams from existing MCP client configs |
mms list | List registered servers |
mms health | Probe upstream connectivity |
mms --version | Print installed version |
The STM proxy itself ships as the memtomem-stm console script. As with LTM, you don’t launch it by hand — once memtomem-stm is registered with your MCP client (via mms init --mcp claude, mms register, or a .mcp.json entry), the client starts it automatically.
Embedding Providers
Section titled “Embedding Providers”| Provider | Setup | GPU | Cost |
|---|---|---|---|
| ONNX (fastembed) | Built-in | Not required | Free |
| Ollama | ollama pull nomic-embed-text | Not required | Free |
| OpenAI | API key required | — | Paid |
Not sure which to pick? Start with ONNX — it’s fully local, free, and needs no extra daemon or API key. You can always switch later by re-running mm init or setting MEMTOMEM_EMBEDDING__PROVIDER (note the double underscore — nested pydantic-settings keys use __ as delimiter).
Tech Stack
Section titled “Tech Stack”| Category | Technology |
|---|---|
| MCP | FastMCP (stdio, SSE, Streamable HTTP) |
| Framework | Pydantic v2, Click (CLI), FastAPI (Web UI) |
| Database | SQLite (FTS5 full-text search), sqlite-vec (vector search) |
| Code parsing | tree-sitter (Python, JS, TS AST) |
| Korean | kiwipiepy morphological analyzer (optional) |
| Observability | Langfuse (optional) |