obsidian-vault-mcp
Reads and writes an Obsidian Vault directly on disk (no Obsidian app required), providing tools to list, read, search, create, edit, and append to Markdown notes, manage frontmatter/tags, and traverse the [[wikilink]] graph via backlinks, outgoing links, N-hop BFS neighbors, unresolved-link and orphan detection.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@obsidian-vault-mcpshow me everything that links to my Daily Notes index"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
obsidian-vault-mcp
ディスク上の Obsidian Vault を直接読み書きする MCP サーバー。Obsidian アプリを起動しておく必要はない。
読み書き・検索に加えて、[[wikilink]] のグラフ探索(バックリンク、N-hop 近傍、未解決リンク、孤立ノート)を提供する。
TypeScript / 公式 MCP SDK v2(仕様 2026-07-28 と 2025 系の両方に対応)
Streamable HTTP(Bearer トークン)と stdio
Node.js 24+ で
node src/main.tsとして直接実行できる。Claude Desktop 用には依存を同梱した.mcpb(デスクトップ拡張)も作れる
使い方
Claude Desktop(デスクトップ拡張 / ネットワークに何も公開しない)
pnpm install && pnpm pack:mcpb # obsidian-vault-mcp.mcpb ができる生成された .mcpb を Claude Desktop の Settings > Extensions にドラッグして、インストールする。設定画面で Vault のフォルダを選ぶ。
初期値は読み取り専用なので、書き込ませたいときは「Read-only」をオフにする(「Writable folders」で書き込めるフォルダも限定できる)。
Claude Code(ローカル、stdio)
claude mcp add --scope user obsidian --env OBSIDIAN_VAULT_PATH=$HOME/vault --env OBSIDIAN_MCP_READONLY=1 -- node /path/to/obsidian-vault-mcp/src/main.ts --stdioClaude Code(リモートのサーバーへ HTTP で接続)
下の「サーバーへのデプロイ」を参照。
Related MCP server: Obsidian MCP Server
構成(サーバーに常駐させる場合)
[各端末の Obsidian] ⇄ CouchDB
⇅ livesync-cli daemon(E2EE v2・パス難読化に対応)
/srv/vault(平文のミラー)
↑ 読み書き
obsidian-vault-mcp 127.0.0.1:8787
↑ HTTPS のリバースプロキシ(tailscale serve、Caddy など)
Claude Code / その他 MCP クライアントMCP での書き込みは livesync-cli がファイル監視で拾い、CouchDB 経由で各端末に配信する。
ツール
種別 | ツール | 内容 |
読み取り |
| フォルダ内のノートを更新日時の新しい順に一覧 |
| 本文を読む。見出しセクションだけ読む、ページングも可。編集用の | |
| frontmatter・タグ・エイリアス・見出し構成・リンク数 | |
| 全文検索(AND、大文字小文字区別なし、日本語可)または正規表現。フォルダ・タグで絞り込み | |
| タグと件数 | |
グラフ |
|
|
| このノートへのリンク元と該当行。リンクされていない言及も任意で取得 | |
| 発リンクとその解決先(wiki / markdown / 埋め込み / frontmatter) | |
| BFS で N-hop 近傍(in / out / both) | |
| 存在しないノートへのリンクを、リンク先ごとにまとめる | |
| どこからもリンクされていないノート | |
書き込み |
| 新規作成(上書きには |
| ノート末尾、または見出しセクションの末尾に追記 | |
| 見出しセクションの置換・先頭挿入・末尾挿入( | |
| 完全一致の置換(出現回数が一致しなければ失敗する) | |
| プロパティの追加・削除(コメントや他のキーは保持) |
ノートの指定は、パス(folder/note.md)・ノート名(Note Name)・エイリアスのどれでもよい。
安全策
.obsidian/など.で始まるパスは読み書きとも不可(LiveSync の認証情報を守るため)。Vault 外への脱出(..やシンボリックリンク)も拒否する書き込めるのは
.mdだけ。OBSIDIAN_MCP_WRITE_PATHSでフォルダを限定できる。CLAUDE.md/AGENTS.mdは常に書き込み不可編集系ツールは楽観ロックを行う。読み込み後にノートが変わっていたら失敗する(
expected_hashを渡すとread_noteの時点を基準にできる)書き込みは隠し一時ファイルに書いてから rename する(アトミック)
削除と移動のツールは意図的に実装していない。livesync-cli の
mirrorはディスク上の削除を反映せず、ファイルを復元してしまうため(削除はlivesync-cli rmで行う)
リンク解決のルール(Obsidian 準拠)
folder/Noteはパスの完全一致、なければ末尾一致素の
Noteは同じフォルダ → ルートに近いもの → 浅いパスの順で優先。候補が複数あるときはambiguousとして列挙する./../は相対パスとして解決する。#見出しと#^blockは subpath として保持する[[エイリアス]]はグラフ上は未解決として扱う(Obsidian と同じ)。ツール引数でノートを指定するときだけエイリアスでも引けるコードブロック、インラインコード、
%%コメント%%、<!-- -->、$$数式$$の中のリンクとタグは無視する
開発
pnpm install
pnpm test # ユニットテスト + HTTP 経由の e2e
pnpm typecheck
OBSIDIAN_VAULT_PATH=~/vault OBSIDIAN_MCP_READONLY=1 pnpm startサーバーへのデプロイ
以下は Debian / Ubuntu 系の Linux を想定。LiveSync の CouchDB に到達できる場所に置く。
1. Node.js 24 以上とユーザーの用意
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo bash - && sudo apt-get install -y nodejs git curl
sudo useradd --system --create-home --home-dir /var/lib/obsidian --shell /bin/bash obsidian
sudo mkdir -p /srv/vault && sudo chown obsidian: /srv/vault2. livesync-cli(CouchDB から /srv/vault へのミラー)
Self-hosted LiveSync プラグインの作者(vrtmrz)が同じリポジトリ(vrtmrz/obsidian-livesync の src/apps/cli)で公開している CLI を使う(Obsidian 公式のツールではない)。livesync-bridge は E2EE 環境で復号に失敗する不具合が未解決なので使わない。
sudo -iu obsidian
git clone https://github.com/vrtmrz/obsidian-livesync.git ~/obsidian-livesync
cd ~/obsidian-livesync && bash src/apps/cli/deploy/install.sh --vault /srv/vault他の端末の Obsidian で「Self-hosted LiveSync → Setup → Copy the current settings to a setup URI」を実行し、Setup URI を作る。それを CLI に取り込む(パスフレーズは標準入力で渡す)。
livesync-cli /srv/vault setup "obsidian://setuplivesync?settings=..."E2EE のパスフレーズは他の端末と完全に一致させること。違っていても警告なしに同期が壊れる。パス難読化も同じパスフレーズから導出される
最初は CouchDB への書き込みを避け、
livesync-cli /srv/vault mirrorを一回だけ実行して/srv/vaultの中身を確認するのが安全一時ファイルを確実に除外するため、
/srv/vault/.livesync/ignoreに次を書いておく.*.tmp
3. obsidian-vault-mcp
sudo git clone https://github.com/asann3/obsidian-vault-mcp.git /opt/obsidian-mcp
cd /opt/obsidian-mcp && sudo corepack enable && sudo pnpm install --prod
sudo cp deploy/obsidian-mcp.env.example /etc/obsidian-mcp.env && sudo chmod 600 /etc/obsidian-mcp.env
sudo sed -i "s/^OBSIDIAN_MCP_TOKEN=.*/OBSIDIAN_MCP_TOKEN=$(openssl rand -hex 32)/" /etc/obsidian-mcp.env
sudoedit /etc/obsidian-mcp.env # ALLOWED_HOSTS を公開するホスト名に
sudo cp deploy/obsidian-mcp.service /etc/systemd/system/
sudo systemctl daemon-reload && sudo systemctl enable --now obsidian-mcp
curl -s localhost:8787/healthz4. HTTPS で公開する
サーバーは 127.0.0.1 だけで待ち受ける。TLS はリバースプロキシで終端する。Tailscale なら次のとおり。
sudo tailscale serve --bg 8787
tailscale serve status # https://<ホスト名>/ → 127.0.0.1:87875. クライアント登録(Claude Code)
claude mcp add --transport http --scope user obsidian https://<ホスト名>/mcp --header "Authorization: Bearer <TOKEN>"claude.ai / スマホから使う場合
claude.ai のコネクタは、Anthropic のクラウドからサーバーに接続する。そのため、インターネットから届く URL(Tailscale Funnel など)が必要になる。認証は次のどちらか。
リクエストヘッダー方式(ベータ):コネクタの追加画面で、認証を「サインインなし」にして、
authorization: Bearer <トークン>を登録する。このサーバーの Bearer 認証がそのまま使える。この項目が表示されないアカウントもあるOAuth 2.1:未実装。
OAuthTokenVerifierを差し替えて、PRM / AS メタデータ、PKCE、CIMD または DCR を実装する必要がある
公開するときは、読み取り専用にするか OBSIDIAN_MCP_WRITE_PATHS で書き込み先を絞ること。
This server cannot be deployed
Maintenance
Related MCP Connectors
Search, read, and safely update Markdown notes in your connected Phasoric knowledge vaults.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables direct file system access to Obsidian vaults with auto-discovery, full-text search, and note operations. Supports reading, writing, and searching across Obsidian notes without requiring plugins or REST API.63,445 npmMIT
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with Obsidian vaults for creating, reading, searching, and managing notes, daily notes, TODOs, session reports, and backlinks through both stdio and HTTP/SSE transports.103,445 npm4MIT
- AlicenseCqualityDmaintenanceEnables AI assistants to search, read, create, and modify Markdown notes in local Obsidian vaults directly through filesystem operations. Supports tag-based discovery and frontmatter parsing without requiring Obsidian to be open, facilitating integration with VS Code Copilot via stdio transport.59 npm4MIT
- FlicenseNot gradedqualityAmaintenanceProvides secure, direct file system access to Obsidian vault files, enabling search, read, write, and discovery of notes without requiring the Obsidian app.23-