Skip to content

Installation

  • 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.
Terminal window
uv tool 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):

Terminal window
uv tool install memtomem # no extras — dense search, Web UI, Korean tokenizer unavailable until added

Opt 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:

Terminal window
mm --version
uv tool install 'memtomem[all]' --refresh

The extras below are what [all] bundles — install them individually when you want a narrower footprint.

ExtraDescriptionCommand
onnxfastembed local embeddings (recommended default)pip install memtomem[onnx]
ollamaOllama provider clientpip install memtomem[ollama]
openaiOpenAI provider clientpip install memtomem[openai]
koreankiwipiepy Korean morphological analysispip install memtomem[korean]
codetree-sitter AST chunking (Python / JS / TS)pip install memtomem[code]
webFastAPI + uvicorn Web UIpip install memtomem[web]
allEverythingpip install memtomem[all]

After installation, the commands you’ll reach for most often:

CommandPurpose
mm initInteractive setup wizard
mm statusPost-install DB / config / embedding health check
mm search <query>Search the knowledge base
mm add <content>Add a memory entry
mm webLaunch Web UI dashboard (http://localhost:8080)
mm --version · mm versionPrint 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 is optional. Install it after the LTM quick-start flow works if you want proactive memory surfacing or tool-response compression.

Terminal window
uv tool install memtomem-stm
ExtraDescriptionCommand
langfuseLangfuse observability tracingpip install memtomem-stm[langfuse]
langchainLangChain agent integrationpip install memtomem-stm[langchain]

After installation, the following commands are available:

CommandPurpose
mms init --mcp claudeFirst-time setup + auto-register with Claude Code
mms add <name> --command <cmd>Register an upstream MCP server
mms add --from-clientsBulk-import upstreams from existing MCP client configs
mms listList registered servers
mms healthProbe upstream connectivity
mms --versionPrint 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.

ProviderSetupGPUCost
ONNX (fastembed)Built-inNot requiredFree
Ollamaollama pull nomic-embed-textNot requiredFree
OpenAIAPI key requiredPaid

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).

CategoryTechnology
MCPFastMCP (stdio, SSE, Streamable HTTP)
FrameworkPydantic v2, Click (CLI), FastAPI (Web UI)
DatabaseSQLite (FTS5 full-text search), sqlite-vec (vector search)
Code parsingtree-sitter (Python, JS, TS AST)
Koreankiwipiepy morphological analyzer (optional)
ObservabilityLangfuse (optional)