# 策展 · X (Twitter) 🔥

> 作者：Jim Prosser (@jimprosser) · 平台：X (Twitter) · 日期：2026-03-18

> 原始來源：https://x.com/jimprosser/status/2034039838446600658

## 中文摘要

「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 同時寫入同一檔案時，會遵循標準檔案系統語義（後寫入者獲勝），但兩個寫入都不會被破壞。專案包含完整測試套件和文件，以及生產級的部署配置，反映出這是一個成熟且安全導向的解決方案。

## 標籤

MCP, 開源專案, Obsidian
