Engram 对比本地 Obsidian MCP 服务器
一个是 Obsidian 进程内的服务器,一个是托管端点。上限是架构决定的,不是质量问题。
Engram 和本地 Obsidian MCP 服务器有什么区别?
本地 Obsidian MCP 服务器运行在你的 Obsidian 进程内部,绑定到 127.0.0.1,
把你的知识库提供给同一台机器上的 MCP 客户端。Engram 运行着一个托管的 MCP 端点
mcp.engram.page,通过公网并配合 OAuth 提供你的知识库。本地服务器需要那台桌面电脑上开着 Obsidian。
Engram 不需要。
这就是全部区别,而它几乎决定了其余的一切。
该给的肯定要给
Obsidian 的社区 MCP 服务器都是好软件,有好几个仍在积极维护,Local REST API 插件现在还自带了 MCP 端点,所以你根本不再需要一个单独的桥接进程。 如果你在一台桌面电脑上工作,Obsidian 一直开着,它们不花钱,而且好用。
我们不会为了向你推销而假装不是这样。下面的对比讲的是每种架构能做什么、不能做什么, 而不是代码质量。
并排对比
| 本地 MCP 服务器 | Engram | |
|---|---|---|
| 运行位置 | 在 Obsidian 内,127.0.0.1 | 托管端点,mcp.engram.page |
| 必须打开 Obsidian | 是 | 否 |
| 能在手机上使用 | 不能 | 能 |
| 能在浏览器中使用(claude.ai、ChatGPT 网页版) | 不能 | 能 |
| 能在第二台电脑上使用 | 不能 | 能 |
| 在设备之间同步知识库 | 不能 | 能,实时,带三方合并 |
| 搜索索引 | 取决于插件在本地构建了什么 | 服务端:关键词(BM25)、语义、混合 |
| 认证 | 本地 bearer token | 支持动态客户端注册的 OAuth 2.1 |
| 能否列入 Anthropic 的远程连接器目录 | 不能,见下文 | 能 |
| 费用 | 免费 | 免费版,之后每月 $7 或 $14 |
| 能否自己运行 | 能 | 能,自托管整套服务 |
为什么 localhost 是上限,而不是一个设置项
绑定到 127.0.0.1 会带来三个后果,没有一个能靠更好的插件来解决:
你的笔记本电脑就是服务器。 合上盖子,你的 AI 就失去了你的笔记。 你在手机上提的任何问题,都是在没有它们的情况下回答的。
网页客户端够不到它。 浏览器里的 claude.ai 和网页版 ChatGPT 无法连接到你机器的回环地址。
桌面应用可以,通过本地进程。网页版永远不行。
Anthropic 的远程连接器目录要求公网 HTTPS 端点,并使用 OAuth 2.0 和 PKCE。 回环主机没有资格。这就是为什么目前该目录里没有专门的 Obsidian 连接器: 不是因为没人想要,而是因为现有的服务器在结构上就被排除在申请之外。 它们可以发布桌面扩展,但上限还是一样的。
什么时候该用本地 MCP 服务器
在以下情况下选本地方案:
- 你在一台桌面电脑上工作,反正一直开着 Obsidian。
- 你从不需要在手机、浏览器或第二台机器上访问知识库。
- 你想要零成本、零账号。
- 你宁可让笔记完全不离开这台机器。
最后一条是真实的偏好,我们尊重。如果这是你的偏好,但你仍然想要同步和服务端搜索, 可以自托管 Engram:同样的代码,同样的协议,你的硬件,没有账单。
什么时候该用 Engram
满足以下任意一条时选 Engram:
- 你想在手机上就笔记向你的 AI 提问。
- 你在浏览器里用
claude.ai或 ChatGPT,而不是桌面应用。 - 你在不止一台电脑上工作,希望知识库在所有电脑上保持一致。
- 你想要的搜索不止于对某一块磁盘上的内容做文件名和全文匹配。
这里的搜索到底做了什么
这是两种架构分歧最大的地方,所以这里给出具体细节,而不是一个形容词。
Engram 在服务端为你的知识库建立索引,并运行三种模式:
- 关键词 是基于每个分块稀疏向量的真正 BM25,带有 NFKC 规范化、CJK 二元分词和 按语言的词干提取。你的德语复合词和日语笔记由对应的词干提取器处理, 而不是用英语的那个。
- 语义 使用 Voyage AI 嵌入(
voyage-4-large,1024 维),存放在 Qdrant 中, 采用二值量化和重打分。 - 混合 在服务端用倒数排名融合(Reciprocal Rank Fusion)把两者合并,这是默认模式。 可选的多样性重排会避免一篇长笔记占满所有结果位置。
关于这一点有两点实话。免费版会搜索你最早的 2,000 篇笔记;超出这个上限的较新笔记, 在升级之前无法被搜索到。另外,我们不声称我们的排序比别人的更好,因为我们没有测过, 也不打算断言我们拿不出证据的事。我们会声称的是结构性的部分:没有关键词这条通路的系统找不到一个精确字符串, 没有按语言词干提取的系统,在非英语语言上会悄悄变差。
可以两个都用吗?
可以,也有人这样做。一个 MCP 客户端可以同时连接多个服务器。 合理的搭配是:本地服务器负责仅限桌面的快速操作,Engram 负责其他一切能从别处访问的场景。 它们读取的是磁盘上的同一个知识库;Engram 负责同步它,本地服务器负责提供它。
总结
本地 Obsidian MCP 服务器和 Engram 并不是对同一个想法的两种竞争实现。 一个把服务器放进你的编辑器,免费、快速,但受限于那个进程。 另一个把你的知识库放在托管端点后面,要花钱,但从任何地方都能访问。 请根据你需要在哪里让笔记能被回答来选,而不是比较功能数量。
这里有过时的内容,或者对你维护的工具不公平?请提交 issue。我们宁可修正一篇对比,也不愿靠过时的事实赢得对比。