Skip to content

Quick Start

Estimated time: 10 minutes

Goal: initialize local storage, add one memory, and find it again from the terminal.

This path uses LTM only. You do not need an existing notes folder, embedding model, cloud account, MCP client, or STM proxy.

memtomem requires Python 3.12 or later. This guide recommends uv for a persistent CLI installation.

Terminal window
python --version
uv --version

On Windows, use py --version if python is not available. If uv is missing, install it from the official uv installation guide, reopen the terminal, and rerun uv --version.

Terminal window
uv tool install 'memtomem[all]'
mm --version
mm init --preset minimal --non-interactive --mcp skip

The Minimal preset uses keyword search and does not download an embedding model. --mcp skip keeps the first test independent of any client configuration.

If the shell cannot find mm, run uv tool update-shell and reopen the terminal. If the reported version is stale, refresh the package metadata:

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

Check the new store before adding anything:

Terminal window
mm status

Storage and database paths should be visible. A zero chunk count is normal in a new store. Now add and search one memory:

Terminal window
mm add "Release smoke tests run before traffic cutover" --tags release,decision
mm search "release smoke tests"

The result should contain the saved sentence and its Markdown source path. This proves that the local store, write path, index, and keyword search all work.

The interactive preset picker uses these released names:

PresetUse it forDownloads
Minimalfastest smoke test and exact-keyword searchnone
English (Recommended)mostly English projectslocal embedding and reranker models
Korean-optimizedKorean or multilingual notesmultilingual embedding, reranker, and Korean tokenizer

Rerun mm init after the first success when you want to change the provider. See Installation before changing an existing index’s embedding model.

Use Connect an AI Client to choose one supported client, register the server, and verify mem_status. Claude Code and Codex users should prefer the official plugin path; other clients use their released MCP configuration format.

Installing a plugin or registering MCP does not index the whole project, watch files, import built-in memory, or save conversations automatically.

Follow Index and Import Existing Content for a complete mm index or mm ingest workflow with a dry run, source-backed search, and repeat-run check.

The CLI round trip is sufficient for the first success. To browse search results, sources, tags, settings, and Context Gateway in a browser:

Terminal window
mm web --open

Developer and maintainer pages require mm web --dev; normal use does not.

Add STM only when an existing MCP workflow needs response compression, caching, or proactive LTM surfacing. Add STM to an MCP Server takes you from the bundled demo to a real proxied call and a reversible mms eject workflow.