关于 Magnemo
Magnemo 是本地记忆 MCP 服务,将 Agent 的笔记以普通文件保存在用户电脑上。写入内容须经批准才会成为记忆,条目记录作者和批准者;配套 CLI 用于审核和晋升笔记。
主要功能
- 01将记忆存为本地普通文件
- 02暂存写入以等待人工批准
- 03在账本中记录作者和批准者
- 04检索、暂存、打包和交接记忆
- 05用 CLI 审核、晋升或拒绝笔记
适用场景
- 01将 Agent 记忆保存在可编辑的本地文件中
- 02在提议的记忆正式保留前进行审核
- 03追踪每条记忆的撰写者和批准者
MCP 相关
向 MCP 客户端提供 `retrieve`、`stage`、`bootpack` 和 `handoff` 四种工具。服务在本地运行,不会自行发起网络调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx magnemo-mcpMAGNEMO_VAULTAbsolute path to the vault folder (create one with: magnemo init ./vault). Plain markdown files you own.MAGNEMO_AGENTThe name this agent signs its entries with. Default: agent.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
4收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| k | integer | 否 | |
| query | string | 是 | 需要记住的内容 |
| scope | enum | 否 | 要搜索的分区(必须位于此 Agent 的 MAGNEMO_SCOPE 内)dev | ops | shared |
| budget | integer | 否 | 最大负载字节数;结果会被截断或降级以适应限制,并记录截断情况 |
详细介绍
Magnemo
Memory MCP。AI 记住,你留住重要的内容。
Magnemo 是为 AI 打造的 Memory,保存在你的电脑上的普通文件中。AI 工作时会记下学到的内容;未经你批准,任何内容都不会成为 Memory,而且每条 Memory 都会显示由谁写入、由谁批准。
当你的 Agent 记下内容时,Magnemo 会在聊天中询问你。只需点击一次。
网站 · 手册 · 更新日志 · X @Magnemo_AI · 已知限制
一次粘贴即可安装
只需三行:
pip install magnemo # Python 3.11 or newer
magnemo init # makes the vault: a folder of plain files
magnemo mount # writes .mcp.json, the file Claude Code reads
也可以让你的 Agent 来安装。在任意项目文件夹中打开 Claude Code,然后粘贴以下内容。(其中的 magnemo mount 步骤会写入 .mcp.json,这是 Claude Code 会读取的文件。在 Cursor、Windsurf 或其他客户端中,请使用“在你的客户端中安装”下对应的代码块。)
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 magnemo
2. Initialize the vault: magnemo init
3. 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: "Use Magnemo to remember what this project is."
If anything fails, show me what went wrong and fix it if you can.
播下种子:粘贴一次,你的 Agent 就会开始建立 Memory。
重启后,告诉它:使用 Magnemo 记住这个项目是什么。 你的 Agent 会记下一行内容,然后 Magnemo 会在聊天中询问你是否批准。只需点击一次。然后问问它记住了什么。
兼容
一个服务,在每个客户端中的用法都相同。标明已测试的客户端均已测试;其余客户端请参阅各自的文档。
| 客户端 | 已测试 | 方法 |
|---|---|---|
| Claude Code | 是:2026 年 10 月 12 日,Claude Code 2.1.296。四个工具以及聊天中的提问均已测试:点击一次即可批准一条笔记。 | magnemo mount,或 claude mcp add magnemo -e MAGNEMO_VAULT=/absolute/path/to/vault -- uvx magnemo-mcp |
| Claude Desktop | 未测试 | 打开最新版本中的 magnemo-0.6.9.mcpb |
| Cursor | 未测试 | 使用下面的“添加到 Cursor”链接,或 .cursor/mcp.json |
| VS Code | 未测试 | .vscode/mcp.json |
| Windsurf | 未测试 | ~/.codeium/windsurf/mcp_config.json |
| Cline | 未测试 | cline_mcp_settings.json |
| Continue | 未测试 | ~/.continue/config.yaml |
| Gemini CLI | 未测试 | ~/.gemini/settings.json |
| Codex CLI | 未测试 | ~/.codex/config.toml |
| Zed | 未测试 | settings.json → context_servers |
每个客户端对应的确切代码块都在“在你的客户端中安装”下方。
对比
五个问题,答案均根据各项目自己的文档整理(于 2026 年 10 月 12 日阅读,并于 10 月 22 日再次核对;表格下方提供了相关页面链接)。
| Magnemo | Mem0 | Zep | Letta | Basic Memory | |
|---|---|---|---|---|---|
| 记忆存放位置 | 你电脑某个文件夹中的纯 Markdown 文件 | 由 Mem0 运营的托管平台;开源版本使用本地 Qdrant 存储和 SQLite 历史记录文件 | Zep:托管云服务,或部署在你自己的 VPC 中。其开源引擎 Graphiti:由你运行的图数据库 | Agent 所属 Git 仓库中的 Markdown 文件:由 Letta 托管,或在本地模式下存储在你的设备上 | 磁盘上的 Markdown 文件,配有本地 SQLite 索引;也可选用云服务 |
| 谁来批准写入 | 由你批准。Agent 写入的内容会留在暂存区,直到你同意 | 大模型会从消息中提取事实并存储;其文档未说明有审批步骤 | 消息到达后会立即写入图中;其文档未说明有审批步骤 | Agent 会更新自己的记忆;后台审核“不会征求你的批准” | 助手会直接写入笔记;云服务提供可接受或拒绝的建议修改 |
| 每条记录的作者和审批者 | 两者都记录在每个文件的头部(author、reviewed_by)和仅追加的日志中 | 用户、Agent、应用和运行 ID、时间戳,以及每条记忆的变更历史;其文档未提及审批者字段 | 记录事实何时成立、何时失效,并追溯到其来源事件;其文档未提及审批者字段 | 每次记忆修改都会生成一条 Git 提交;其文档未说明提交会记录什么 | 标题、类型、标签和日期;你可以添加 author 字段;其文档未提及审批者字段 |
| 自身会发起的网络调用 | 无。不会调用模型,也不会调用嵌入服务;如果你添加备份,则会执行 git push | 默认使用 OpenAI 提供模型和嵌入服务;文档还列出了其他提供商,包括 Ollama | Zep 是云 API。Graphiti 默认使用 OpenAI;文档介绍了本地模型服务 | 本地模式会将状态保存在你的设备上;推理会发送到你选择的提供商,也可以是本地提供商 | 在本地运行;默认嵌入在你的机器上运行,无需 API 密钥 |
| 你可以撤回什么 | 拒绝决定及其原因都会保留;被替换的笔记会归档并附有指向新笔记的链接;不会删除任何内容;文件由你自行编辑 | 可删除和更新;每条记忆都有历史记录;托管平台支持导出 | 可删除节点、边和事件;被替换的事实会标记为失效,而非删除 | 每次记忆修改的 Git 历史;文件可读取和编辑 | 可编辑并通过 Git 跟踪的纯文件;提供删除工具;云服务会保留每个已保存版本 |
各自的优势。 Mem0 会为你提取记忆、按含义搜索记忆,并提供 Python 和 JavaScript SDK、REST API 以及托管平台。Zep 会维护一个知道每条事实何时成立的知识图谱,并以托管服务形式提供三种语言的 SDK。Letta 是一个完整的 Agent 平台,提供 SDK、命令行工具,以及负责维护记忆的后台 Agent。Basic Memory 可通过关键词和含义搜索,并使用在你机器上运行的嵌入服务;它还会将笔记链接成图,并通过云服务同步。Magnemo 不具备这些功能:它只支持关键词搜索(KNOWN_LIMITS.md),没有图谱,也没有托管服务。它的优势在于审批和记录。 这些项目的页面:Mem0 概览、平台版与开源版、添加、历史记录、快速入门、删除、导出 · Zep 概念、事实、安全、删除数据、Graphiti · Letta MemFS、记忆设置、本地模式 · Basic Memory README、项目简介、工具、笔记格式、语义搜索、建议、文件历史记录。发现单元格内容有误或过时?提交 issue,我们会修正。
收录于 官方 MCP 注册表(ai.magnemo/magnemo)· PyPI · mcpservers.org · Glama · awesome-mcp-servers。
**测试情况:**每次推送都会在 Python 3.9、3.11 和 3.12 上运行测试:截至 2026 年 10 月 12 日,共 300 项测试(测试记录)。
更新内容
- 0.6.9 · 2026 年 10 月 22 日 · 席位会将自己的报告文件作为凭证提交,不会询问任何人;同意必须由 Memory 给出。Sentinel 会将席位的引述视为引述。
- 0.6.8 · 2026 年 10 月 13 日 · 在聊天中通过一次点击询问是否同意。由 Agent 或脚本执行的同意会被拒绝。
- 0.6.7 · 2026 年 10 月 2 日 ·
magnemo review会标记暂存和已标记的笔记。被 Sentinel 捕获的笔记不会为其作者赢得任何信任。
每个版本的变更记录:CHANGELOG.md。
面向构建者。 Magnemo 是一款 MCP 服务,提供四种工具——retrieve、stage、
bootpack、handoff——以及供你使用的命令行工具:审核、晋升、拒绝。
它在你的机器上运行,使用由你掌控的纯 Markdown 文件。该软件包不会导入网络
模块(每次运行时,magnemo doctor 都会扫描检查);唯一的网络流量是将内容
git push 到备份目标(如果你添加了备份目标)。每次晋升都会记录条目的撰写者、
同意者提供的姓名、时间以及通过的审核关卡。信任度根据这些记录计算,绝不凭空宣称。
它可以与任何已有的记忆系统并列运行
(笔记文件夹、Obsidian、RAG 技术栈)。Python 3.11+,零依赖,
Apache-2.0。
新建知识库?THE CHARTER 部分会说明它尚未晋升——这是治理机制在发挥作用:Magnemo
绝不会伪造规范内容。暂存一份章程,审核并晋升;此后每次启动都会原样返回这份章程。
(安装后找不到 magnemo?说明 pip 的脚本目录不在 PATH 中——
python3 -m magnemo 始终可用。)
**公开测试版——在将其用于任何不能失去的内容之前,请阅读 KNOWN_LIMITS.md。**坦诚说明局限,不玩文字游戏。
在客户端中安装
一个服务,十种说法。下面每个代码块都是同一件事:uvx magnemo-mcp,并将 MAGNEMO_VAULT 指向存放记忆的文件夹(用 magnemo init ./vault 创建一个)。标注为已测试的内容是在这台 Mac 上测试的;其余内容来自各客户端自己的文档,并标记为未经测试——欢迎指正,也欢迎提交 issue。
Claude Code — 已测试:Claude Code 会话挂载服务、列出四个工具并调用它们,还会在聊天中显示问题(上次运行于 2026 年 10 月 12 日:Claude Code 2.1.296、服务版本 0.6.8)。
claude mcp add magnemo -e MAGNEMO_VAULT=/absolute/path/to/vault -- uvx magnemo-mcp
(claude mcp list 会显示 magnemo … ✔ Connected。添加 -s project 可将其写入仓库的 .mcp.json,供团队使用。)
只有桌面应用?claude 可能不是你 shell 中的命令。在 Mac 上,该应用有自己的副本,位于
~/Library/Application Support/Claude/claude-code/<version>/claude.app/Contents/MacOS/claude;用它代替 claude 运行。
Claude Desktop — 此处尚未完成端到端测试。从最新版本下载扩展 — magnemo-0.6.9.mcpb — 并打开;Claude Desktop 会询问知识库文件夹,其余步骤会自动完成。(接受后会显示连接器目录列表。)
Cursor — 此处未经测试(这台 Mac 上未安装);链接和代码块遵循 Cursor 的文档。
或者使用
~/.cursor/mcp.json(或项目中的 .cursor/mcp.json):
{
"mcpServers": {
"magnemo": {
"command": "uvx",
"args": ["magnemo-mcp"],
"env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }
}
}
}
VS Code / Copilot — 此处未经测试;依据 VS Code 的文档。
或者在工作区中使用
.vscode/mcp.json:
{
"servers": {
"magnemo": {
"type": "stdio",
"command": "uvx",
"args": ["magnemo-mcp"],
"env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }
}
}
}
Windsurf — 未经测试;~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"magnemo": {
"command": "uvx",
"args": ["magnemo-mcp"],
"env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }
}
}
}
Cline — 未经测试;Cline → MCP Servers → Configure → cline_mcp_settings.json:
{
"mcpServers": {
"magnemo": {
"command": "uvx",
"args": ["magnemo-mcp"],
"env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" },
"disabled": false
}
}
}
Continue — 未经测试;~/.continue/config.yaml(或 .continue/mcpServers/ 中的文件):
mcpServers:
- name: magnemo
command: uvx
args: ["magnemo-mcp"]
env:
MAGNEMO_VAULT: /absolute/path/to/vault
Gemini CLI — 未经测试;~/.gemini/settings.json:
{
"mcpServers": {
"magnemo": {
"command": "uvx",
"args": ["magnemo-mcp"],
"env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }
}
}
}
Codex CLI — 未经测试;~/.codex/config.toml:
[mcp_servers.magnemo]
command = "uvx"
args = ["magnemo-mcp"]
env = { MAGNEMO_VAULT = "/absolute/path/to/vault" }
Zed — 未经测试;settings.json → context_servers:
{
"context_servers": {
"magnemo": {
"source": "custom",
"command": "uvx",
"args": ["magnemo-mcp"],
"env": { "MAGNEMO_VAULT": "/absolute/path/to/vault" }
}
}
}
安装完成后,各处的工作流程都相同:你的 Agent 写入暂存区,由你审核。
magnemo yes # promote the top of the queue (yes <id-fragment> · yes --all)
magnemo no <id> --reason "…" # reject one — the reason is required; rejections teach
magnemo review # the interactive queue, when you want to read first
magnemo doctor # python, vault, config, ledger, and the mount — scans the package for network modules too
任何通过 stdio 使用 MCP 的客户端都可以用同样的方式挂载。远程入口(ChatGPT 和托管客户端)将在 0.7.0 中推出。
工作原理
每次确认都经过核验:未经确认,任何内容都不会成为记忆;引擎也能区分用户的确认和 Agent 的确认。
Magnemo 是有章程的记忆系统:每条事实都带有来源信息;Agent 写入的内容在成为记忆之前,都会先进入你的审核队列;每项决定都会记录在信任账本中。
你的 Agent 有四种操作。批准不在其中。 确认权在你:Magnemo 会在聊天中询问你,你的回答绝不会经过 Agent。KNOWN_LIMITS.md 说明了这能阻止和不能阻止的情况;docs/MCP.md 列出了适用的客户端。
| 参与者 | 入口 | 可执行操作 |
|---|---|---|
| Agent | MCP 服务(stdio) | retrieve 获取规范记忆 · stage → 仅写入暂存区,唯一的写入工具 · bootpack 在唤醒时使用 · handoff 在边界处使用 |
| 你 | CLI + git(任意编辑器) | 审核队列 · 提升 / 拒绝 · 编辑任何内容 · 一切由你掌控 |
零依赖。 纯 Python 标准库,版本 3.11 或更高。无需安装其他内容,除了这段代码,无需信任任何东西。
知识库
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
每条笔记都是 Markdown 文件,并带有来源信息元数据(作者、撰写时间、来源、状态、审核者、取代对象、可信度)。来源信息就是文件格式。
隐私
你的记忆保存在自己的电脑上,采用可打开的纯文本文件。它本身不会发起网络请求。添加备份远程目标后,它只会推送到该目标,不会推送到其他地方。
更准确地说:此软件包不会导入任何网络模块,而且 magnemo doctor 每次运行都会扫描是否存在此类模块。如果你添加备份目标,引擎会对其运行 git push。完整说明:https://magnemo.ai/privacy
保证(阶段 1 — 受治理的回忆)
- 通过 MCP 服务,Agent 写入永远不会直接进入规范存储区——始终只写入暂存区。
- 搜索只返回规范(已提升)的笔记,不会搜索暂存笔记。启动包会将暂存内容标记为暂存状态:显示未结线程和暂存笔记中的热门笔记标题,以及上次交接的截断位置和指向其笔记的链接。
- 按 Agent 强制实施分区隔离(
MAGNEMO_PARTITIONS);跨分区访问 = 拒绝。 - 明确标记取代关系:旧笔记会归档,并附上指向新笔记的链接。不会删除任何内容。
- 拒绝会被保留并记录——拒绝有助于学习。
- 每次提升或拒绝都会连同操作者和原因,记录到只追加的信任账本中。
测试
python -m unittest discover -s tests -v # incl. full MCP round-trips (legacy + four-verb)
# or: pip install -e ".[test]" && pytest
同一套测试会在每次推送时运行,使用 Python 3.9、3.11 和 3.12:运行记录。
已发布的所有内容
按版本列出,以及原先放在此处的设计说明:CHANGELOG.md。
— Silver Valley Technologies Inc. · 3 个阶段中的第 1 阶段 · 会学习的记忆, 就是受治理的记忆。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。