
MAGNEMO
ai.magnemoPublished by magnemo.aiv0.6.11Updated Oct 30, 2026
Persistent Memory for AI Agents, in plain local files. No network calls of its own.
Overview
Local MCP memory server that keeps an AI agent's notes as plain markdown files in a vault, with every agent write held for your approval.
- What you can do
- Retrieve promoted memory and build a boot pack on wake, or a handoff at a boundary
- Stage new notes into a review queue, then keep or drop them with your yes or no
- List what is still pending review
- Record every promotion or rejection in an append-only trust ledger with author, approver and reason
- Search canonical notes by keyword; staged notes are excluded from search
- When to use it
- Use it when you want an agent to remember project context across sessions but keep control over what becomes permanent memory, and you prefer files you own over a hosted memory service. Suited to local coding clients such as Claude Code, Cursor or VS Code.
- Requirements
- Runs locally over stdio via uvx from the magnemo-mcp PyPI package, or pip install MAGNEMO with Python 3.11 or newer. Requires MAGNEMO_VAULT set to an absolute path of a vault folder created with magnemo init; MAGNEMO_AGENT optionally names the agent. No account or API key.
Installation
In SourceWeft
- Open MAGNEMO in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[MAGNEMO]
**The Memory MCP. Your AI remembers. You keep what matters.**MAGNEMO is Memory for your AI, kept on your computer in plain files. Your AI writes down what it learns as it works; nothing becomes Memory until you approve it, and every Memory shows who wrote it and who approved it.
Your agent writes one line down and keeps working. Say keep, and it is Memory.
[PyPI] [downloads] [tests] [license] [stars] [MCP registry]
Site · Manual · Changelog · X @Magnemo_AI · Known limits
Install in one paste
In three lines:
Or let your agent do it. Open Claude Code in any of your project folders, and paste this. (Its magnemo mount step writes .mcp.json, the file Claude Code reads, and a short block in CLAUDE.md that tells every new session where this project's Memory is. In Cursor, Windsurf or another client, use the block for your client under "Install in your client".)
Plant the seed: one paste, and your agent grows a Memory.
After the restart, say it: Look around this folder, tell me what this project is for, and stage that as the first note. Your agent writes one line down and keeps working. Say keep, and it is Memory. Then ask what it remembers.
Works with
One server, the same in every client. Tested where it says so; the rest follow each client's own docs.
Each client's exact block is under "Install in your client".
How it compares
Five questions, answered from each project's own docs (read Oct 12, 2026, checked again Oct 22; the pages are linked under the table).
Where each of them is ahead. Mem0 extracts memories for you, searches them by meaning, and has Python and JavaScript SDKs, a REST API and a hosted platform. Zep keeps a knowledge graph that knows when each fact was true, as a managed service with SDKs in three languages. Letta is a whole agent platform, with an SDK, a CLI and background agents that tend the memory. Basic Memory searches by keyword and by meaning with embeddings that run on your machine, links notes into a graph, and syncs through its cloud. MAGNEMO has none of that: its search is keyword search (KNOWN_LIMITS.md), there is no graph and no hosted service. What it has is the approval and the record.
Their pages: Mem0 overview, platform and open source, add, history, quickstart, delete, export · Zep concepts, facts, security, deleting data, Graphiti · Letta MemFS, memory settings, local mode · Basic Memory README, what it is, tools, note format, semantic search, suggestions, file history. A cell that is wrong or out of date: open an issue and it is fixed.
Listed on the official MCP registry (ai.magnemo/magnemo) · PyPI · mcpservers.org · Glama · awesome-mcp-servers.
Tested on every push, on Python 3.9, 3.11 and 3.12: 370 tests, as of Oct 28, 2026 (the runs).
What's new
- 0.6.11 · Oct 28, 2026 ·
magnemo mountwrites the first line in CLAUDE.md, so every new session knows where this project's Memory is.pendingreads a note nobody has kept yet. - 0.6.10 · Oct 26, 2026 · Your agent never stops to ask. Say keep in the chat, and the record says how the yes was given.
- 0.6.9 · Oct 22, 2026 · A seat's report files itself as a receipt and asks nothing; a yes is for Memory. Sentinel reads a seat's quote as a quote.
Every release: CHANGELOG.md.
For builders. MAGNEMO is an MCP server with four verbs — retrieve, stage,
bootpack, handoff — plus keep, drop, pending, and a CLI for your side: review, promote, reject.
It runs on your machine, in plain markdown files you own. The package imports no network
module (magnemo doctor scans for one on every run); the only traffic is git push to a
backup destination, if you add one. Every promotion is recorded with who wrote the entry,
the name given for the yes, when, and through which gate. Trust is computed from that
record, never asserted. It mounts beside any memory you already
run (a folder of notes, Obsidian, a RAG stack). Python 3.11+, zero dependencies,
Apache-2.0.
Fresh vault? THE CHARTER section will say it isn't promoted yet — that is the
governance speaking: MAGNEMO never fabricates canon. Stage a charter, review it,
promote it, and every boot thereafter serves it back verbatim.
(magnemo not found after install? pip's script folder isn't on PATH —
python3 -m magnemo always works.)
Open beta — read KNOWN_LIMITS.md before trusting it with anything you can't lose. Honest caveats, no fine print.
Install in your client
One server, said ten ways. Every block below is the same thing: uvx magnemo-mcp with MAGNEMO_VAULT pointing at
the folder your Memory lives in (make one with magnemo init ./vault). Tested on this Mac where it says so;
the rest is from each client's own docs and marked untested — corrections welcome, open an issue.
Claude Code — tested: a Claude Code session mounts the server, lists the seven tools and calls them; a yes in the
chat keeps a note, and pending reads a body (last run Oct 28, 2026: Claude Code 2.1.309, the 0.6.11 server).
(claude mcp list shows magnemo … ✔ Connected. Add -s project to write it into the repo's .mcp.json for your team.)
Only have the desktop app? claude may not be a command in your shell. On a Mac the app keeps its own copy at
~/Library/Application Support/Claude/claude-code/<version>/claude.app/Contents/MacOS/claude; run that in place of claude.
Claude Desktop — untested end to end here. The server this block starts was run the way Claude Desktop starts it
(Oct 28, 2026, the 0.6.11 server). Claude Desktop → Settings → Developer → Edit Config, then
claude_desktop_config.json. Claude Desktop does not read your shell's PATH, so both paths are absolute: which uvx
prints the first.
Restart Claude Desktop after saving.
Cursor — untested here (not installed on this Mac); the link and the block follow Cursor's docs.
[Add to Cursor]
Or ~/.cursor/mcp.json (or .cursor/mcp.json in the project):
VS Code / Copilot — untested here; per VS Code's docs.
[Install in VS Code]
Or .vscode/mcp.json in the workspace:
Windsurf — untested; ~/.codeium/windsurf/mcp_config.json:
Cline — untested; Cline → MCP Servers → Configure → cline_mcp_settings.json:
Continue — untested; ~/.continue/config.yaml (or a file in .continue/mcpServers/):
Gemini CLI — untested; ~/.gemini/settings.json:
Codex CLI — untested; ~/.codex/config.toml:
Zed — untested; settings.json → context_servers:
After the install, the loop is the same everywhere: your agent writes to staging, you review.
Anything that speaks MCP over stdio mounts the same way. The remote door (ChatGPT and hosted clients) is on its way in 0.7.0.
How it works
The yes is checked: nothing becomes Memory without a yes, and the engine can tell a person's yes from an agent's; a yes in the chat counts, and the record says how it was given.
MAGNEMO is Memory with a constitution: every fact carries provenance, every agent write waits in your review queue before it becomes Memory, and every decision lands in a Trust Ledger.
Your agent gets four verbs and cannot keep a note on its own authority; it carries your yes, and the record says so.
Say yes in the chat and keep carries it, ledgered unverified; a click your client draws or a yes at your terminal is a verified one. KNOWN_LIMITS.md says what that does and does not stop; docs/MCP.md has the clients it works in.
Zero dependencies. Pure Python standard library, 3.11 or newer. Nothing else to install, nothing to trust but this code.
The vault
Every note is markdown with provenance frontmatter (author, written, source, status, reviewed_by, supersedes, strength). Provenance is the file format.
Privacy
Your Memory lives on your computer, in plain files you can open. No network calls of its own. Add a backup remote and it pushes there, nowhere else.
The precise version: the package imports no network module, and magnemo doctor scans for one every time it runs. If you add a backup destination, the engine runs git push to it. The full page: https://magnemo.ai/privacy
Guarantees (Phase 1 — Governed Recall)
- Through the MCP server, agent writes NEVER reach canonical stores directly — staging only, always.
- Search returns canonical (promoted) notes only. Staged notes are not searched. The boot pack shows staged material marked as staged: the titles of open threads and of the top staged notes, and the last handoff's cut line with a pointer to its note.
- Partition walls enforced per agent (
MAGNEMO_PARTITIONS); cross-partition = DENIED. - Supersession is explicit: old notes archive with a forward link. Nothing deletes.
- Rejections are kept and recorded — rejections teach.
- Every promote/reject lands in the append-only Trust Ledger with actor + reason.
Tests
The same suite runs on every push, on Python 3.9, 3.11 and 3.12: the runs.
Everything that shipped
Release by release, with the design notes that used to live here: CHANGELOG.md.
— Silver Valley Technologies Inc. · Phase 1 of 3 · The memory that learns is the memory that is governed.
Source: README.md at commit 30d7e55
Tools
0Version history
6- v0.6.11LatestOct 29, 2026
- v0.6.9Oct 23, 2026
- v0.6.8Oct 14, 2026
- v0.6.7Oct 2, 2026
- v0.6.5Sep 23, 2026
- v0.6.4.post1Sep 22, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts