Long-term memory for agentic tasks. It tells you when it doesn't know.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Long-term memory for agentic tasks. It tells you when it doesn't know.
An MCP server that gives Claude Desktop and Claude Code a persistent memory across sessions β and, unlike a plain vector store, an explicit answer when the corpus does not contain what you asked for.

That is the whole install. MEMORY_DIR is the one path you supply, and that is deliberate:
the server does not go looking through your disk for your notes.
π₯ Note the
@2β pin the major version.npx -y agentic-recallwith no version asks npm for whatever is taggedlatestevery time its cache is cold, so a new major arrives silently and a config that worked yesterday breaks today. That is not hypothetical: 2.0.0 moved five actions to a second tool, and a tester's in-flight session started failing withreceived 'index' at actionmid-task β because npx had re-resolvedlatestunderneath a running workflow. The cache is what makes an unpinned spec feel stable, and a cache is not a pin: it is cleared bynpm cache verify, by disk cleanup, and by every new machine.
@2takes fixes and features, never a breaking major.agentic-recall@2.0.0pins exactly.π₯ A warm npx cache does NOT pick up a fix on its own. Measured 2026-09-22: 2.0.3 had been on the registry for over an hour, and three servers spawned with
npx -y agentic-recall@2still ran the cached 2.0.1. To take a fix, clear the cached copy and re-resolve once β macOS/Linux:rm -rf ~/.npm/_npx && npx -y agentic-recall@2 --version; Windows: theRemove-Itemline below β then restart your client.serverVersionin every response tells you which version actually answered.
π₯ Windows users: use this config instead. Bare
npxdoes not work for a Node MCP client on Windows. This is measured, not inferred β CI spawns the published package onwindows-latestevery push, and reportsbare npx -> FAILED: spawn npx ENOENTwhilecmd /c npxconnects:On Windows
npxis a batch shim (npx.cmd), and Node'sspawnwill not resolve it withoutshell: true. A Node-based MCP client using the config above getsspawn EINVALand the server silently never connects β it appears configured and does nothing. This is the standard Windows MCP gotcha, not specific to this server (claude-code#58510).npm i -gis not an escape β that installs a.cmdshim too. The only shim-free form is pointingnodeat the file directly:"command": "node", "args": ["C:/Users/<you>/AppData/Roaming/npm/node_modules/agentic-recall/index.js"].Whether Claude Desktop itself is affected is still unconfirmed β it may spawn through a shell. The
cmd /cform works either way, so it is the one to use on Windows.
π₯ Windows: if
npxfails withECOMPROMISED / Lock compromised, clear the npx cache. Node 24/25 with npm 11 leaves a stale lock in npx's cache directory that it then refuses to refresh (npm/cli#8710). Nothing to do with this server β it hits MCP Inspector and Gemini CLI identically. Measured on a real Windows machine: it reproduced twice, and clearing the cache fixed it (then a 98 s first download):If it still fails, two alternatives that avoid npx entirely β both verified end to end:
npm install -g agentic-recall(then"command": "agentic-recall", "args": []), or Node 22, where npx works normally.
Requires Node 20 or newer. Nothing else β the embedding model downloads on first index and then runs locally. Your memories never leave the machine.
Prefer to read the code first, or run the suite?
Built by Daniel Francis-Lyon β questions, bug reports and criticism all welcome, either as an issue on this repo or at danfrancislyon@gmail.com.
Nothing leaves your machine. Memories are plain files in a folder you choose; the embedding model runs locally after a one-time download; there is no telemetry, no analytics and no phone-home. The author receives no data from your installation and has no means of doing so.
Full text: PRIVACY.md.
Retrieval always returns something. Ranked by similarity, the least-bad match comes back looking like an answer, and an agent acting on it cannot tell the difference between "here is what you wrote" and "here is the closest thing to it".
This server separates those two cases and says which one you got:
Nothing was invented, nothing was silently ranked into first place, and the nearest thing is offered as a candidate rather than as an answer. Everything below is about how that verdict is reached and how it is measured.
A memory saying "I fixed that in abc123" is a sentence. Classifying sentences has failed here
three times β a correction vocabulary that fired on 76% of exchanges, an unresolved-statement
vocabulary that fired on 24%. But a SHA is not a sentence to classify. It either exists or it does
not.
Point MEMORY_GIT_REPOS at your repositories and every hex-shaped token in a retrieved memory is
looked up. Four commands, and only what they prove:
| command | what it establishes |
|---|---|
cat-file | the token is a real commit, not something SHA-shaped |
merge-base | it landed on the mainline, rather than an abandoned branch |
log | its date, author, subject, and how many files it touched |
rev-list | how many commits have landed since the newest memory was written |
Measured over 2,319 ingested exchanges: 707 SHA-shaped candidates collapsed to 355 real commits. Half of what looks like a commit isn't one, which is why every token is checked rather than trusted for its shape. Those rejects are not invented commits: re-measured on the current, larger corpus, 79% of reject occurrences are hex prefixes of conversation session IDs that the deliberately loose 7-10 character pattern sweeps up, so this gap measures how little the shape tells you rather than how often a memory fabricates a SHA.
What this does not tell you, deliberately. It does not check whether the change was later
reverted, or whether the thing still exists at HEAD. A commit that landed and was undone the next
day still reports as landed. So this is not a claim that the memory is currently true β it is a
verified fact about the past, plus rev-list telling you exactly how much has happened since that
nothing in the corpus can know about. The gap is measured rather than closed, which is the same
discipline as the absence verdict above: never imply knowledge you do not have.
Repos are configured, never inferred β an earlier draft counted commits "in this repo", meaning wherever the process happened to be running, which is a different repository from the one the memories are about.
Two-tier hybrid retrieval over Claude's persistent memory corpus, exposed to
Claude Desktop and Claude Code as two MCP tools: memory, which is read-only and
never writes to your memory folder, and memory_write, which is the only way
anything this server does can change it.
The curated corpus is the folder you point MEMORY_DIR at (see Environment overrides).
MEMORY.md, if you have one, is treated as a hand-curated tier-1 index.
Figures quoted throughout this README β "121 .md files, ~2.7 MB", timings, hit rates β are
measurements of the author's own corpus, not properties of yours. They are here because a
claim with a number behind it can be checked; treat them as the conditions a result was obtained
under, not as promises about your data.
Three more work corpora sit beside it, each with its own index and its own
statistics: other projects' memory folders (projects), auto-ingested
conversation exchanges (staging) and the institutional handoff documents
(handoff, read-only) β plus the library: imported reference material
(books, manuals, policies) in per-category corpora that are searched only
when named (scope:'books', or scope:'everything') and can never touch a
work score. See Four work corpora + the library, one index each.
Reading the whole memory folder into context costs ~2.7 MB and buries the relevant three lines. This server answers the question "which memories matter for what I'm doing right now?" with three retrievers whose failure modes cancel:
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/agentic-recall)<a href="https://allmcps.com/mcp/agentic-recall"><img src="https://allmcps.com/api/badge/agentic-recall?style=directory" alt="Agentic Recall on AllMCPs" /></a>