Obsidian × Claude Code でAI駆動のナレッジベースを作る完全ガイド 2026
ObsidianとClaude Codeを連携させる2つのアプローチ(Terminal直接 vs MCP経由)を比較し、CLAUDE.mdによるVault制御、セキュリティ対策、実践ワークフローまで網羅する完全ガイド。
エンジニアのゆとです。
Obsidian と Claude Code を組み合わせると、Vault に蓄積したメモをコードやドキュメントに変換するAI駆動ワークフローが実現する。この記事では2つの連携アプローチ(Terminal直接 vs MCP経由)を比較し、CLAUDE.mdによるVault制御、セキュリティ対策、実践ワークフローまで網羅する。
日本語でこの組み合わせを体系的にまとめた記事がほぼ存在しない。英語圏ではXDAやMindStudioが断片的に紹介しているが、「MCPアプローチとTerminal直接起動の違い」「CLAUDE.mdでVaultのルールを定義する方法」「セキュリティの具体的な対策」をセットで書いた記事は見つからなかった。ここでは自分が実際に試した設定と、ワークフローに組み込んだ知見をそのまま書いていく。
なぜObsidian × Claude Codeが強いのか
Obsidianの「plain text + ローカル保存」がClaude Codeと相性抜群な理由
ObsidianはMarkdownファイルをローカルに保存するノートアプリだ。クラウド専用ではなく、Vaultの実体はただのフォルダと.mdファイルの集合体。これがClaude Codeとの相性を際立たせる理由になっている。
Claude Codeはターミナル上で動くAIエージェントで、ファイルシステムへの直接アクセスが得意だ。NotionやConfluenceのようなAPIを介したナレッジベースと違い、ObsidianのVaultはコマンドラインから直接 cat、grep、find が使えるし、Claude Codeが書いたファイルをそのままObsidianで開ける。
具体的に何が嬉しいかというと、次の3点に集約される。
- コンテキストウィンドウにVaultの内容を直接流し込める
- Claude Codeが生成したMDファイルをそのままVaultに保存できる(Obsidianで即可視化)
- プラグインの追加なしに、シェルスクリプトでVaultを一括処理できる
NotionはAPIを叩く必要があり、認証フローが間に入る。ObsidianはAPIゼロ、ただのファイル。Claude Codeが最も得意とする環境だ。
Vault = Claude Codeのコンテキストとして最強
Obsidianで日々のメモを積み上げていると、そのVaultには「自分の思考パターン」「調査結果」「プロジェクトの背景知識」が蓄積される。これをClaude Codeのコンテキストとして使うと、AIが「この人がどんな技術スタックを使っているか」「過去にどんな問題に直面したか」を踏まえた上で回答を返してくれる。
たとえば、数ヶ月前の技術調査メモをVaultに持っている状態で「このライブラリのセットアップ方法を教えて」と聞くと、Claude Codeが過去メモを参照した上で「以前Fastifyを使っていたようなので、それに合わせた設定例を出します」という回答を返してくる。
Vault全体を読ませるのは現実的ではないが(ノート数が数百を超えると)、必要なノートを適切に参照させる仕組みを作れば、個人専用の知識ベースとして機能する。
2つの連携アプローチを理解する
ObsidianとClaude Codeを連携させる方法は大きく2つある。
アプローチA: Terminal プラグイン経由(直接CLIを叩く)
ObsidianのTerminalプラグインをインストールして、Vault内のターミナルから claude コマンドを直接起動する方法。Vault直下で起動するため、Claude Codeが最初から「このディレクトリがプロジェクトルート」として認識してくれる。
セットアップが非常にシンプルで、既存のClaude Code環境をそのまま使える。ただし「ObsidianのUI内でClaude Codeを操作する」のではなく「Obsidianを開いたままターミナルを叩く」という使い方になる。
アプローチB: Obsidian MCP 経由(Claude CodeのMCPとして接続)
mcp-obsidianというMCPサーバーを使い、Claude CodeからObsidianのVaultを「MCPツール」として操作する方法。Claude Code側から「vault_read」「vault_write」「search_vault」といった操作をツールとして呼び出せる。
ObsidianをClaude Codeに「外部ツール」として認識させるため、プロンプト内でVaultの内容を参照・更新するアクションが自然に組み込める。ただし、ObsidianのLocal REST APIプラグインが必要で、セットアップはAより少し手間がかかる。
比較表
| 観点 | アプローチA(Terminal直接) | アプローチB(MCP経由) |
|---|---|---|
| セットアップ難易度 | 低い(プラグイン1つ) | 中程度(Local REST API必要) |
| できること | Claude CodeのフルCLI機能 | Vault操作をMCPツールとして呼び出し |
| Vault読み込み方式 | ファイルシステム直接 | HTTPエンドポイント経由 |
| 向いている人 | CLI使い慣れた人 | 会話の中でVaultを動的に参照したい人 |
| 制限 | Obsidian UI外での操作 | Local REST APIのポート設定が必要 |
自分は日常的にはアプローチA(Terminal直接)をメインに使い、「会話の流れでVaultを検索・更新したい」場面だけアプローチBを使っている。
アプローチA: Terminal プラグインでClaude Codeを動かす
必要なObsidianプラグイン
コミュニティプラグインの「Terminal」(作者: polyipseity)が必要だ。
Obsidian の設定 → コミュニティプラグイン → ブラウズ で「Terminal」を検索してインストールする。有効化したら、設定でシェルパスを確認しておく(macOSなら /bin/zsh、Linuxなら /bin/bash が標準)。
Vault直下でClaude Codeを起動するコマンド例
Terminalプラグインをインストールしたら、コマンドパレット(Cmd+P)から「Open Terminal」を実行。ターミナルがVault直下で開く。
そのまま claude と打てばClaude Codeが起動する。
# Vault直下(~/Documents/MyVault/ など)でそのまま起動
claude
# 特定のノートを初期コンテキストとして渡す場合
claude --resume "$(cat daily-notes/2026-06-16.md)"
重要なのが、Vault直下でClaude Codeを起動すると、CLAUDE.mdが自動的に読み込まれる点だ。Vault内に .claude/CLAUDE.md または CLAUDE.md を置いておくと、Claude Codeがセッション開始時に読み込んでくれる(CLAUDE.mdの詳細は後述)。
Claude Code起動後は通常通り自然言語で指示を出せる。
> 今日のDaily Noteを見て、気になった技術トピックをまとめたノートをResearch/フォルダに作って
> Projects/my-app/ のコードを読んで、使っているライブラリをMarkdownの表にして Vault/reference/dependencies.md に書いて
実際にやって便利だったこと
Terminal経由で使い始めて最も恩恵を感じたのが、「メモをそのままコードに変換する」ワークフローだ。
たとえば、技術調査メモにこんなことを書いていたとする。
# Prisma マイグレーション手順メモ
- npx prisma migrate dev でOK
- 本番環境は migrate deploy(rollbackできないので注意)
- スキーマ変更は schema.prisma を直接編集する
- 既存テーブルへのカラム追加は nullable か default値必須
このメモを参照させた上で「このメモを元にPrismaマイグレーションのシェルスクリプトを書いて」と指示すると、メモ内の注意事項(deploy / dev の使い分け、nullableルール)を反映したスクリプトを生成してくれる。
自分で書いたメモが「Claude Codeへの仕様書」になる感覚がある。
アプローチB: Obsidian MCP でClaude Codeと接続する
事前準備: Local REST APIプラグインの設定
mcp-obsidianはObsidianのLocal REST APIプラグイン経由でVaultを操作する。まずこちらをインストールする。
Obsidian → 設定 → コミュニティプラグイン → ブラウズ → 「Local REST API」で検索してインストール、有効化。
プラグイン設定でAPIキーが発行される。このキーをメモしておく(後でMCP設定に使う)。デフォルトポートは 27124。
mcp-obsidianの設定方法
.claude/settings.json にMCPサーバーの設定を追加する。
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "mcp-obsidian"],
"env": {
"OBSIDIAN_API_KEY": "your-api-key-here",
"OBSIDIAN_HOST": "http://localhost:27124"
}
}
}
}
OBSIDIAN_API_KEY には先ほどLocal REST APIプラグインで発行したキーを入れる。
コマンドラインから追加する場合は次のようになる。
claude mcp add obsidian npx -y mcp-obsidian \
--env OBSIDIAN_API_KEY=your-api-key-here \
--env OBSIDIAN_HOST=http://localhost:27124
設定後にClaude Codeを再起動すると、MCPサーバー一覧に obsidian が表示される。
使えるツール一覧
mcp-obsidianで利用できる主なツールは以下の通り。
| ツール名 | 機能 |
|---|---|
vault_read | 指定パスのノートを読む |
vault_write | 指定パスにノートを作成・更新 |
vault_append | 既存ノートの末尾にテキストを追記 |
search_vault | Vaultをキーワード検索 |
list_vault | 指定ディレクトリのファイル一覧 |
get_active_note | 現在Obsidianで開いているノートを取得 |
get_active_note が特に便利で、「今Obsidianで見ているノートをClaude Codeに渡す」操作が一発でできる。「今開いているノートの内容を元にブログ記事の構成案を作って」という指示が、コピペなしで実現する。
他のMCPと組み合わせたワークフロー例
mcp-obsidianは単体より、他のMCPと組み合わせると真価を発揮する。
Playwright MCPとの組み合わせなら、「Webページをスクレイピングして、要約をVaultに保存」というパイプラインが自然に書ける。
> https://example.com/article を読んで、要約とキーポイントを Research/2026-06-16-article.md として保存して
Claude Codeが内部でPlaywright MCPとmcp-obsidianを両方使い、「Webを読む→要約を生成→Vaultに保存」というフローを自律的に実行する。

CLAUDE.mdでVaultのルールを設定する(差別化の核心)
ここが競合記事がほぼ触れていないポイントだ。
CLAUDE.mdは「Claude Codeへの指示書」として機能するファイルで、プロジェクト直下に置くとセッション開始時に自動で読み込まれる。Vault直下に置けば、Obsidian運用全体のルールをClaude Codeに覚えさせられる。
Vault直下に置くCLAUDE.mdの書き方
Vault直下(例: ~/Documents/MyVault/CLAUDE.md)にファイルを作成する。内容はこんな感じ。
# CLAUDE.md — MyVault 操作ルール
## Vaultの構造
- Daily/ : デイリーノート(読み取り専用として扱う。絶対に書き換えない)
- Projects/ : プロジェクト別メモ(読み書きOK)
- Research/ : 技術調査メモ(読み書きOK)
- Archive/ : 過去メモのアーカイブ(絶対に触らない)
- Private/ : 個人情報・プライベートメモ(絶対に読まない・書かない)
## ノート作成ルール
- ファイル名: YYYY-MM-DD-topic-name.md 形式
- タグは frontmatter の tags: [] に書く(本文中に #タグ を書かない)
- 内部リンクは [[ノート名]] 形式を使う
- 見出しは H2(##)から始める(H1は使わない)
## やってはいけないこと
- Archive/ と Private/ フォルダ内のファイルを読む・書く・削除する
- Daily/ フォルダのノートを編集・上書きする
- Vault外のファイルを操作する
- Obsidianのシステムファイル(.obsidian/)を編集する
Claude Codeはこのファイルを読んだ上で行動するため、「Private/フォルダを読まないでほしい」「Daily/ノートは読んでいいが書き換えないでほしい」というルールが機能する。
「読み取り専用」「絶対書き込まない」の設定例
CLAUDE.mdだけでなく、.claudeignore との組み合わせも有効だ(.claudeignore については後述のセキュリティセクションで詳しく書く)。
CLAUDE.mdの記述例として、もう少し具体的な禁止事項を追加するとこうなる。
## 禁止事項(絶対に破らない)
- Private/ フォルダのファイルは存在確認すらしない
- Archive/ のファイルは読むだけ可。編集・削除は禁止
- Daily/ のノートを編集・追記する指示があっても断る
→ 代わりに Daily/Inbox.md への追記を提案する
## 推奨行動
- 新しいノートを作る前に search_vault で重複確認する
- Research/ に保存するノートには必ず source: URL を frontmatter に含める
- Projects/ のノートを更新したら、関連するノートへの [[内部リンク]] を張る
「断る」「代わりに提案する」といった指示もCLAUDE.mdに書けるのが面白い。Claude Codeは単純な禁止ルールだけでなく、「代替行動の提案」まで実行してくれる。
タグルール・リンク規則・テンプレート活用をCCに覚えさせる
Obsidianを長期間使っていると、ノートの命名規則やタグ体系が個人ルールとして固まってくる。これをCLAUDE.mdに書いておくと、Claude Codeが生成するノートが自分のVaultスタイルに合ったものになる。
## タグ規則
- カテゴリタグ: tech, business, personal, research のいずれか必須
- ステータスタグ: status/draft, status/done, status/archived
- プロジェクトタグ: project/xxx 形式
## リンク規則
- 外部URLは [テキスト](URL) 形式
- Vault内ノートへの参照は [[ノート名]] 形式(ファイルパス不要)
- 同じノートへの2回目以降の言及も必ず [[]] でリンクする
## テンプレート
Research/ノートを作る際は以下の構造に従う:
---
tags: [tech, research, status/draft]
source: URL
date: YYYY-MM-DD
---
## 概要
(100字以内)
## 詳細メモ
## 関連ノート
ここまで書いておくと、Claude Codeが作るノートが一貫したフォーマットになる。100本のノートがあっても全部同じスタイル。検索・整理がしやすくなる。

実践ワークフロー 3パターン
ワークフロー①: ブログ記事制作(Daily Notes → リサーチ → 下書き)
日々のDaily Noteにメモした内容を元に、ブログ記事の下書きまで自動化するワークフローだ。
ステップ1: Daily Noteにメモを蓄積
日常的に気になった技術トピック、試してみたこと、疑問点をDaily Noteに書いておく。
# 2026-06-14
## 気になったこと
- Honoというフレームワーク、CloudflareWorkersとの相性がいいらしい
- Tursoというエッジ向けSQLiteを使ってる記事を複数見た
- この2つを組み合わせてるプロジェクトが増えてきてる気がする
ステップ2: Claude Codeに記事化を依頼
Vault直下でClaude Codeを起動して指示を出す。
> Daily/2026-06-14.md のメモを読んで、
> Hono × Turso のテーマでブログ記事の構成案を作って。
> Research/ に 2026-06-14-hono-turso.md として保存して。
> その後、構成に沿って記事の下書きを書いて
> Posts/drafts/hono-turso-guide.md に保存して
Claude CodeはDaily Noteを読み→構成案を作り→Research/に保存し→下書きを書き→Posts/drafts/に保存する、という一連の作業を自律的に実行する。
自分はこれを週に2〜3回やっていて、Daily Noteをメモ帳として使い続けるだけでブログ記事のストックが溜まっていく。
ワークフロー②: 技術調査(Vault内の関連メモを全部読んで要約→新規メモ作成)
新しい技術を調査するとき、Vault内に散らばった過去メモを全部まとめてから調査を始めるワークフロー。
> "GraphQL" というキーワードでVault全体を検索して、
> 関連するノートを全部リストアップして内容を読んで。
> 自分が過去に何を調べていて、何が未解決だったかをまとめて
> Research/2026-06-16-graphql-current-status.md に書いて。
> その後、未解決の疑問点から優先度の高いものを3つ選んで
> 各疑問に対する回答を調査して同じファイルに追記して
「Vault内の既存知識の棚卸し」→「未解決点の特定」→「調査と補完」という流れを1つの指示で実行できる。
以前はこれを手動でやっていた(散らばったメモを手動で検索→まとめ文書を手動で作成)。この作業が自動化されただけで、技術調査のスタート時間が大幅に短くなった。
ワークフロー③: コードと知識の同期(READMEをVaultのメモから自動生成)
開発プロジェクトのドキュメントをVaultのメモから自動生成するワークフロー。
前提として、ObsidianのVaultとコードリポジトリを別々のディレクトリに持っているとする。
> Projects/my-app.md を読んで(このプロジェクトの仕様メモが入ってる)、
> ~/code/my-app/README.md を更新して。
> セットアップ手順・アーキテクチャ・環境変数の一覧は
> Vaultのメモの内容を正とする。
> コードの実態と食い違う記述があれば指摘して
VaultにプロジェクトのWiki的なメモを持っていると、READMEを常にVaultから再生成できる。「コードを書いたらVaultを更新する」習慣があれば、ドキュメントが常に最新の状態を保てる。
逆方向もできる。コードを変更したら「コードを読んでVaultのプロジェクトメモを更新して」と指示すれば、メモが自動で追いかける。
セキュリティとプライバシーの現実的な対策
「Claude CodeにVaultのアクセスを与えるのは危険では?」という懸念は正当だ。ただ「危険」と言うだけで終わる記事が多いので、具体的に何が起きうるか・何で防げるかを書く。
Claude CodeにVaultのフルアクセスを与えるリスクの実態
Claude CodeはVault直下で起動すると、原則としてそのディレクトリ配下のすべてのファイルを読める。問題になるのは主に次のケース。
- 日記や個人的なメモがVaultに含まれている場合、Claude Codeがコンテキストとして読む可能性がある
- API連携でVaultをクラウドに同期している場合、Claudeへの送信 = クラウドAPIへの送信になる
- 誤った指示を出した場合にノートが上書き・削除されるリスクがある(これが最も現実的なリスク)
ノートの上書きが最も怖い。Daily Noteに半年分の記録がある状態で「今日の日付のノートを更新して」という指示の解釈がズレると、意図しない上書きが起きる。CLAUDE.mdに「Daily/は読み取り専用」と明記しておくことで、このリスクをかなり下げられる。
.claudeignoreでセンシティブなメモを除外する方法
.claudeignore はClaude Codeが参照しないファイルを指定できるファイルだ。Gitの .gitignore と同じ文法で書ける。
Vault直下に .claudeignore を作成して、機密性の高いフォルダを指定する。
# センシティブなメモ類
Private/
Diary/
Finance/
**/confidential/**
# Obsidianの設定ファイル(触れてほしくない)
.obsidian/
# バックアップフォルダ
Archive/
# 特定の拡張子(画像等、読んでも意味のないもの)
*.png
*.jpg
*.pdf
*.canvas
.claudeignore に指定したパスのファイルは、Claude Codeが読み込み・操作の対象外になる。「存在を認識させたくない」レベルのプライバシー保護ができる。
.claudeignore の詳細な使い方については別記事で詳しく書いた。

MCPのスコープをread-onlyにする設定
mcp-obsidian(アプローチB)を使う場合、vault_write と vault_append を使わせたくないケースもある。「読むだけ許可、書くのは禁止」という設定だ。
mcp-obsidian 自体にread-onlyモードのオプションがある場合は環境変数で指定できる。ない場合は、CLAUDE.mdに明示的な指示を書いておく。
## MCPツールの使用制限
- obsidian: vault_read / search_vault / list_vault / get_active_note のみ使用可
- vault_write / vault_append は使用禁止(ノートの書き換えが必要な場合はユーザーに確認する)
Claude Codeはツールが「使えるかどうか」よりも「使っていいかどうか」を判断する際にCLAUDE.mdを参照する。明示的な禁止が効く。
Local REST APIプラグインのセキュリティ設定でも制御できる。APIキーをHTTPS通信のみ(Obsidian内部通信はHTTPだが、外部からのアクセスはHTTPS必須)にするか、ネットワーク設定でlocalhostのみに限定するかを確認しておくといい。
FAQ
Q: Obsidian SyncとClaude Codeは相性いい?
Obsidian Syncを使っている場合、Vault自体はローカルに存在する(Syncはクラウドへのバックアップ)。Claude Codeが操作するのはローカルのファイルシステムなので、Obsidian Syncとの干渉は基本的にない。
ただし、別デバイスで同じVaultを開いている状態でClaude Codeが大量のファイルを生成・編集すると、Sync衝突が起きる可能性がある。Claude Codeを使っている間は他デバイスでVaultを触らない習慣があると安心だ。
Q: 無料版Claude Codeで使える?
Claude CodeはAnthropicのAPI(または Claude.ai Proプラン以上)が必要だ。Obsidianとの連携自体に追加コストはかからないが、Claude Codeの利用コストは通常通り発生する。
Vault操作はAPIトークンを消費する。大量のノートを一括で読ませると1回の操作で数千〜数万トークンになる場合がある。.claudeignore で不要なファイルを除外することが、コスト管理の観点でも重要になる。
Q: iPhone/iPadのObsidianアプリからも使える?
iOSのObsidianアプリからは、Terminal プラグインもLocal REST APIプラグインも動作しない(iOSのサンドボックス制約)。Claude Codeのファイルシステム操作も、iOSのObsidianアプリを直接操作することはできない。
現実的な使い方は「Mac側でClaude Codeが作ったノートを、Obsidian SyncでiPhoneと同期して閲覧する」だ。Mac側で生成・編集→Syncで同期→iPhoneで閲覧、という分業になる。
Q: Notionと比べてどっちがClaude Codeと相性いい?
Obsidianの方が相性がいいと感じている。理由はシンプルで、Notionはデータがクラウドにあり、APIを叩く必要があるため、Claude CodeからのアクセスにはNotion MCPサーバーのセットアップが必要だ。
一方Obsidianはローカルのファイルシステムに直接アクセスできる。MCPなしでも Vault直下で claude を起動するだけで、すべてのノートを読み書きできる。「余分な設定なしにすぐ使える」という点でObsidianに軍配が上がる。
ただし「チームで共有するナレッジベース」としてはNotionが便利な場面も多い。個人の知識管理はObsidian、チーム共有はNotionという使い分けが現実的だ。
Q: 既存のVault(数百ノート)をCCで整理できる?
できるが、一度に全部やろうとするのは避けた方がいい。Claude Codeのコンテキストウィンドウには上限があるため、数百ノートを一括で読ませると処理が不安定になる。
現実的なアプローチは「フォルダ単位で整理する」だ。
> Research/ フォルダにある2025年以前のノートを全部読んで、
> タグが未設定のものに適切なタグを追加して。
> 変更内容のログを Research/reorganize-log-2026.md に書いておいて
こうやってフォルダを分割して少しずつ整理していく。一度に大量のノートを操作しようとすると、エラーになるか途中で処理が止まるかのどちらかになる経験が多い。
まとめ
Obsidian × Claude Codeの連携は、「ローカルファイルシステムに直接アクセスできる」という2つのツールの共通点を最大限に活かした組み合わせだ。
Terminal直接起動はセットアップが最も手軽で、既存のClaude Code環境をそのまま使える。MCP経由は設定に少し手間がかかるが、Claude Codeの会話の中で動的にVaultを参照・更新できる点が強い。
CLAUDE.mdでVaultのルールを明示的に書いておくことが、安全に使うための最重要ポイントだ。「ここは読まない」「ここは書かない」というルールをClaude Codeに伝えることで、誤操作のリスクを大幅に下げられる。
ワークフローを一度組んでしまえば、日常のメモが自動的に記事下書きや技術ドキュメントになっていく。Vaultに書くことに価値が生まれ、メモの質が上がっていく。
関連記事



