MAGNEMO

ai.magnemo由 magnemo.ai 發布v0.6.11更新於 Oct 30, 2026

Persistent Memory for AI Agents, in plain local files. No network calls of its own.

概覽

AI 產生的概覽

本機 MCP 記憶伺服器,把 AI 代理的筆記以純 markdown 檔案保存在 vault 中,代理每次寫入都需你核准。

可以做什麼
  • 檢索已晉升的記憶,並在喚醒時產生啟動包、在階段界線產生交接
  • 把新筆記暫存到待審佇列,再由你以保留或捨棄來確認
  • 列出仍在等待審閱的項目
  • 把每次晉升或拒絕連同作者、核准人與理由寫入僅可追加的信任帳本
  • 以關鍵字搜尋正式筆記,暫存筆記不列入搜尋
適用情境
適合希望代理跨工作階段記住專案背景、但又要掌控哪些內容成為永久記憶,且偏好自己擁有的檔案而非託管記憶服務的情境。適用於 Claude Code、Cursor、VS Code 等本機用戶端。
執行需求
透過 uvx 從 PyPI 套件 magnemo-mcp 以 stdio 在本機執行,或以 pip 安裝 MAGNEMO,需要 Python 3.11 或更新版本。必須把 MAGNEMO_VAULT 設為以 magnemo init 建立的 vault 資料夾絕對路徑;MAGNEMO_AGENT 為選用,用來命名代理。不需帳號或 API 金鑰。
安裝前請注意
它會寫入你的 vault 資料夾,安裝過程中也可能修改 .mcp.json、CLAUDE.md 等專案設定檔。代理寫入只是暫存,但核准後即成為永久記憶;系統不刪除內容,筆記會持續累積。目前為公開測試版,README 建議在託付無法承受遺失的內容前先閱讀 KNOWN_LIMITS.md。若你加入 git 備份遠端,筆記會被推送到該處。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 MAGNEMO,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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:

bash
pip install MAGNEMO      # Python 3.11 or newermagnemo init             # makes the vault: a folder of plain filesmagnemo mount            # writes .mcp.json, the file Claude Code reads, and the first line in CLAUDE.md

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".)

text
Set up MAGNEMO in this project:1. Install it: pip install MAGNEMO. It needs Python 3.11 or newer. If pip can't find it, install uv (curl -LsSf https://astral.sh/uv/install.sh | sh) and then run: uv tool install MAGNEMO2. Initialize the vault: magnemo init3. Register the MCP server: run magnemo mount — it adds MAGNEMO to this project's MCP config and keeps any servers already there.4. Verify: run magnemo doctor and confirm everything passes.5. Then ask me to restart you, so MAGNEMO's tools load, and to say this when you are back: "Look around this folder, tell me what this project is for, and stage that as the first note." Your agent never waits on you. When you want something kept, say keep.If anything fails, show me what went wrong and fix it if you can.

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.

ClientTestedHow
Claude Codeyes: Oct 26–28, 2026, Claude Code 2.1.309. Seven tools; the yes in the chat; pending reads a body.magnemo mount, or claude mcp add magnemo -e MAGNEMO_VAULT=/absolute/path/to/vault -- uvx magnemo-mcp
Claude Desktopuntested end to endthe uvx block under "Install in your client", with absolute paths
Cursoruntestedthe Add to Cursor link below, or .cursor/mcp.json
VS Codeuntested.vscode/mcp.json
Windsurfuntested~/.codeium/windsurf/mcp_config.json
Clineuntestedcline_mcp_settings.json
Continueuntested~/.continue/config.yaml
Gemini CLIuntested~/.gemini/settings.json
Codex CLIuntested~/.codex/config.toml
Zeduntestedsettings.json → context_servers

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).

MAGNEMOMem0ZepLettaBasic Memory
Where the memory livesPlain markdown files in a folder on your computerA hosted platform run by Mem0; open source: a local Qdrant store and a SQLite history fileZep: a managed cloud service, or in your own VPC. Graphiti, its open-source engine: a graph database you runMarkdown files in a git repository that belongs to the agent: hosted by Letta, or on your device in local modeMarkdown files on your disk with a local SQLite index; an optional cloud
Who approves a writeYou. An agent's write waits in staging until your yesAn LLM extracts facts from the messages and stores them; their docs describe no approval stepMessages are ingested into the graph as they arrive; their docs describe no approval stepThe agent updates its own memory; the background review "does not ask you for approval"The assistant writes notes directly; the cloud has suggested edits that can be accepted or rejected
Author and approver on every entryBoth, in each file's header (author, reviewed_by) and in an append-only ledgerUser, agent, app and run ids, timestamps, and a change history per memory; their docs name no approver fieldWhen a fact was true and when it stopped, traced to its source episode; their docs name no approver fieldEvery memory edit is a git commit; their docs do not say what the commit recordsTitle, type, tags and dates; author is a field you may add; their docs name no approver field
Network calls of its ownNone. No model call and no embedding call; git push to a backup, if you add oneOpenAI by default for the model and the embeddings; other providers are listed, Ollama among themZep is a cloud API. Graphiti defaults to OpenAI; local model servers are documentedLocal mode keeps state on your device; inference goes to the provider you choose, which can be a local oneRuns locally; the default embeddings run on your machine with no API key
What you can take backA no is kept with its reason; a replaced note is archived with a forward link; nothing deletes; the files are yours to editDelete, update, and a history per memory; export is on the hosted platformDelete nodes, edges and episodes; a replaced fact is invalidated, not deletedThe git history of every memory edit; the files can be read and editedPlain files you edit and can track with git; a delete tool; the cloud keeps every saved version

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 mount writes the first line in CLAUDE.md, so every new session knows where this project's Memory is. pending reads 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).

bash
claude mcp add magnemo -e MAGNEMO_VAULT=/absolute/path/to/vault -- uvx magnemo-mcp

(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.

json
{  "mcpServers": {    "magnemo": {      "command": "/absolute/path/to/uvx",      "args": ["magnemo-mcp"],      "env": { "MAGNEMO_VAULT": "/absolute/path/to/vault", "MAGNEMO_AGENT": "claude-desktop" }    }  }}

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):

json
{  "mcpServers": {    "magnemo": {      "command": "uvx",      "args": ["magnemo-mcp"],      "env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }    }  }}

VS Code / Copilot — untested here; per VS Code's docs. [Install in VS Code] Or .vscode/mcp.json in the workspace:

json
{  "servers": {    "magnemo": {      "type": "stdio",      "command": "uvx",      "args": ["magnemo-mcp"],      "env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }    }  }}

Windsurf — untested; ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "magnemo": {      "command": "uvx",      "args": ["magnemo-mcp"],      "env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }    }  }}

Cline — untested; Cline → MCP Servers → Configure → cline_mcp_settings.json:

json
{  "mcpServers": {    "magnemo": {      "command": "uvx",      "args": ["magnemo-mcp"],      "env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" },      "disabled": false    }  }}

Continue — untested; ~/.continue/config.yaml (or a file in .continue/mcpServers/):

yaml
mcpServers:  - name: magnemo    command: uvx    args: ["magnemo-mcp"]    env:      MAGNEMO_VAULT: /absolute/path/to/vault

Gemini CLI — untested; ~/.gemini/settings.json:

json
{  "mcpServers": {    "magnemo": {      "command": "uvx",      "args": ["magnemo-mcp"],      "env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }    }  }}

Codex CLI — untested; ~/.codex/config.toml:

toml
[mcp_servers.magnemo]command = "uvx"args = ["magnemo-mcp"]env = { MAGNEMO_VAULT = "/absolute/path/to/vault" }

Zed — untested; settings.json → context_servers:

json
{  "context_servers": {    "magnemo": {      "source": "custom",      "command": "uvx",      "args": ["magnemo-mcp"],      "env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }    }  }}

After the install, the loop is the same everywhere: your agent writes to staging, you review.

bash
magnemo yes             # promote the top of the queue (yes <id-fragment> · yes --all)magnemo no <id> --reason "…"   # reject one — the reason is required; rejections teachmagnemo review          # the interactive queue, when you want to read firstmagnemo doctor          # python, vault, config, ledger, and the mount — scans the package for network modules too

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.

ActorDoorCan do
AgentsMCP server (stdio)retrieve canonical memory · stage → staging only, the one write tool · bootpack on wake · handoff at the boundary · keep / drop carry your yes or no · pending lists what waits
YouCLI + git (any editor)review the queue · promote / reject · edit anything · own everything

Zero dependencies. Pure Python standard library, 3.11 or newer. Nothing else to install, nothing to trust but this code.

The vault

vault/  dev/      knowledge/ playbooks/ decisions/ debt/        ← example: a dev team's partition  ops/      knowledge/ playbooks/ clients/ decisions/ style/  ← example: an ops team's partition  shared/   tickets/ changelog/                            ← interop bus (gated)  _staging/   agent writes await review here  _index/     machine-managed  _ledger/    trust_ledger.jsonl — append-only, never forgets

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

bash
python -m unittest discover -s tests -v     # incl. full MCP round-trips (legacy + four-verb)# or: pip install -e ".[test]" && pytest

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.


mcp-name: ai.magnemo/magnemo · Source · Security · Privacy

來源:README.md,提交 30d7e55

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

6
  1. v0.6.11最新Oct 29, 2026
  2. v0.6.9Oct 23, 2026
  3. v0.6.8Oct 14, 2026
  4. v0.6.7Oct 2, 2026
  5. v0.6.5Sep 23, 2026
  6. v0.6.4.post1Sep 22, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分