OmniMem MCP

An MCP server that gives an agent memory across sessions, projects and machines: decisions, dead ends, preferences and skills

  • 93 ★ on the repository
  • Last commit
MCP server

Extended access

Why this level

  • The server stores session and project content in a local database, Claude Code hooks intervene in tool calls and an Anthropic key sends data to a cloud model.
All reasons and checks

richarvey/omnimem

Install

Manual install

claude mcp add --transport http --scope user omnimem http://127.0.0.1:8765/mcp

Connects to an already running server. Installers for every platform are on the releases page.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The server stores session and project content in a local database, Claude Code hooks intervene in tool calls and an Anthropic key sends data to a cloud model.

This is third-party code. Review the repository files before installing.

What it does

OmniMem is self-hosted memory for coding agents connected over MCP. It is one program: the MCP server, memory engine, embedding model, RSS ingestion and database live in one process and memory is kept in a single SQLite file. On a desktop it sits in the tray or the macOS menu bar, on a server it runs as `omnimem serve` as a systemd service or a container. Memory comes in five kinds: episodic (decisions, bugs fixed, patterns), project context, knowledge from RSS feeds you pick, preferences and skills, meaning `SKILL.md` documents compiled from your experience. Every recall ranks by similarity, lifecycle state, recency, how hard a lesson was and trust. A graveyard log keeps what was tried, why it failed and what it cost, and the agent checks it before suggesting a library or pattern. Claude Code hooks (`omnimem install-hooks`) put a short project briefing at the start of a session, stop a call that repeats a known dead end and record what a session changed. The all-MiniLM-L6-v2 embedding model runs locally, and an Anthropic key is needed only for optional features on Claude Haiku.

Who it is for. Developers who work with Claude Code and other agents every day and are tired of re-explaining a project and stepping on the same rakes.

Good fit when

  • Every agent session starts from zero and you repeat the project layout and past decisions
  • An agent proposes an approach you already tried and rejected and you want the dead end log to stop it
  • You need shared memory across several projects and machines: a server on one computer and clients on the rest
  • Repeated experience in a domain should be compiled into a `SKILL.md` skill, but only after your approval
  • Articles from RSS feeds you pick should enter memory on a schedule and be suggested to the agent when relevant

Not a fit when

  • You need shared team memory with access control: OmniMem is built for one user on their own hardware
  • You want memory that collects every conversation on its own: the server stores what the agent or hooks write to it
  • You need an Intel Mac: the macOS build exists only for Apple silicon

Example request

Before proposing a fix for a redirect from a custom URL scheme, check through OmniMem whether we tried that approach before and how it ended.

MCP

Transport
http
Authentication
not required

Environment variables

ANTHROPIC_API_KEY secret
Anthropic key for the optional Claude Haiku features: fact extraction, query expansion and RSS summaries.

Limitations

The installers are unsigned: Windows shows SmartScreen and to run it you choose More info and then Run anyway. The macOS build exists only for Apple silicon, and Linux needs glibc 2.38 or newer (Debian 13, Ubuntu 24.04, Fedora 39). The Claude Haiku features (fact extraction, query expansion, deeper contradiction checks, RSS summaries) work only with your Anthropic key and without it memory stays local. Only a human can confirm or reject a memory and an agent cannot. Version 7 replaced the four containers of version 6 and upgrading from 6.x has its own section.

How to disable. Remove the server from the client configuration, for example `claude mcp remove omnimem`, and stop the `omnimem` service. Remove the Claude Code hooks from settings and delete the SQLite memory file by hand.

FAQ

How do I connect OmniMem to Claude Code?

Start the app or `omnimem serve` and run `claude mcp add --transport http --scope user omnimem http://127.0.0.1:8765/mcp`. In the app the Add to Claude Code tray item does the same.

Are containers and a separate database needed?

No. Version 7 runs as one process and keeps memory in a single SQLite file. For servers there are `.deb` and `.rpm` packages and a Docker image with one `/data` volume.

Does data leave my machine?

The embedding model runs locally. Data leaves only if you added an Anthropic key for the optional Claude Haiku features.

What do the Claude Code hooks do?

`omnimem hook` puts a short project briefing at the start of a session, stops a call that repeats a known dead end and records the session outcome. `omnimem install-hooks` sets them up.

Who confirms what the agent remembered?

Only you, in the settings window or the terminal. A fact the program extracted by itself waits for your confirmation and a rejected memory never comes back.

Discussion

No questions or reviews yet.

Official

Local memory for agents: stores conversations and project files verbatim and retrieves them with semantic search over MCP

MCP serverExtended access60.5KRepository stars

A long-term memory MCP server for agents: one Rust binary that runs offline and never calls a language model

MCP serverBroad access323Repository stars

Persistent memory for coding agents: insights are stored as markdown cards and recalled at the start of the next session.

MCP serverExtended access144Repository stars

Long-term memory for agents: it distills knowledge from session history and brings it back in new tasks, one store shared across Claude Code, Codex, Cursor and

SkillExtended access14.6KRepository stars
Official

Long-term memory for Claude Code, Cursor and Codex: the agent saves decisions and finds them again in later sessions

MCP serverExtended access66Repository stars

Shared local memory for AI agents: Claude Code, Codex, Cursor and others find the agreements of past sessions in it and record new ones

CLIBroad access2.2KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
OmniMem (this card)nonot required93
agentmemoryyesnot required30,314agent memory over MCP; OmniMem adds a dead end log, Claude Code hooks and a memory lifecycle
Basic Memorynonot required4,557Markdown notes with search; OmniMem stores memory in SQLite and scores lesson difficulty and trust

README in short

The README describes a single program with several run modes, an installer table by platform, five kinds of memory, features (hooks, dead end log, lifecycle, trust), the ranking formula and upgrading from version 6.

README badge

Report a problem