nanomem MCP server
io.github.OmBansod2/nanomem·v0.8.3·1 starsMemory that knows when a remembered fact has been replaced, not just when it was written.
1 stars1.4k downloads/wk
Reviews
Write oneNobody has reviewed nanomem yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
nanomem tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.10 · 2026-11-01 · same rubric, same numbers if you re-run it
- Code scan95 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 39 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How nanomem compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 57% of 48,255 servers
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 1,366
- more than 95% of 12,191 servers with a package
Release history: 2 versions in the registry since 2026-09-21, latest 2026-09-23, typically one every 2 days.
Install nanomem in Claude Code, Cursor or VS Code
claude mcp add nanomem -- uvx nanomem
What the publisher says
From the nanomem repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.OmBansod2/nanomem -->
nanomem
An embedded store for facts that change.
A fact your application remembers is not a document. It gets corrected — people move, change jobs, switch phone numbers. A vector store keeps both statements and returns whichever one is worded closer to the question, which is how an assistant ends up confidently repeating an address you left two years ago. nanomem keeps the chain and knows which end of it is current.
Evidence — how it compares to FAISS, sqlite-vec and Chroma (including where it loses), what happens when the process is killed mid-write, and the pytest command that re-runs most of those claims on the copy you just installed.
Quickstart — give your assistant a memory that knows what changed
pip install nanomemAdd this to your MCP client's config. On macOS claudedesktopconfig.json lives in ~/Library/Application Support/Claude/:
{
"mcpServers": {
"nanomem": {
"command": "nanomem-mcp"
}
}
}That is the whole configuration. The vault defaults to ~/.nanomem/memory.dat; set NANOMEM_VAULT, or pass --vault /some/path.dat, to put it elsewhere.
Restart the client and tell it something that will change later:
"Remember that I work at Acme Corp."
(a week later) "Actually I moved — I'm at Globex now."
"Where do I work? And where did I work before?"
It answers Globex, and can tell you it used to be Acme — not because the second sentence was worded closer to the question, but because nanomem kept the chain and knows which end of it is current. Ask it "what did I believe about this in March?" and it can answer that too.
Seven tools: nanomemadd, nanomemsearch, nanomemhistory, nanomemasof, nanomemchanges, nanomemvolatility, nanomemstats — so the assistant can ask what a fact USED to be, what the memory believed at a past moment, what changed last week, and which of its own beliefs have gone stale.
The vault is an ordinary file. Point the CLI or a Python script at the same path to read what the assistant wrote — a write is on disk before its reply is sent, so another process sees it immediately and stopping the server cannot lose it.
Through 0.7.17 that was not true: the server flushed only on a clean exit, and an MCP client stops its servers with SIGTERM. Twenty nanomemadd calls, each answered "Stored …", then SIGTERM, left zero rows** in the vault. If you ran an earlier version, anything the assistant "remembered" in a session that was not closed cleanly was never written.
Or use it from Python
pip install nanomemimport time
from nanomem import Vault
DAY, now = 86400, time.time()
job = {"entity": "employer"}
v = Vault("memory.dat")
v.add("I work at Acme Corp.", metadata=job, timestamp=now - 300*DAY)
v.add("I moved jobs, I now work at Initech.", metadata=job, timestamp=now - 155*DAY)
v.add("I switched again, I work at Globex now.", metadata=job, timestamp=now - 10*DAY)
print(v.search("where do I work")[0]["text"])
# I switched again, I work at Globex now.
for r in v.history("where do I work"):
print(r["revision"], r["superseded"], r["text"])
# 1 True I work at Acme Corp.
# 2 True I moved jobs, I now work at Initech.
# 3 False I switched again, I work at Globex now.
print(v.search("where do I work", as_of=now - 200*DAY)[0]["text"])
# I work at Acme Corp.
f = v.volatility()[0]
print(f["entity"], f["n_revisions"], round(f["median_interval"]/DAY))
# employer 3 145Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
nanomem: common questions
- Is nanomem MCP server safe?
- Mostly: it is graded B (78/100). Read the nanomem safety report
- How do I install nanomem?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does nanomem need an API key?
- Yes. The registry entry asks for
NANOMEM_PASSWORD. - Is nanomem maintained?
- The last commit was 42 days ago (2026-09-23). The latest release is v0.8.3.
- What can I use instead of nanomem?
- Servers from other publishers that do the same job: Knowl MCP server.
- How does nanomem compare with other MCP servers?
- safety score 78/100 (higher than 57% of 48,255 servers); github stars 1 (more than 65% of 28,688 servers); downloads a week 1,366 (more than 95% of 12,191 servers with a package). Full comparison.
Alternatives to nanomem
Same job from other publishers: the closest match first, then the best rated.
KnowlPersistent memory for AI agents, for code, research and everyday life. Stale facts retire.not reviewedEstablishedA