Memento Documentation
Persistent semantic memory for AI coding agents. Save, recall, and search context across sessions — even after autocompact. Zero-config, local-first, private by design.
Memento works with Claude Code, OpenCode, Cursor, and Windsurf. It runs entirely on your machine — no cloud, no API keys, no data leaving your computer.
Getting Started
New to Memento? Start here.
- Installation — System requirements, setup for all IDEs, troubleshooting
- Quickstart — Your first memory in 5 minutes
- How It Works — Architecture overview, the capture pipeline, how recall works
- Upgrading from v0.x — Migration guide, breaking changes, new features
Guides
Learn how to use every feature.
- Auto-Capture — How hooks capture context silently in the background
- Search Modes — Vector, keyword, and hybrid search explained
- Smart Memory — Contradiction detection, importance scoring, entity extraction, relationships
- Multi-IDE Setup — Claude Code, OpenCode, Cursor, Windsurf configuration
- Project Indexing — Bootstrap context with memory_index and memory_ingest
- Export & Import — Backups, migration, all 4 formats
- Compaction — Cleaning up old and duplicate memories
- Browser Usage — Browser bundle, IndexedDB, Chrome extension
- HTTP API & Graph UI — REST endpoints, D3 visualization, integrations
- Configuration — Full config reference, storage backends, embedding providers
Reference
Definitive reference for every tool, type, and endpoint.
- MCP Tools (all 17) — Parameters, examples, and responses for every tool
- CLI Commands — setup, status, teardown, serve
- Storage Backends — Local files, IndexedDB, ChromaDB, Neo4j
- Embedding Providers — Local/MiniLM, Gemini, OpenAI
- TypeScript Types — MemoryEntry, MemoryRelation, VectorStore, EmbeddingProvider
- REST API — OpenAPI-style endpoint reference
Architecture
How Memento works under the hood.
- System Overview — Diagrams, module map, data flow
- Memory Pipeline — Redaction, tagging, chunking, dedup, embedding, storage
- Resilience — Circuit breaker, write-ahead log, LRU cache
- Search Internals — HNSW, BM25, hybrid scoring math
- Architecture Decisions — ADRs: why local-first, why AGPL, why MiniLM
Contributing
Want to improve Memento?
- Contributing Guide — Setup, branch naming, PR guidelines
- Code Style — ESLint, Prettier, ESM conventions
- Testing — Vitest patterns, coverage thresholds, mocking
- Adding a Tool — Step-by-step guide to create a new MCP tool
- Adding a Storage Backend — VectorStore interface, adapter pattern