
Obsidian Notes
io.github.moreno-omar由 GitHub 帳號 moreno-omar 發布v0.1.0更新於 Oct 24, 2026
Search an Obsidian vault by tag, term and wikilink graph. Read-only, deterministic, no embeddings.
概覽
唯讀的 MCP 伺服器,為本機 Obsidian 儲藏庫建立索引,讓助理依標籤、關鍵詞與雙向連結關係檢索筆記。
- 可以做什麼
- 依標籤檢索筆記,可選擇要求符合全部標籤
- 依關鍵詞或詞組檢索筆記
- 從某篇筆記出發,沿雙向連結追蹤到指定深度
- 依路徑讀取單篇筆記
- 輸出所有筆記的索引,包含連結數與標籤
- 適用情境
- 當你的知識主要存放在本機 Obsidian 儲藏庫,希望助理透過標籤、關鍵詞或連結關係尋找筆記,而非依賴向量檢索時適用。適合儲藏庫與助理執行在同一台桌上型電腦的情境。
- 執行需求
- 以本機程序執行,可用 cargo install mcp-obsidian 安裝(需 Rust 工具鏈),或下載桌面安裝包。需提供儲藏庫路徑,透過 OBSIDIAN_VAULT 環境變數或 --vault 參數指定,預設為目前工作目錄。選用的 ask 與 chat 指令需要本機執行 Ollama,可用 OLLAMA_URL 與 OLLAMA_MODEL 設定。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Obsidian Notes,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Install in Claude Desktop
Download the bundle for your Mac or PC from the latest release, open it, point it at your vault.
About "Not signed"
The bundles are unsigned. That is normal for .mcpb: mcpb pack does not sign by
default, and signing is a separate opt-in step with a certificate of your own. If you
run mcpb info on the download you will see WARNING: Not signed — ignore it. It has
no effect on installing or using the extension.
Signing is not enabled yet because the upstream tooling is currently broken:
mcpb sign produces a bundle that Claude Desktop refuses to install
(#278), and mcpb verify reports
signed bundles as unsigned (#276).
It will be added once those are fixed.
MCP tool using obsidian
- going with the idea that it's better to search for local information using tags and search over RAG.
- more possible with the Open Knowledge Format (OKF) that Google is encouraging. Which mostly uses markdown.
- markdown, notes, and better access to local info makes me think there should be an app to connect an LLM to obsidian.
Goals
- have tool check notes using: title, tags, and follow links in notes
- to have as a vault for llm to make notes. To solve problems, document it, and see if new problems are similar.
Non-goals
- create a full GUI interface for the app
- to allow RAG use
Install
Then point it at a vault:
Marketplaces
Published on crates.io: https://crates.io/crates/mcp-obsidian
The crate is dual-licensed and its README carries the registry ownership token,
so it can also be listed in the Official MCP Registry and shipped as an MCPB
bundle without further changes.
- PUBLISHING.md — release runbook and the account each directory requires.
- DEPLOYMENT.md — hosting behind a public HTTPS URL on a VPS, plus the Smithery and ChatGPT directory submissions and the OAuth they need.
The line below is the package-ownership token the registry verifies against this
crate's README. It must stay visible in plain text — crates.io strips HTML
comments — and must match the name in server.json.
mcp-name: io.github.moreno-omar/mcp-obsidian
Demo
Everything below runs locally on one desktop — an NVIDIA RTX 4060 Ti
(16 GB) serving gemma4:e4b through Ollama, with the vault read from disk.
No API keys, no cloud calls, no data leaving the machine: the only network
traffic is localhost:11434.
ask — one prompt, answered from the vault
chat — the same loop, interactive
Fast, because this is a CLI and not a full-fledged TUI
mcp-obsidian prints, it does not paint. There is no alternate screen, no
event loop and no per-frame redraw: colours and layout are computed once per
answer with richrs, written to stdout, and the process exits. Measured on the
machine above:
A full-fledged TUI pays for a layout pass and a terminal repaint on every frame,
and a streaming chat UI adds one per token on top. Here the terminal does one
write per answer and the entire budget goes to the model, so retrieval feels
instant and the answer lands as soon as the GPU is done. It also keeps the output
an ordinary Unix stream: ask "…" > answer.md, | grep, NO_COLOR=1 and
FORCE_COLOR=1 all behave the way you expect.
References
Status
Phase 1 complete (2026-09-28): the CLI can talk to Ollama and the tool set is served over MCP.
Phase 2 complete (2026-10-01): the retrieval and Ollama layers are split into
small modules (src/vault/, src/ollama_client/) behind a library target, with
32 tests pinning the behaviour.
Phase 3 complete (2026-10-09): ask is grounded in the vault — an imperative
tool protocol plus a deterministic pre-search, so a model that never calls a
tool still gets the relevant notes. Output is rendered with richrs in a Tokyo
Night theme for ask, chat, doctor, index, search and serve (colours
auto-off when piping).
Phase 4 in progress (2026-10-09): published to crates.io as mcp-obsidian
v0.1.0 (cargo install mcp-obsidian). The binary is dual-licensed and carries
registry metadata; server.json validates against the Official MCP
Registry; scripts/build_mcpb.sh produces a schema-valid MCPB bundle for
Smithery; and serve --http adds a Streamable-HTTP transport for remote hosts.
See DEPLOYMENT.md for hosting it behind a public HTTPS URL and
listing it on Smithery and the ChatGPT directory, and
logs/2026-10-09_mcp_obsidian_phase4_publishing.md for the detail.
See SUMMARY.md for how it works and why, ARCHITECTURE.md for how to read the
code and where to change it, logs/MCP_notes.md for the implementation
comparison, and TASKS.md for what is done and what is next.
Usage
serve speaks stdio by default so stdout stays the JSON-RPC channel; --http
switches to Streamable HTTP on /mcp instead. HTTP mode has no
authentication — it binds loopback by default and rmcp rejects non-loopback
Host headers, so put a reverse proxy in front of it before exposing it
publicly. See PUBLISHING.md for what the ChatGPT/plugin directory additionally
requires.
A ready-to-edit host configuration is in claude_desktop_config.example.json.
Environment variables OBSIDIAN_VAULT, OLLAMA_URL, OLLAMA_MODEL and
RUST_LOG override the defaults; --api native switches from
/v1/chat/completions to /api/chat. Colour is emitted only to a terminal:
NO_COLOR=1 disables it, FORCE_COLOR=1 forces it when piping.
Answers are word-wrapped to the terminal width, with continuation lines aligned
under the text instead of under the bullet. Redirected output is deliberately
not wrapped, so ask "…" > answer.md keeps the model's own line structure.
A sample vault lives in samples/vault/ for trying the commands above.
Tests
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
來源:README.md,提交 9547e76
工具
0版本歷史
1- v0.1.0最新Oct 11, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
