この記事はなに
業務のAI化を見据えて、メモアプリをObsidianに移そうかと考えています。
https://github.com/smithery-ai/mcp-obsidian
こちらの3rd party MCPサーバを使って、Claude CodeからObsidianへアクセスできるようにしてみました。
環境
- Obsidian 1.12.4
- Mac OS Sequoia 15.6
- Claude Code 2.1.71 (Opus 4.6)
- NPM 10.8.2
手順
1. Obsidianのインストール
- https://obsidian.md/ からdmgファイルをインストール
- Obsidianを起動し、Vault(保管庫)をひとつ作成しておく(何でもよい)
2. Pluginのインストールと設定
-
「 設定」(
cmd + ,)-> 「コミュニティプラグイン」から、「コミュニティプラグインを有効化」をクリックする。

その後、「コミュニティプラグイン」の「閲覧」から、以下のプラグインをインストールし、すべて有効化しておく
- Local REST API
- MCP Tools
- Smart Connections
- Templater
-
MCP Toolsの歯車のアイコンから設定画面を開き、「Install Server」をクリックしてMCPサーバをインストールする
うまくいけばこんな感じになる。

-
Obsidianを再起動する
ここまでうまくいっていれば、
${Vaultを保存したディレクトリ}/.obsidian/plugins/mcp-tools/bin/mcp-server
というファイルができているはず。これがMCPサーバの実体となる -
再度Obsidianの「設定」->「コミュニティプラグイン」を開き、Local REST APIの歯車のアイコンから設定画面を開いた後、下記赤字で記載した、「API Port」と「API Key」の値をメモっておく。これらは、それぞれObsidianが提供するLocal APIのポート番号と、APIアクセスする際の認証キー(Bearerヘッダの値)になる

3. Claude CodeのMCPサーバの設定
ここまでの設定値を入力して、Claude Code側にMCPサーバを設定する。
$ VAULT_DIR=<Vaultを保存したディレクトリ>
$ OBSIDIAN_API_KEY=<API key>
$ API_PORT=<API Port>
# Claude CodeへのMCPサーバの追加
$ claude mcp add obsidian-mcp-tools -s user -e OBSIDIAN_API_KEY=${OBSIDIAN_API_KEY}} -- ${VAULT_DIR}/.obsidian/plugins/mcp-tools/bin/mcp-server --valut ${VAULT_DIR} --rest-api-port ${API_PORT}
$ grep -A13 obsidian-mcp-tools ~/.claude.json
# 以下のようになっていればOK
"obsidian-mcp-tools": {
"type": "stdio",
"command": "xxx/plugins/mcp-tools/bin/mcp-server",
"args": [
"--valut",
"xxx",
"--rest-api-port",
"27124"
],
"env": {
"OBSIDIAN_API_KEY": "xxx"
}
}
},
4. Claude Codeで動作確認
# Obsidianとプラグインが起動している前提で確認する
$ claude
> /mcp
# obsidian-mcp-tools · ✔ connected
# がMCPサーバのリストに存在すればOK
> List up all the notes in the vault
# ⏺ obsidian-mcp-tools - list_vault_files (MCP)
# が表示されればOK
おまけ:mcp-inspector
mcp-inspector
サーバを追加してもうまく動かなかった(Claude Code上から見えなかった)ときに、デバッグに使えて便利だったので紹介。
-
mcp-inspectorを起動する
$ VAULT_DIR=<Directory of the valut> $ npx @modelcontextprotocol/inspector ${VAULT_DIR}/.obsidian/plugins/mcp-tools/bin/mcp-server # 🔗 Open inspector with token pre-filled: http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=xxx # みたいなログが出るので、これをブラウザで開く -
環境変数を設定する
そのままだと環境変数が設定されていないので、「Environment Variables」 -> 「Add Environment Variable」から設定する。




