Memory for AI agents that tracks beliefs over time and surfaces contradictions
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
The system of record for what an AI agent believed and did. Append-only, with the evidence under every belief, both sides of every contradiction kept, and a named human behind every risky action. So when an agent acts and someone asks "why did it do that", you answer with a record instead of an investigation.
OMEM sits where a memory layer sits and does a different job. Instead of dumping text into a vector store and hoping for the best, it tracks what each agent believes over time, keeps the evidence under every belief, and handles contradictions explicitly, so an agent can reason about what it knows, when it learned it, and why it holds.
And it does not start from nothing. Installs that choose to pool what they work out about people in general, as counts that name nobody, and a young install borrows that intuition on day one instead of spending six months earning it. What you contribute is counts; what you get back is everyone else's. A borrowed pattern is born weaker than one you learned yourself, and still yields the moment a person's own evidence disagrees, so the general never overrides the individual.
The bank is empty today. No installation has contributed yet, which means the first ones decide what it learns, and it is worth knowing that a corpus of regularities about people can carry the biases of whoever filled it. The mining rule was rebuilt so that a pattern has to beat the base rate rather than ride it (Working Paper No. 1); whether the contributing population is representative is a separate question and an open one.
It runs locally with no external services and no dependencies to install.
Or deploy a private server in one click:
The blueprint provisions one small service with a persistent disk, password
auth on (the first signup is the operator account), and a generated master
key. Fly.io works too: fly launch --copy-config with the included
fly.toml.
Docs: infrastructure.omem-cloud.com Β· Quickstart Β· Security Β· Contributing
Shipping agents to clients? The audit trail and the approval gate are the point: what a client's security review asks for, and a small number of hands-on design-partner pilots are open.
Want to see the whole pattern run before reading another word? refund-desk is the reference integration: a support agent that moves money, with receipts. One file, runs in a minute, asserts every claim it makes.
That is scripts/demo_reasoning.py, abridged. Every line is an
asserted behaviour that runs in CI, so this picture cannot quietly stop being true.
Two sources disagree. Neither is overwritten. See the whole thing running.
Most agent memory is a list of facts. When two facts conflict, one silently overwrites the other and the history is gone. OMEM keeps both, tracks which one is currently believed, and can tell you why. A few things it does that a plain vector store does not:
X and not:X are treated as opposed automatically; for anything
else, mem.contradict("prefers_annual", "prefers_monthly") says so once. OMEM
never decides two claims disagree by reading them, because that judgment is
what would stop the same question having the same answer a year later.OMEM_EMBED_MODEL to use your provider's real embedding model, with
cached vectors and automatic fallback if the provider is down.You need Python 3.9 or newer. No other dependencies.
Option 1: install from PyPI (server included).
Upgrading from an earlier version? pip install --upgrade omem-infrastructure.
Plain pip install on a package you already have reports "Requirement already
satisfied" and does nothing, which is a quiet way to keep running the version
you were trying to leave. python -c "import omem; print(omem.__version__)"
says what you actually have.
That starts the server on http://127.0.0.1:8787 and, on first run, prints a project id and an API key: no signup call, no dashboard visit, nothing to configure. Paste them straight in:
QUICKSTART.md takes that to a contradiction and a provenance chain in about five minutes, which is where the difference from a vector store actually shows.
Option 2: run from this repo.
Same server, same first-run project id and key, started from source. Setup takes about a minute either way. Two differences worth knowing:
server/data/omem.db; omem-server writes ./omem-data/omem.db in whatever
directory you ran it from. OMEM_DB overrides either.cd web && OMEM_STATIC=1 npm run build. The API is identical either way.Option 3: Docker.
API on 8787, dashboard on 3000, data in the named volume. The ports are
published to loopback on purpose: the container runs in local mode, which has
no passwords, so reachability is the access control. Putting it on a network
means setting OMEM_AUTH=password and OMEM_MASTER_KEY first, and
docker-compose.yml in this repo shows that shape.
OMEM records what breaks and repairs it under policy. This is infrastructure for your agents, not something OMEM does to itself: you register a component and the hooks it can be repaired with, and OMEM owns the memory, the safety boundary and the lifecycle.
The part that matters is what it refuses. A model may propose a repair plan; OMEM decides what is permitted. Only action types registered in code can execute, risk class comes from that registry and never from the plan, high-risk actions need explicit approval, and a repair is not successful until it verifies.
Nothing ran. The plan is kept with the reason each action was permitted or refused, so the refusal is a record rather than a silence. Error text and model output are data here, and neither can name an action into existence.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/omem)<a href="https://allmcps.com/mcp/omem"><img src="https://allmcps.com/api/badge/omem?style=directory" alt="OMEM on AllMCPs" /></a>