MinniMemoryMCP
OfficialThis server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
MinniMemoryMCP for Claude Code
MinniMemoryMCP 1.4.2 as a Claude Code plugin. It audits the memory files Claude Code loads
(CLAUDE.md, AGENTS.md, your memory folder) and compiles them into a small AlwaysOnMemory
body that loads every turn, plus OnDemandMemory files that load only when a task needs them.
Every change is lossless and undoable: the originals are backed up first and undo puts them
back byte for byte. Everything runs on your machine, on your own files, only when you ask.
Built by MinniAI.
Requirements
Node.js 18.3 or later on your PATH. The server and the hooks run with
node. Claude Code's own installer does not need Node, so check withnode --versionfirst.Claude Code 2.1.275 or later for the one-line install below; older versions add the marketplace first (the shell form under it).
Related MCP server: karve
Install
/plugin install minnimemory --marketplace MinniAI-com/minnimemory-pluginOr from your shell: claude plugin marketplace add MinniAI-com/minnimemory-plugin, then
claude plugin install minnimemory@minniai.
The plugin loads in Claude Code, and in Cowork when the session runs on your computer. In claude.ai chat it is ignored: a local MCP server and hooks do not run there.
Pick one route per machine. If you ran npx minnimemory install before, run
npx -y minnimemory uninstall first: otherwise the server is registered twice and every prompt
starts two copies of each hook (the second copy stays silent, but you pay its start).
Use
Three prompts cover the whole loop, in your project in Claude Code:
"Clean up my memory with minnimemory." Claude calls
init, which shows the map of what Claude Code loads here, the audit and the changeapplywould make. It writes nothing but a small record of where your memory loads from."Apply it." Claude calls
apply, which hands back one command and the list of file operations; the command runs only through your approval prompt.A week later, "check my memory." Claude calls
doctor, which shows what drifted and the re-apply plan; "undo the memory compile" restores the originals.
The same four steps are slash commands: /mcp__minnimemory__init, doctor, apply, undo.
What it runs, reads, writes and sends
An MCP server (
node server/cli.mjs mcp) with four tools:init,doctor,apply,undo. It reads only the folder a tool call names and the files you or Claude tell it Claude Code loads; nothing is searched for.applyandundoreturn a command and the list of file operations, and Claude runs that command only with your approval. The command isnode "<plugin folder>/server/cli.mjs" apply --plan <hash> <folder>: the plugin's own file, never a download.Three hooks. Before each prompt,
driftchecks whether your memory changed since the last apply and prints one line when it did;hookadds the one short section of memory that matches the prompt, inside a block marked as data, once per session, and never a section that holds a credential-shaped line (it says so instead). The prompt hook's saving was measured in live Claude Code sessions on our own memory folder (the number is on the docs page); on other folders it is unmeasured. When Claude Code loads its instructions,loadedrecords which file it loaded in a local log thatinitcan read later.Also in the bundle, never run by the plugin.
server/cli.mjsis the npm package's command line, so it also contains theinstallanduninstallcommands of the npx route, which runclaude mcp addandclaude mcp removeand write the npx form of the hooks into your settings, and amcp --profile fullmaintainer mode with six more tools (recall, outline, list, audit, plan, compile). The plugin starts the server withmcpalone, the four-tool profile above; nothing in the plugin calls the rest. They are there for someone who runs the file by hand.What "memory" means here. Your own files on disk:
CLAUDE.md, the files it imports, and the memory folder Claude Code keeps for a project, read only when you point a tool at them. The plugin never reads chat history, conversation summaries or uploaded files.
Try it on a sample first
examples/CLAUDE.md in this folder is a fictional project's memory file. Copy it into an empty
folder, open Claude Code there and say "Clean up my memory with minnimemory", then "Apply it",
then "undo the memory compile". That is the whole loop on a file you cannot break.
Security reports
Report a vulnerability to MinniMemory@gmail.com or as a GitHub issue on this repository; both are read by the maintainer. The plugin makes no network calls, so most reports will be about what it reads or writes on disk.
What it writes, and where. Under your Claude config folder (
~/.claudeunlessCLAUDE_CONFIG_DIRsays otherwise):minnimemory/discovery.json(where your memory loads from, written byinit),minnimemory/loads/<project>.jsonl(the load log),minnimemory/hook-sessions/<session>.json(which sections the prompt hook already placed), andminnimemory/undo-backups/(a copy of what a forced undo discards). In a compiled project or memory folder:.minnimemory/holds the backups the apply command makes and a small drift stamp. No memory file is ever written by the server itself.Nothing is sent anywhere. The plugin makes no network requests, calls no model and collects no data. The only data it reads from your session is the prompt text the hook matches against your memory, and that is not stored.
Troubleshooting
"hook failed to start" on every prompt, or the server does not connect. Node is missing or not on the PATH Claude Code sees. Install Node 18.3 or later; a Claude Code started from a desktop launcher may need a restart after the install so it picks up the new PATH.
The prompt hook never adds anything. It places a section only when it clearly matches the prompt, is small enough to be cheaper placed than read, and is not already in the always-loaded body. A tiny or uncompiled memory gives it nothing to place; run
initandapplyfirst.Two servers named minnimemory. You have both the npx install and the plugin. Run
npx -y minnimemory uninstalland restart Claude Code.applysays the plan hash does not match. A memory file changed since the preview. Rundoctorfor a fresh plan, thenapplyagain.
Issues: https://github.com/MinniAI-com/minnimemory-plugin/issues. Documentation: https://minniai.com/minnimemorymcp/docs.
Updates
Turn on auto-update for the minniai marketplace in /plugin, or run
claude plugin update minnimemory@minniai. A new version loads on the next launch
or after /reload-plugins.
Company admins: keep auto-update off and pin the version in managed settings when every machine must run the same release.
Remove
claude plugin uninstall minnimemory@minniai. Compiled memory stays compiled;
run undo first if you want the originals back. The small records under
<config>/minnimemory/ stay too; delete that folder if you want nothing left.
Licence
See LICENSE. Third-party code bundled in server/ is listed with its licences in
THIRD_PARTY_NOTICES.md.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Shared memory for AI tools: save once, recall word for word from Claude, ChatGPT, Codex or Gemini.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
One memory for Claude, ChatGPT and Cursor, kept on your computer. Optional sync, encrypted first.
Path-scoped team memories, rules and skills for Claude Code, Cursor, Codex and other MCP clients.
Related MCP Servers
- AlicenseAqualityBmaintenancePersistent local memory for Claude Code that indexes every session's JSONL file verbatim into SQLite + ChromaDB. Exposes 17 MCP tools for semantic recall, deterministic file replay, and fuzzy "do you remember when..." queries across your entire session history — no API calls, nothing leaves the machine.17122 PyPI14MIT
- FlicenseNot gradedqualityDmaintenanceProvides persistent semantic memory for Claude Code via local embeddings and six MCP tools, enabling context storage and retrieval across sessions without cloud dependencies.-
- AlicenseNot gradedqualityBmaintenanceGives Claude Code a private, local long-term memory: it stores every message, command, and edited file on your own machine and brings back the relevant past context, verbatim and dated, when it has dropped out of the context window. Requires no API key, cloud service, or AI calls to save or search.156 PyPI1MIT
- AlicenseNot gradedqualityBmaintenanceEnables any MCP client — Codex, Cursor, Gemini CLI, or a custom agent — to read and write Claude Code's per-project auto memory, retrieving linked Markdown memories within a token budget and optionally saving or deleting them. Keeps memories as plain files in Claude Code's own format, so multiple agents share one portable memory without vectors or a database.124 npm3MIT