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.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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 で書き込み先を絞ること。
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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.
Notes and memory assistant: one Markdown vault that Claude, ChatGPT and any MCP client can share.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
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,500 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,500 npm4MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI harnesses such as ZCode and Claude Code to browse, search, edit, and create notes in an Obsidian vault through seven fine-grained tools over stdio. It works directly on the vault's filesystem without requiring Obsidian to be running, with built-in protections against accidental deletion or overwriting.3,500 npmMIT
- AlicenseCqualityBmaintenanceConnects AI assistants and agents to Obsidian vaults through strongly typed tools and resources for reading, creating, searching, organizing, and analyzing notes, tasks, properties, tags, and knowledge-graph data. Supports secure remote access via stdio or Streamable HTTP/SSE with bearer authentication and path isolation.333,500 npm1MIT