obsidian-mcp-tools
让 Claude 等 AI 助手安全地读懂、搜索并利用你的 Obsidian 知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 Claude 等 AI 助手安全地读懂、搜索并利用你的 Obsidian 知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你是一位写了三年笔记的研究者,Obsidian 知识库里有上千篇笔记,涵盖项目复盘、读书笔记、技术踩坑、人生感悟……问题来了:AI 助手怎么才能真正理解你的笔记体系,而不是泛泛而谈?
传统的关键词搜索只能找到包含特定字词的笔记,语义搜索(Semantic Search)则能理解笔记的深层含义——即使你没有用过"AI agent"这个关键词,只要笔记内容与 AI Agent 相关,AI 就能帮你找出来。
jacksteamdev/obsidian-mcp-tools 就是为解决这个痛点而生的:它是一个 Obsidian 插件 + 本地 MCP 服务器,让 Claude(以及任何兼容 MCP 协议的 AI 客户端)能够安全地读取、搜索和利用你的 Obsidian 知识库。
这个项目最初是作者 Jack Steam 为自己的伴侣开发的。她的个人动力很简单——想让 AI 能和她写的笔记"对话"。项目 2023 年上线后迅速走红,Obsidian 社区插件商店安装量突破 87,000 次,成为当时 Obsidian 生态中 MCP 相关插件的 Top 1。
然而,由于开发者已不再使用 Obsidian,项目已于近期正式 Archive(归档)。尽管如此,开源代码仍然开放,文档齐全,社区中已有多个替代插件接棒——包括 Obsidian 社区插件商店的五个官方替代品,以及 BRAT 测试版中的更多选择。
这是最有价值的功能。传统的笔记搜索依赖关键词匹配,搜索"机器学习"就只会返回包含这四个字的文件。但语义搜索基于向量化(Embedding)技术,能理解搜索意图:
背后原理:MCP 服务器将笔记内容通过 Embedding 模型转为向量,存储在本地向量数据库中。AI 客户端查询时,同样将自然语言转为向量,通过余弦相似度找到最相关的笔记片段。
Claude 等 AI 助手通过 MCP 协议连接到一个安全的本地 API 服务器,而不是直接访问文件系统。服务器作为中间层,精确控制 AI 能访问哪些笔记文件、哪些时间段的内容,以及是否允许写入。这种设计从根本上避免了 AI 直接读取整个磁盘的风险。
Obsidian 本身有强大的 Templater 插件,可以插入模板、生成新文件、自动化任务。MCP Tools 让 AI 能够触发这些模板,实现动态内容生成。比如:
项目采用 monorepo 结构,三个核心包分工明确:
TypeScript 编写的 MCP 服务器,运行在用户本地机器上。它:
@modelcontextprotocol/sdk 实现标准 MCP 协议zod 做请求参数校验,用 arktype 做类型约束turndown 将 Markdown 笔记转为纯文本供 AI 处理radash(实用工具库)处理文件路径、时间等日常任务acorn + acorn-walk 解析代码文件,实现代码片段提取mcp-server-linux、mcp-server-macos-arm64、mcp-server-macos-x64、mcp-server-windowsObsidian 社区插件,核心职责:
rxjs 管理异步事件流,保证状态一致性obsidian-local-rest-api 插件提供笔记 CRUD 接口TypeScript 类型定义和常量,供上述两个包共享。这保证了插件端和服务器端对数据结构理解的一致性。
每个功能(semantic-search、mcp-server-prompts、mcp-server-install)都是独立的特性模块,遵循统一的结构规范:
feature/
├── components/ # Svelte UI 组件
├── services/ # 业务逻辑
├── types.ts # 特性类型定义
├── utils.ts # 工具函数
├── constants.ts # 常量配置
└── index.ts # 导出 setup() 初始化函数
这种设计让功能之间松耦合:一个功能初始化失败不会影响其他功能,每个功能可独立开关、日志清晰、错误有据可查。
http://localhost:27124)整个过程不需要 Docker,不需要命令行,普通用户 15 分钟内可完成。
https://github.com/jacksteamdev/obsidian-mcp-tools项目 Archive 后带来的现实问题值得关注:
1. 安全维护已停止
作者明确表示不再维护,潜在的 0day 漏洞不会得到修复。如果 MCP 服务器被恶意利用(如通过 CSRF、XSS 或本地 API 未授权访问),用户需要自行应对。SECURITY.md 文档虽已提供最佳实践(如仅允许 localhost 访问、配置防火墙),但安全更新已无保障。
2. Obsidian 版本兼容性风险
随着 Obsidian 持续更新,社区插件 API 可能发生变化。Archived 状态意味着这些兼容性问题不会有人主动跟进,长期使用的用户需要定期测试。
3. 向量数据库依赖
语义搜索依赖本地运行的向量数据库(具体实现见代码细节),首次使用时需要下载或配置 embedding 模型,网络不佳时体验会受影响。
4. MCP 协议版本锁定
当前基于 @modelcontextprotocol/sdk v1.0.4,如果未来 MCP 协议有 breaking change,项目不会更新。用户需要留意 MCP 客户端的兼容性。
作者本人不推荐特定替代方案,但社区已给出答案:
| 插件名称 | 特点 |
|---|---|
| Obsidian MCP 官方插件(已上架) | 功能相近,官方维护 |
| BRAT 测试版生态 | 持续有新功能插件 |
| 自托管方案 | 用 n8n、Make 等工具自建笔记→AI 工作流 |
对于有技术能力的用户,推荐使用 Archive 版本 + 本地安全加固(localhost-only、token 认证)。对于非技术用户,建议迁移到 Obsidian 官方 MCP 插件或有商业支持的替代品。
obsidian-mcp-tools 是一个设计精良的本地 AI 知识库桥接工具,将 Obsidian 的知识管理能力与 Claude 等大模型 AI 的理解能力打通。其 monorepo 架构清晰、代码质量较高、文档完善,是学习 MCP 协议实现的优秀范本。
尽管项目已 Archive,但在 87,000 次安装量的背后,它验证了一个真实需求:让 AI 真正理解个人知识库,而非简单检索。这个需求的解决方案仍值得深入研究——无论你选择继续使用这个项目,还是转向社区的替代方案,理解它的设计思路都将受益无穷。