← 返回目录
O

Obsidian Web MCP

社区
通过 HTTPS 安全远程访问你的 Obsidian 仓库,支持 OAuth 2.0 认证。
GitHub 源仓库 ↗
★ 163 Stars 分类 · 文件系统 热门 源版本 cd88fdf06e36
68FMRS · C
可靠性
9/20
安全与权限
16/20
维护活跃度
14/20
文档质量
17/20
安装易用性
12/20

obsidian-web-mcp 是一个功能强大、安全设计良好的远程 MCP 服务器,专为 Obsidian 设计。它解决了本地 stdio 服务器无法从远程访问、以及 Obsidian Sync 文件损坏的问题。设置需要一定的技术知识,但文档详尽。适合需要跨设备访问笔记的高级用户。

查看 FMRS 评分方法 →

obsidian-web-mcp 是一个安全的、可远程访问的 MCP 服务器,让 LLM(如 Claude)能够从任何地方读写你的 Obsidian 仓库——包括桌面、手机或任意网络。它通过 HTTP 运行,使用 OAuth 2.0 认证,并通过 Cloudflare Tunnel 暴露服务,因此你的机器不会直接暴露在互联网上。服务器直接读写磁盘上的 Markdown 文件,解析 YAML frontmatter,维护内存索引以支持快速查询,并提供全文搜索功能。默认采用原子写入,确保与 Obsidian Sync 兼容。

工具能力

vault_read
读取文件,返回内容、元数据和解析后的 YAML frontmatter。
vault_batch_read
一次读取多个文件,优雅处理缺失文件。
vault_write
写文件,可选合并 frontmatter,自动创建父目录。
vault_write_binary
从 base64 内容写入允许的二进制文件(如图片/PDF),强制媒体类型白名单和大小限制,原子写入。
vault_edit
通过有序精确文本替换打补丁(token 高效的局部编辑),支持 dry-run 预览。
vault_append
在文件末尾追加内容,无需重发现有正文,文件缺失时创建。
vault_batch_frontmatter_update
批量更新多个文件的 YAML frontmatter 字段,不触碰正文。
vault_search
全文搜索(优先使用 ripgrep,否则回退到 Python)。
vault_search_frontmatter
按字段值、子串或字段存在性查询内存 frontmatter 索引。
vault_list
列出目录内容,支持递归深度、glob 过滤和文件/目录切换。
vault_move
在仓库内移动或重命名文件或目录。
vault_delete
软删除文件(移动到 .trash/ ),需要显式确认。
vault_canvas_read
读取 .canvas 文件,返回解析后的节点和边。
vault_canvas_add_node
向 .canvas 文件追加节点(缺失时创建),自动生成 id,保留未知字段。
vault_canvas_add_edge
向现有 .canvas 文件追加边,两端必须引用现有节点 id。
vault_daily_note_path
解析今天的日记路径,基于配置的文件夹/格式。
vault_daily_note_read
读取今天的日记,不存在时返回错误(不创建)。
vault_daily_note_append
追加到今天的日记,缺失时根据模板创建。
vault_analytics_summary
紧凑的仓库健康摘要:缺失 frontmatter、损坏的 wikilink、近似重复标签变体和非 UTF-8 文件的计数和示例。
vault_analytics_findings
获取一个分析类别的详细发现(frontmatter_missing、required_frontmatter_missing、broken_wikilinks、suspicious_tag_variants、encoding_issues、oversized_files)。

安装接入

  1. 克隆仓库:git clone https://github.com/jimprosser/obsidian-web-mcp.git。2. 设置环境变量:VAULT_PATH(仓库路径)、VAULT_MCP_TOKEN(强令牌)、VAULT_OAUTH_PASSWORD(必填,用于浏览器登录)。3. 使用 uv run vault-mcp 运行服务器(默认绑定 127.0.0.1:8420)。4. 在 Claude(桌面或移动端)中添加集成,输入服务器 URL;Claude 会通过 OAuth 流自动注册并连接。

选型与风险

适合谁

  • 希望从任何设备安全远程访问 Obsidian 仓库的用户。
  • 将 Claude.ai(网页版)或移动端与 Obsidian 集成。
  • 需要与 Obsidian Sync 并发写入且避免文件冲突。

不适合谁

  • 只需要本地 stdio MCP 访问,无远程需求。
  • 不希望设置 OAuth 密码或使用 Cloudflare Tunnel 的用户。
  • 对安全要求极高、不信任网络暴露的用户(尽管已加密)。

所需权限

  • 读写 VAULT_PATH 指定的文件系统目录。
  • 执行文件操作(移动、删除,软删除到 .trash)。
  • 创建每日笔记、写入二进制文件。
  • 维护内存中的 frontmatter 索引,可能更改索引文件。
  • 访问网络(用于 Cloudflare Tunnel、心跳 URL)。

风险与副作用

  • 凭证泄露风险:OAuth 密码或 MCP token 泄露可导致未授权访问。
  • 路径遍历缓解并非万无一失,需保持更新。
  • 扩展系统不受沙箱保护,加载不可信扩展可能带来全面风险。
  • 审计日志是尽力而为,并非防篡改,运行时可能丢失记录。
  • 错误配置可能导致服务器拒绝启动或暴露漏洞。

常见排障

  1. 检查 VAULT_OAUTH_PASSWORD 是否设置,否则服务器拒绝授权。
  2. 远程部署时设置 VAULT_MCP_ALLOWED_HOSTS 为你的主机名,否则 DNS 重绑定保护会拒绝请求。
  3. 使用反向代理时设置 VAULT_MCP_PUBLIC_URL 以固定 OAuth 重定向。
  4. 确保 VAULT_AUDIT_LOG_PATH 在仓库之外且可写,否则启动失败。
  5. 验证 Cloudflare Tunnel 和 Caddy 配置,确保端口正确。

使用场景

从任何地方(包括手机)通过 Claude 访问你的 Obsidian 笔记。
使用网页版 Claude 或 Claude Mobile,无需本地 stdio 服务器。
安全地与 Obsidian Sync 并发写入,避免文件损坏。
将你的仓库作为 MCP 连接器提供给 Claude 应用。

支持客户端

Claude Desktop完整支持
Claude Mobile完整支持
Claude Web完整支持