Two things are called memory
The word covers two different jobs. One is a code index of your repo: a search over files, symbols and history so the agent can find things. The other is what your agent learned and decided: why you chose that schema, which fix failed, what the next session should do first. An index can be rebuilt from the code. Decisions cannot, once the context window closes and compaction guesses at what mattered. Magnemo is the second kind.
The four tools
retrievereads canon, the notes a person has approved.stageproposes a note. The agent can propose, nothing more.bootpackreturns what the next session reads first.handoffcloses a session with a note for the next one.
Paste and config
Install, then make a vault, which is a folder of markdown files:
pip install magnemo
magnemo init ./vault
Or run it with uvx magnemo-mcp. Then add this to your Claude Desktop or Cursor config, with an absolute path:
{
"mcpServers": {
"magnemo": {
"command": "magnemo-mcp",
"env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }
}
}
}
It works with Claude Code, Claude Desktop, Cursor, and any MCP client. Nothing is kept until you run magnemo yes on a staged note. Promotion is not a tool an agent can call. Every entry records who wrote it, who approved it, and when. A newer note supersedes an older one, and the older one is archived with its words intact. Notes that look like secrets or injected instructions are tainted at the door and never served to an agent.
Related questions
Why does my agent forget? The window fills, compaction summarizes it, and what survives was never checked.
How does Claude Code memory work with this? Claude Code connects to the MCP server and boots each session from the approved record.
What happens at day 500? Staleness over a very long vault is an open question, and the page says so.