「obsidian-web-mcp」是一個針對 Obsidian 筆記應用開發的 MCP Server
「obsidian-web-mcp」是一個針對 Obsidian 筆記應用開發的 MCP Server,核心目的是讓人工智慧模型(如 Claude、ChatGPT)可以從任何地點安全地存取你的筆記庫,而不需要將檔案上傳到雲端。這個工具直接解決了現有本地 MCP Server 的三個主要限制。
本地方案的限制 既有的 Obsidian MCP Server 大多是本地 stdio Server,只有在 Claude Code 與筆記庫運行在同一台機器上時才能運作。這意味著網頁版 Claude、手機上的 Claude 都無法存取你的筆記。更嚴重的是,如果你使用 Obsidian Sync(官方同步功能),本地 MCP Server 的非原子寫入操作會產生部分檔案,這些損壞的檔案會被同步到所有設備上,造成資料不一致的問題。
解決架構 「obsidian-web-mcp」透過持續執行的 HTTPS 服務來解決這些問題。伺服器運行在保存筆記庫的機器上,透過 Cloudflare Tunnel 安全地隧道連接,不需暴露任何連接埠或 IP 位址。架構上,你的 Obsidian 應用與 MCP Server 都操作同一個 Markdown 檔案目錄,但 Server 採用原子寫入機制(先寫入暫存檔案再重新命名),確保 Obsidian Sync 和 Server 永遠不會衝突。
多層安全防護 在安全性方面,這個專案採取了多層防護。每個請求都強制要求 OAuth 2.0 認證,使用與 Gmail、Google Calendar 等整合相同的協議。所有工具函式執行前都必須驗證 Bearer Token,不存在任何未受保護的端點。檔案操作在檔案系統層面進行路徑檢驗,防止目錄遍歷、符號連結跟隨、Null 位元組注入等攻擊,以及防止存取 .obsidian、.git 等敏感目錄。寫入操作被限制在每檔案 1MB 以內,批次操作限制 20 個檔案,搜尋結果限制 50 筆。刪除採取軟刪除機制,檔案移到 .trash/ 資料夾而非永久刪除,且必須明確確認才能執行。
九個核心工具 工具集包括九個核心功能:
- 讀取檔案(含 YAML Frontmatter 解析)
- 批次讀取
- 寫入
- 批次更新 Frontmatter
- 全文搜尋
- Frontmatter 搜尋
- 列出目錄
- 移動重新命名
- 軟刪除
伺服器維持一個記憶中的 Frontmatter 索引,以提供快速查詢能力。
部署流程 部署上,專案提供完整的設定流程。開發環境只需 Python 3.12+、uv 套件管理器、一個本地 Obsidian 筆記庫。遠端存取需要 cloudflared 和一個由 Cloudflare 管理的網域。針對 macOS 使用者,專案提供 launchd plist 範本,讓 MCP Server 和 Cloudflare Tunnel 作為背景服務持續執行,支援登入時自動啟動和故障自動重啟。
Obsidian Sync 相容性 與 Obsidian Sync 的兼容性得到明確保證。由於採用原子檔案替換,Obsidian 永遠不會看到半寫入的檔案。當 Sync 和 MCP Server 同時寫入同一檔案時,會遵循標準檔案系統語義(後寫入者獲勝),但兩個寫入都不會被破壞。專案包含完整測試套件和文件,以及生產級的部署配置,反映出這是一個成熟且安全導向的解決方案。
Built an MCP server that runs on your Mac and tunnels your @obsdmd vault to @claudeai or @ChatGPTapp anywhere: phone, browser, laptop. No cloud storage, no open ports, your files stay on your machine, and doesn't break Obsidian Sync.https://t.co/ykko1eGm1g
— Jim Prosser (@jimprosser) March 17, 2026
