Skip to main content

memtomem

🚧 Alpha — APIs, defaults, and on-disk config surfaces may still change between 0.x releases. Feedback and issue reports are especially welcome at github.com/memtomem/memtomem/issues.

Markdown-first long-term memory infrastructure for AI agents. Core usage is hook-free by default: your files remain the source of truth, and memory changes happen only when you or your agent explicitly call memtomem. Optional client hooks are separate, visible integrations.

Core philosophy: .md files are the source of truth and the vector database is a derived cache. Manage memories as plain text files — memtomem makes them instantly searchable.

Built for:

  • AI agents (Claude Code, Codex CLI, Cursor, Windsurf, Claude Desktop, OpenCode, Kimi Code) that need to remember between sessions
  • Developers who want a searchable knowledge base built from their existing markdown notes — no proprietary database, no vendor lock-in
  • Multilingual content (English, Korean, Japanese, Chinese) via local multilingual-e5-small embeddings, the ONNX default (bge-m3 remains available)

Quick Start

# 1. Install memtomem with all features (Python 3.12+)
uv tool install 'memtomem[all]'  # or: pipx install 'memtomem[all]'
mm --version

# 2. Configure storage, search, and optional MCP registration
mm init

# 3. Verify a complete memory round trip
mm status
mm add "Deployment checklist uses blue-green rollout" --tags ops
mm search "blue-green"

The search should return the sentence you just added. mm add writes to your configured user memory directory and indexes the entry immediately, so this path works without an existing notes directory or a connected editor.

Choose Minimal in the setup picker for a no-model-download first proof; rerun mm init later to add semantic search.

To index existing files next:

mm index /path/to/your/notes

If mm init registered an MCP client, ask it to Call the mem_status tool. See Getting Started for install alternatives, the Korean Claude Code/Codex quickstart for a plugin-first path, and MCP Client Setup for manual registration.

[all] includes local ONNX embeddings, Korean tokenization, code chunking, the Web UI, Langfuse tracing, and LangGraph Store support. The Ollama and OpenAI embedding providers need no extra, so a bare memtomem install can use them; without a provider it searches by keyword (BM25). See the optional extras table for smaller bundles. If mm is not on PATH, run uv tool update-shell and open a new shell. If an install appears stale, re-run it with --refresh. To upgrade an existing uv tool install, run mm upgrade rather than uv tool install again: it keeps the extras it detects and, on macOS and Linux, stops running servers first (see the CLI reference).

memtomem is the long-term-memory store. memtomem-stm is a separate, optional MCP proxy for automatic surfacing, compression, and caching.

Key Features

  • 🔍 Hybrid search — BM25 (FTS5) + dense vectors (sqlite-vec) merged via Reciprocal Rank Fusion. Exact terms via keyword, meaning via semantic, both at once.
  • 📦 Semantic chunking — heading-aware Markdown, AST-based Python, tree-sitter JS/TS, structure-aware JSON/YAML/TOML
  • ♻️ Incremental indexing — chunk-level SHA-256 diff means only changed chunks get re-embedded
  • 🏷️ Namespaces — scope memories into groups (work / personal / project) with optional auto-derivation from folder names; label them (colour, description) from Settings → Namespaces in the Web UI
  • 🧹 Maintenance — near-duplicate detection with merge, time-based score decay, TTL expiration, auto-tagging
  • 🔄 Export / import — JSON bundle backup and restore with re-embedding
  • 🌐 Web UI — polished SPA dashboard for search, sources, indexing, tags, and timeline (mm web --dev unlocks the full maintainer surface including Sessions, Working Memory, and Health Report)
  • 🧭 Context Gateway — keep canonical Skills, Commands, and Subagents in a project or user Store, optionally install reusable Wiki assets, then push them to supported runtimes
  • ⚙️ Scriptable CLI — JSON output for scripts: --json on mm status, the write commands (mm add / mm reset / mm purge), mm session start / end / list / events, mm schedule list, mm watchdog status / run and mm doctor, and --format json on mm search and mm recall; mm warmup pre-loads local models so the first query skips cold-start
  • 🛠️ 9-tool core mode — a compact default surface, with mem_do routing the full feature set without loading every tool into agent context
  • 📌 Pinned Context — small file-backed user/project/agent blocks are composed before retrieved memory
  • 🕸️ LangGraph Store — optional MemtomemBaseStore supplies tuple-namespace JSON persistence and search
  • Hybrid Store — MemtomemHybridStore adds explicit-path SQLite persistence, BM25/dense/RRF retrieval, TTL, and diagnostics; see the guide

The full surface contains 100 tools. It includes the Pinned Context actions (mem_pinned_list/get/set/delete, mem_context_compose) and review-first formation actions (mem_formation_scan, mem_candidate_propose/list/evidence/review/recover). See the complete MCP table for every category.

Documentation

Full documentation lives in the memtomem GitHub repo:

Guide Topic
Getting Started Start here — install, configure, save and find your first memory
한국어 바이브코딩 빠른 시작 Claude Code·Codex CLI에서 10~15분 안에 기억 저장·검색
MCP Client Setup Connect Claude Code, Cursor, Codex, and other clients
Core memory tools Index existing notes, search, and manage memories
Configuration Supported config files, precedence, and environment variables
Embeddings ONNX, Ollama, and OpenAI providers, model dimensions, switching models
Context Gateway Author and push canonical Skills, Commands, and Subagents to each type's supported AI tools
Operations & troubleshooting Web UI, privacy audits, diagnostics, and recovery
Reference Complete feature reference — all tools and patterns
memtomem-stm Optional STM proxy for proactive memory surfacing (separate package)

License

Apache License 2.0 — see LICENSE for details.

Metadata

Release files for memtomem 0.6.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for memtomem 0.6.10
File Size Uploaded Provenance
memtomem-0.6.10.tar.gz 3.3 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for memtomem 0.6.10
File Interpreter ABI Platform
memtomem-0.6.10-py3-none-any.whl Python 3 none any Details

Total release size: 6.7 MB

Release files / memtomem-0.6.10.tar.gz

Download URL memtomem-0.6.10.tar.gz
Size 3.3 MB
Tags Source
SHA-256 checksum
How to use checksums
ad57744fb5d7a289cbc09cba3782a0f8f93ccd7983a00af000bcafbe4519466e
BLAKE2b-256 checksum
How to use checksums
a3d19e3ca629c53e499993e0b9eac63d8af54d4861847effe753cb846a8ec49e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / memtomem-0.6.10-py3-none-any.whl

Download URL memtomem-0.6.10-py3-none-any.whl
Size 3.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e9c48717959c86bf8ec16046bc6e7f7e85351f8ed61d8919852a075d2de96b97
BLAKE2b-256 checksum
How to use checksums
cda93af0091841836c504bfbda90c0adb1718d8a4f9c131b860f76a7ff6dd031
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for memtomem 0.6.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for memtomem-0.6.10.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.6.10 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page