Mom
MOM is a persistent memory for AI agents β she remembers, so you don't have to_
Ask AI about Mom
Powered by Claude Β· Grounded in docs
I know everything about Mom. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
MOM
She remembers, so you don't have to_
Your AI assistant forgets everything between sessions. You re-explain decisions, conventions, architecture β every time. MOM fixes that.
MOM (Memory Oriented Machine) is an open-source CLI that gives AI agents persistent, structured memory. Decisions, constraints, patterns, and learnings β stored in your project, loaded automatically, evolving with every session. Harness-agnostic. On-prem. Schema-validated.
Self-hosting since v0.2 β MOM builds itself with its own memory.
Quick Start
# Install via Homebrew
brew tap momhq/tap
brew install mom
# Update
brew update && brew upgrade mom
# Or build from source
git clone https://github.com/momhq/mom.git
cd mom/cli && make install
# Initialize in your project
cd your-project
mom init
# Done. Your agent now has persistent memory.
How It Works
MOM creates a .mom/ directory in your project β a structured memory layer your AI agent loads at every session.
your-project/
βββ .mom/ # MOM's home
β βββ config.yaml # preferences (language, communication mode)
β βββ schema.json # document schema (v2)
β βββ identity.json # project identity
β βββ memory/ # memory documents (structured JSON)
β βββ constraints/ # always-active guardrails
β βββ skills/ # composable procedures
β βββ raw/ # continuous session capture (JSONL)
β βββ logs/ # session logs
β βββ cache/
β
βββ .mcp.json # MCP server config (auto-injected)
βββ .claude/CLAUDE.md # auto-generated boot file for Claude Code
βββ your code...
You work with your agent. MOM validates, indexes, and delivers memory to the harness. Switch harnesses without losing anything.
What Makes It Different
Memory compounds. Month 6 is structurally richer than month 1. Your agent knows the web of decisions behind your codebase. No one starting from zero can match months of accumulated context.
Harness-agnostic. Memory lives in .mom/, not in .claude/ or .cursor/. MOM generates the right context for each harness through adapters. Your memory is yours, not locked to a vendor.
Schema-validated. Every memory document is tagged, scoped, and promotion-managed. Not a loose Markdown file β a structured, queryable memory with free-form content.
MCP-first. MOM delivers context via Model Context Protocol. Agents search, read, and write memory through MCP tools β no file parsing, no guesswork. .mcp.json is auto-injected on mom init.
On-prem by default. Your memory stays in your repo. No cloud dependency. No data leaving your machine.
Commands
| Command | What it does |
|---|---|
mom init | Interactive onboarding β harness, language, mode |
mom status | Memory summary β document count, tags, health |
mom doctor | Diagnostic checks on .mom/ health |
mom recall <query> | Search across memory (SQLite FTS5) |
mom tour | Show top landmark memories at current scope |
mom validate | Validate documents against schema |
mom export | Export memory to portable directory |
mom import | Import memory (merge or replace) |
mom reindex | Rebuild the SQLite search index from JSON memory files |
mom watch | Watch harness transcripts and ingest turns automatically |
mom sweep | Delete old raw JSONL recordings based on retention policy |
mom diagnose | Compute derived metrics from session logs |
mom serve mcp | Start MCP stdio server |
mom serve status | Show MCP server activity |
mom upgrade | Upgrade .mom/ to the latest version (preserves memory) |
mom uninstall | Remove all MOM files from this project |
mom version | Print version |
Supported Harnesses
| Harness | MCP | Watcher | Boot file | Status |
|---|---|---|---|---|
| Claude Code | Yes | Yes | CLAUDE.md | Full support |
| OpenAI Codex | Yes | β | AGENTS.md | Boot file + MCP |
| Windsurf | Yes | Yes | .windsurf/rules/ | Full support |
| Pi | Yes | Yes | AGENTS.md | Full support (extension-based, no native hooks) |
Current Status
MOM is in active development (v0.14). It works, and it self-hosts β the tool builds itself with its own memory.
What's in v0.14:
- Progressive recall engine β searches repo β org β user, curated-first, ANDβOR query relaxation when results are sparse
- Cleaner MCP surface β
mom_recallis the single retrieval tool, wired through the recall engine with optional scope pinning - Harness tier system β Native / Fluent / Functional classification per harness, surfaced in
mom doctor - Pi support (Native tier) β TypeScript extension,
.mcp.jsonregistration, full watcher integration - Constraints simplified β audited from 6 to 2:
anti-hallucinationandescalation-triggers session-wrap-upredesigned β surfaces drafts from disk viamom_recall, not from context windowmom initas config manager β reconciles harnesses on reinit (enable new, disable removed)harnessrename βruntimeβharnessthroughout config, CLI flags, and internals- SQLite FTS5 search with content-first column weights
- Global watch daemon (launchd / systemd) for all registered projects
- Multi-repo support with scope-based memory (repo β org β user)
- Homebrew installation with automated tap updates
Contributing
See CONTRIBUTING.md for setup, conventions, and how to submit PRs.
If you work with AI agents and feel the amnesia pain β issues, feedback, and honest criticism are welcome.
