Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Memory your agent can trust — every answer carries its source; when it doesn't know, it says so.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account menot-you, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.2) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Your agent forgets everything between sessions. nMEMORY makes it remember, with sources.
curl --proto '=https' --tlsv1.2 -fsSL https://no.tt/install.sh | sh
Or install from source. You need uv and Git:
git clone https://github.com/menot-you/n-memory
cd n-memory uv sync uv run nmemory database create claude mcp add nmemory -- uv run --directory "$PWD" nmemory mcp serve
uv sync installs the pinned Python (3.14) and all dependencies. database create makes the store file. nMEMORY never makes it implicitly. Any MCP client that speaks stdio connects the same way as Claude Code.
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#1B1916", "primaryTextColor": "#ECE7DE", "primaryBorderColor": "#E4733A", "lineColor": "#E4733A", "secondaryColor": "#151311", "tertiaryColor": "#0F0E0D", "fontFamily": "IBM Plex Mono, monospace"}}}%%
flowchart LR agent["Your agent (any MCP client)"] -->|"stdio, 18 tools"| server["nmemory mcp serve"] shell["You, in a shell"] -->|"nmemory CLI"| core server --> core["Capture and recall"] core -->|"one transaction per call"| store[("One SQLite file records, journal, index")] core -->|"BM25, always"| lexical["Keyword recall"] core -.->|"when a key is set"| vectors["Embedding provider"] lexical --> outcome{"grounded missing_evidence abstain"} vectors -.-> outcome
Each record must have a source and an anchor (path:line, a quote or a PR). Recall returns one of three outcomes. It never turns a weak match into an answer.
Counted on 2026-10-21. Tools: the MCP tools/list request to nmemory mcp serve. Tests: uv run --group dev pytest --collect-only -q in each member root.
| Before | With nMEMORY |
|---|---|
| Each new session starts empty. You explain the same decision again. | The agent recalls the decision at the start of the session. |
| A recalled "fact" has no origin. You cannot check it. | Each record must have a source and an anchor. |
| A weak match comes back as a confident answer. | Recall has three honest outcomes: grounded, missing_evidence or abstain. |
| Old notes and new notes conflict in silence. | A new record can supersede an old one. Every change goes into a hash-chained audit journal. |
| Text from a web page or a file can steer the agent. | nMEMORY marks imported or directive-shaped text as tainted. Recall labels all results as data, not instructions. |
Your agent uses the MCP tools. You can use the same store from the shell.
Store a decision (the agent calls nmemory_capsule_ingest):
{
"content": "We store data in SQLite, not PostgreSQL.", "kind": "decision", "source": "docs/adr/0001-storage.md", "anchor": "docs/adr/0001-storage.md:3" }
In a later session, recall it:
uv run nmemory capsule retrieve "what database stores our data"
uv run nmemory capsule show --id cap-1
The first command returns "outcome": "grounded" and the record. The second command shows its provenance: source, anchor and source hash.
NOTT_NMEMORY_EMBED_PROVIDER, also openai or openai-compatible for a self-hosted server such as Ollama or vLLM).GEMINI_API_KEY for the default), nMEMORY sends capsule text and queries to that provider. To keep recall lexical only, unset that key. No key is needed to start.A notes file (CLAUDE.md, AGENTS.md) | A plain vector store | nMEMORY | |
|---|---|---|---|
| Survives a new session | Yes | Yes | Yes |
| Source required per record | No | No | Yes |
| Says "no evidence" on a weak match | No | No, it returns the nearest vectors | Yes |
| Works with no embedding key | Yes | No | Yes (lexical) |
| Audit trail of each change | Git only | No | Hash-chained journal |
| Grows without filling the prompt | No, the whole file loads | Yes | Yes, recall has a token budget |
The evaluation harness holds runners for synthetic recall, LongMemEval and extraction. It publishes methods, not a score for this release. We do not quote older numbers here, because they measured an earlier engine.
Memory that cites its source.
Tracked, resumable agent workers.
The live web as cited evidence.
App Store Connect for agents.
The team contract, routes and hooks.
This section is for a language model that reads this repository.
grounded, missing_evidence or abstain.nmemory (nmemory --help). The MCP server is nmemory mcp serve (stdio). All 18 tool names start with nmemory_. Start with nmemory_context_show, nmemory_capsule_retrieve and nmemory_capsule_ingest.~/.nott/memory.toml. The variable NOTT_NMEMORY_CONFIG names another path. The store directory is ~/.nott/state/database/, or NOTT_DATABASE_DIR when a test sets it.| Page | Contents |
|---|---|
| Runbook | First useful result, failure diagnosis, backup and restore |
| Architecture | Trust boundaries and the full engine detail: store, recall, tools, CLI |
| Reference | Every CLI command and MCP tool, linked to its source |
| Rulebook | Implementation invariants |
| Setup | Development setup |
| Quality | Checks and security review |
| Docs index | Documentation index and a first contribution |
| Installation | Install paths |
| Privacy | Processing choices |
| Upgrade | Existing data |
| Troubleshooting | Failure diagnosis |
| Roadmap | Direction |
Run the checks from the repository root:
uv run ruff check . && uv run mypy --strict nmemory
TMPDIR=/var/tmp uv run --group dev pytest -q
Each test gets its own disposable store. No test touches your live store.
AGPL-3.0-only.