If you're tired of re-explaining your codebase architecture every time you start a new Claude session, this one's for you. Runs entirely local as an MCP server with 25 memory tools including `omega_store` for persisting decisions and preferences, `omega_query` for semantic search across past sessions, and automatic context surfacing when relevant. Works with Claude Desktop, Cursor, and any MCP client without sending data to external APIs. Uses ONNX embeddings on-device and stores everything in a local SQLite database. The pro version adds multi-agent coordination with file locking and task queues, plus LLM routing that picks the cheapest model for each task type. Install with pip, run `omega setup`, and memories persist across sessions without configuration.
Public tool metadata for what this MCP can expose to an agent.
omega_storeStore a memory with optional type and metadata. Use when the user says 'remember this' or for programmatic capture (decisions, lessons, errors). Defaults to type 'memory' if event_type is omitted.9 paramsStore a memory with optional type and metadata. Use when the user says 'remember this' or for programmatic capture (decisions, lessons, errors). Defaults to type 'memory' if event_type is omitted.
textstringcontentstringprojectstringmetadataobjectpriorityintegerentity_idstringagent_typestringevent_typestringsession_idstringomega_querySearch memories — semantic (default) or exact phrase match. Use mode='phrase' for literal substring search (error messages, specific strings).13 paramsSearch memories — semantic (default) or exact phrase match. Use mode='phrase' for literal substring search (error messages, specific strings).
modestringsemantic · phraselimitintegerquerystringprojectstringentity_idstringagent_typestringevent_typestringsession_idstringfilter_tagsarraycontext_filestringcontext_tagsarraycase_sensitivebooleantemporal_rangearrayomega_welcomeGet a session welcome briefing with recent relevant memories and user profile.2 paramsGet a session welcome briefing with recent relevant memories and user profile.
projectstringsession_idstringomega_profileRead or update the user profile. Returns the profile by default. If 'update' dict is provided, merges those fields into the profile and saves.1 paramsRead or update the user profile. Returns the profile by default. If 'update' dict is provided, merges those fields into the profile and saves.
updateobjectomega_delete_memoryDelete a specific memory by its ID.1 paramsDelete a specific memory by its ID.
memory_idstringomega_edit_memoryEdit the content of a specific memory.2 paramsEdit the content of a specific memory.
memory_idstringnew_contentstringomega_list_preferencesList all stored user preferences.List all stored user preferences.
No parameter schema in public metadata yet.
omega_healthDetailed health check with memory usage, node counts, cache stats, warnings, and recommendations.3 paramsDetailed health check with memory usage, node counts, cache stats, warnings, and recommendations.
warn_mbnumbermax_nodesintegercritical_mbnumberomega_backupExport or import memories for backup/restore. Default mode is export.3 paramsExport or import memories for backup/restore. Default mode is export.
modestringfilepathstringclear_existingbooleanomega_lessonsRetrieve cross-session or cross-project lessons learned, ranked by verification count and access frequency.7 paramsRetrieve cross-session or cross-project lessons learned, ranked by verification count and access frequency.
taskstringlimitintegeragent_typestringproject_pathstringcross_projectbooleanexclude_projectstringexclude_sessionstringomega_feedbackRecord feedback on a surfaced memory (helpful, unhelpful, outdated). Improves future surfacing quality.3 paramsRecord feedback on a surfaced memory (helpful, unhelpful, outdated). Improves future surfacing quality.
ratingstringreasonstringmemory_idstringomega_clear_sessionClear all memories for a specific session. Use for cleanup after test sessions.1 paramsClear all memories for a specific session. Use for cleanup after test sessions.
session_idstringomega_similarFind memories similar to a given memory. Use for discovering related context.2 paramsFind memories similar to a given memory. Use for discovering related context.
limitintegermemory_idstringomega_timelineShow memory timeline grouped by day. Use to see what was captured recently.2 paramsShow memory timeline grouped by day. Use to see what was captured recently.
daysintegerlimit_per_dayintegeromega_consolidateRun memory consolidation: prune stale low-value memories, cap session summaries, clean orphaned edges. Returns a report.2 paramsRun memory consolidation: prune stale low-value memories, cap session summaries, clean orphaned edges. Returns a report.
prune_daysintegermax_summariesintegeromega_traverseTraverse the memory relationship graph from a starting memory. Shows all connected memories within N hops, useful for understanding context chains and discovering related knowledge clusters.3 paramsTraverse the memory relationship graph from a starting memory. Shows all connected memories within N hops, useful for understanding context chains and discovering related knowledge clusters.
max_hopsintegermemory_idstringmin_weightnumberomega_compactCompact related memories into consolidated knowledge nodes. Finds clusters of similar memories (same event type, high overlap) and creates summary nodes, marking originals as superseded. Reduces noise while preserving knowledge.4 paramsCompact related memories into consolidated knowledge nodes. Finds clusters of similar memories (same event type, high overlap) and creates summary nodes, marking originals as superseded. Reduces noise while preserving knowledge.
dry_runbooleanevent_typestringmin_cluster_sizeintegersimilarity_thresholdnumberomega_checkpointSave a task checkpoint — captures current plan, progress, files touched, decisions, and key context. Use when: (1) context window is getting full, (2) completing a major milestone, (3) before starting a new session for an ongoing task. Checkpoints enable seamless session conti...9 paramsSave a task checkpoint — captures current plan, progress, files touched, decisions, and key context. Use when: (1) context window is getting full, (2) completing a major milestone, (3) before starting a new session for an ongoing task. Checkpoints enable seamless session conti...
planstringprojectstringprogressstringdecisionsarraynext_stepsstringsession_idstringtask_titlestringkey_contextstringfiles_touchedobjectomega_resume_taskResume a previously checkpointed task. Retrieves the latest checkpoint with full plan, progress, files, decisions, and next steps. Use at the start of a new session to continue where you left off.4 paramsResume a previously checkpointed task. Retrieves the latest checkpoint with full plan, progress, files, decisions, and next steps. Use at the start of a new session to continue where you left off.
limitintegerprojectstringverbositystringfull · summary · minimaltask_titlestringomega_remindSet a time-based reminder. OMEGA will surface it when the time arrives (at session start or during active sessions). Use for 'remind me in 1 hour to...' requests.5 paramsSet a time-based reminder. OMEGA will surface it when the time arrives (at session start or during active sessions). Use for 'remind me in 1 hour to...' requests.
textstringcontextstringprojectstringdurationstringsession_idstringomega_remind_listList active reminders with their status and due times.1 paramsList active reminders with their status and due times.
statusstringpending · fired · dismissed · allomega_remind_dismissDismiss a reminder by its ID. Use after acknowledging a reminder.1 paramsDismiss a reminder by its ID. Use after acknowledging a reminder.
reminder_idstringomega_type_statsGet memory counts grouped by event type. Shows the composition of the memory store (how many decisions, lessons, errors, etc.).Get memory counts grouped by event type. Shows the composition of the memory store (how many decisions, lessons, errors, etc.).
No parameter schema in public metadata yet.
omega_session_statsGet memory counts grouped by session. Shows which sessions have contributed the most memories (top 20).Get memory counts grouped by session. Shows which sessions have contributed the most memories (top 20).
No parameter schema in public metadata yet.
omega_weekly_digestGet a weekly knowledge digest with stats, trends, and highlights. Shows new memories, session count, growth trends, type breakdown, and top topics.1 paramsGet a weekly knowledge digest with stats, trends, and highlights. Shows new memories, session count, growth trends, type breakdown, and top topics.
daysintegeromega_protocolGet your coordination playbook — dynamically assembled operating instructions. Call at session start (step 2 after omega_welcome) or when you need protocol guidance. Returns context-sensitive rules based on project, peer activity, and learned lessons.2 paramsGet your coordination playbook — dynamically assembled operating instructions. Call at session start (step 2 after omega_welcome) or when you need protocol guidance. Returns context-sensitive rules based on project, peer activity, and learned lessons.
projectstringsectionstringCross-model memory for AI agents. Local-first. Works with Claude, GPT, Gemini, Cursor, Claw Code, and any MCP client. Your agent's brain shouldn't live on someone else's server, or be locked to one provider.
AI coding agents are stateless. Every new session starts from zero. The "solutions" either lock you into one model provider or send your codebase context to their cloud.
OMEGA solves this. Memory, coordination, and learning that runs entirely on your machine. Works with every major LLM and coding agent. No cloud. No API keys. No vendor lock-in.
pip install omega-memory[server] # Full install (memory + MCP server)
omega setup # Downloads model, registers MCP, installs hooks
omega doctor # Verify everything works
pip install omega-memory[server]
omega setup --client claude-desktop
This registers OMEGA as an MCP server in Claude Desktop's config. Restart Claude Desktop to activate.
pip install omega-memory[server]
omega setup --client cursor # or: claw-code, windsurf, cline, codex
If you only need OMEGA as a Python library for scripts, CI/CD, or automation:
pip install omega-memory # Core only, no MCP server process
from omega import store, query, remember
store("Always use TypeScript strict mode", "user_preference")
results = query("TypeScript preferences")
This gives you the full storage and retrieval API without running an MCP server (~50 MB lighter, no background process). Hooks still work:
omega setup --hooks-only # Auto-capture + memory surfacing, no MCP server (~600MB RAM saved)
git clone https://github.com/omega-memory/omega.git
cd omega
pip install -e ".[server,dev]"
omega setup
omega setup will:
~/.omega/ directory~/.cache/omega/models/omega-memory as an MCP server (Claude Code auto-detected, or specify --client)~/.claude/settings.json~/.claude/CLAUDE.mdOMEGA works through natural language — no API calls, no configuration. Just talk to Claude.
1. Tell Claude to remember something:
"Remember that the auth system uses JWT tokens, not session cookies"
Claude stores this as a permanent memory with semantic embeddings.
2. Close the session. Open a new one.
3. Ask about it:
"What did I decide about authentication?"
OMEGA surfaces the relevant memory automatically:
Found 1 relevant memory:
[decision] "The auth system uses JWT tokens, not session cookies"
Stored 2 days ago | accessed 3 times
That's it. Memories persist across sessions, accumulate over time, and are surfaced automatically when relevant — even if you don't explicitly ask.
Memory & Learning — Stores decisions, lessons, error patterns, and preferences with semantic search. Claude recalls what matters without you re-explaining everything each session. 25 memory tools including compaction, consolidation, timeline, graph traversal, and context virtualization (checkpoint/resume).
Multi-Agent Coordination (omega-pro) — File and branch locking, session management, task queues with dependencies, intent broadcasting, and agent-to-agent messaging. 29 coordination tools that prevent agents from overwriting each other's work.
Intelligent LLM Routing (omega-pro) — Classifies tasks and routes to the optimal model. Coding → Claude Sonnet. Quick edit → Llama 8b at 1/60th the cost. 1M token context → Gemini Flash. 5 providers, 4 priority modes, sub-2ms intent classification.
Knowledge Base (omega-pro) — Ingest PDFs, markdown, web pages, and text files into a searchable knowledge base with semantic chunking.
Entity Registry (omega-pro) — Multi-entity corporate memory with relationships, hierarchies, and entity-scoped memories/profiles/documents.
Secure Profile (omega-pro) — AES-256 encrypted personal data storage with macOS Keychain integration.
| Feature | OMEGA | Anthropic Memory | Mem0 | Zep |
|---|---|---|---|---|
| Works with any LLM/agent | Yes | Claude only | Yes | Yes |
| Your data stays on your machine | Yes | Partial* | No | No |
| No cloud dependency | Yes | No (needs API) | No | No |
| Semantic search + knowledge graph | Yes | No (file CRUD) | $249/mo | Yes |
| Multi-agent coordination | Yes (pro) | Research preview | No | No |
| Works with Claude Code, Cursor, Claw Code | Yes | Claude only | Partial | No |
| Free & open source | Yes (Apache 2.0) | No | Freemium | Freemium |
Anthropic's Memory Tool stores data client-side but requires Claude API calls for all memory operations. OMEGA runs entirely on-device, including embeddings (ONNX).
Anthropic Memory is for Anthropic. OMEGA is for everyone.
Claude Code · Cursor · Claw Code · Any MCP Client
│ │ │ │
└─────────┴─────┬───┴──────────────┘
│ stdio/MCP
┌───────────────▼─────────────┐
│ OMEGA MCP Server │
│ 25 core tools │
└──┬──────────────────┘
│
┌────────▼──────────────┐
│ Core Memory Engine │
│ (semantic search, │
│ embeddings, graphs) │
└─────┬─────────────────┘
│
▼
┌──────────────────────────────────────┐
│ omega.db (SQLite) │
│ memories | edges | embeddings │
└──────────────────────────────────────┘
Single database, modular handlers. Optional modules (coordination, router, entity, knowledge, profile) are available via omega-pro and register into the same server process. No separate daemons, no microservices.
OMEGA runs as an MCP server inside Claude Code. The core package provides 25 memory tools. omega-pro adds coordination, routing, entity, knowledge, and profile tools.
| Tool | What it does |
|---|---|
omega_store | Store typed memory (decision, lesson, error, summary) |
omega_query | Semantic search with tag filters and contextual re-ranking |
omega_welcome | Session briefing with recent memories and profile |
omega_profile | Read or update user profile |
omega_delete_memory | Delete a specific memory by ID |
omega_edit_memory | Edit the content of a memory |
omega_list_preferences | List all stored user preferences |
omega_health | Detailed health check with memory usage and recommendations |
omega_backup | Export or import memories for backup/restore |
omega_lessons | Cross-session lessons ranked by access count |
omega_feedback | Record feedback on a surfaced memory |
omega_clear_session | Clear all memories for a specific session |
omega_similar | Find memories similar to a given one |
omega_timeline | Memories grouped by day |
omega_consolidate | Prune stale memories, cap summaries, clean edges |
omega_traverse | Walk the relationship graph |
omega_compact | Cluster and summarize related memories |
omega_checkpoint | Save task state for cross-session continuity |
omega_resume_task | Resume a previously checkpointed task |
omega_remind | Set a time-based reminder |
omega_remind_list | List active reminders |
omega_remind_dismiss | Dismiss a reminder |
omega_type_stats | Memory counts grouped by event type |
omega_session_stats | Memory counts grouped by session |
omega_weekly_digest | Weekly knowledge digest with stats and trends |
| Module | Tools | Description |
|---|---|---|
| Coordination | 29 | File/branch locking, sessions, tasks, messaging, audit |
| Router | 10 | LLM routing, intent classification, model switching |
| Entity | 8 | Corporate entities, relationships, hierarchies |
| Knowledge | 5 | Document ingestion, semantic search, RAG |
| Profile | 3 | AES-256 encrypted personal data storage |
| Command | Description |
|---|---|
omega setup | Create dirs, download model, register MCP, install hooks (--hooks-only to skip MCP) |
omega doctor | Verify installation health |
omega status | Memory count, store size, model status |
omega query <text> | Search memories by semantic similarity |
omega store <text> | Store a memory with a specified type |
omega timeline | Show memory timeline grouped by day |
omega activity | Show recent session activity overview |
omega stats | Memory type distribution and health summary |
omega consolidate | Deduplicate, prune, and optimize memory |
omega compact | Cluster and summarize related memories |
omega backup | Back up omega.db (keeps last 5) |
omega validate | Validate database integrity |
omega logs | Show recent hook errors |
omega migrate-db | Migrate legacy JSON to SQLite |
All hooks dispatch via fast_hook.py → daemon UDS socket, with fail-open semantics.
| Hook | Matcher | Handlers | Purpose |
|---|---|---|---|
| SessionStart | all | session_start | Welcome briefing, session resume |
| Stop | all | session_stop | Summary |
| UserPromptSubmit | all | auto_capture | Auto-capture lessons/decisions |
| PostToolUse | Edit/Write/NotebookEdit | surface_memories | Surface relevant memories |
| PostToolUse | Bash/Read | surface_memories | Surface relevant memories |
With omega-pro, additional coordination handlers register automatically: session lifecycle, file/branch claim guards, heartbeat, and git push guards.
| Path | Purpose |
|---|---|
~/.omega/omega.db | SQLite database (memories, embeddings, edges) |
~/.omega/profile.json | User profile |
~/.omega/hooks.log | Hook error log |
~/.cache/omega/models/bge-small-en-v1.5-onnx/ | ONNX embedding model |
related edges (similarity >= 0.45) to top-3 similar memoriesomega setup modifies these files outside ~/.omega/:
~/.claude.json — Adds omega-memory MCP server entry~/.claude/settings.json — Adds hook entries~/.claude/CLAUDE.md — Adds a managed <!-- OMEGA:BEGIN --> blockAll changes are idempotent.
omega doctor shows FAIL on import:
pip install -e ".[server]" from the repo rootpython3 -c "import omega" worksMCP server fails to start:
pip install omega-memory[server] (the [server] extra includes the MCP package)MCP server not registered:
claude mcp add omega-memory -- python3 -m omega.server.mcp_server
Hooks not firing:
~/.claude/settings.json has OMEGA hook entries~/.omega/hooks.log for errorspip install -e ".[server,dev]"
pytest tests/ # 2198+ tests
ruff check src/ # Lint
claude mcp remove omega-memory
rm -rf ~/.omega ~/.cache/omega
pip uninstall omega-memory
Manually remove OMEGA entries from ~/.claude/settings.json and the <!-- OMEGA:BEGIN --> block from ~/.claude/CLAUDE.md.
Apache-2.0. See LICENSE.
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent