⚡ 社内ナレッジ拡張マニュアル

Obsidian × Claude Desktop 完全連携ガイド
ローカルメモをAIの「第2の脳」にする構築&運用手順

基本機能は完全無料のMarkdownノートアプリ「Obsidian」と「Claude Desktop」をMCPで接続。初期構築からAIの構造的限界を踏まえたハートビート付き4行プロンプトまでを徹底解説した社内決定版ガイドです。

1. そもそもObsidian(オブシディアン)とは?

Obsidian(オブシディアン)は、自分のPC内にデータを安全に保管しながら、メモ同士を網の目のようにリンクして管理できる**高機能なMarkdown(マークダウン)対応ノートアプリ**です。

個人利用・商用利用を問わず**アプリ自体は完全無料**で利用でき、近年「個人のナレッジ管理(PKM)」や「思考の整理ツール(第二の脳)」として世界中で急速に普及しています。

📂

データの「完全所有権」

メモはすべて標準のテキストファイル(.md)としてローカルPCに保存されます。特定サービスの終了や有料化でデータが人質に取られるリスクがゼロです。

🔗

双方向リンクでつながる思考

[[ノート名]] と書くだけでノート同士を関連付けられます。過去の思考や会議の文脈が勝手につながるアイデアデータベースを構築できます。

爆速&オフライン動作

クラウドへ常にアクセスする一般的なWebツールと異なり、手元のファイルを直接開くため動作が極めて高速で、オフライン環境でも完結して使えます。

2. なぜいまMCP連携なのか?(Web記憶機能との違い)

Claude Proの「Projects」やChatGPTの記憶機能など、Webブラウザ上でもAIにファイルを読み込ませる機能は存在します。しかし、クラウド上の記憶機能と今回の「Obsidian × MCP(ローカル直結)」では、実務上の運用において決定的な違いがあります。

比較項目 Web版AI(Projects等) Obsidian × MCP連携(本構成)
ノートの作成・直接編集 不可(画面上でコピペが必要) 全自動可能(AIがローカルの.mdを直接生成・上書き)
データ更新の反映 再アップロードの手間が発生 リアルタイム反映(手元で書き換えたメモを即参照)
データ管理・セキュリティ クラウド側へファイルを保管 100%ローカル完結(自社PC内のみに保管され安全)

単に「過去のメモをAIに読ませる」だけでなく、「AIと会話して得たアイデアや議事録を、手元のObsidian(MyVault)へ直接Markdownノートとして書き出させる」という双方向の自動化こそが、MCP連携の真価です。

3. システム構成と事前準備

本構成は、外部のクラウドAPIを経由せず、あなたのPC内部でMCPサーバーを立ち上げて通信します。

  • Obsidian:メインの保管庫(例: MyVault フォルダ)が作成されていること。
  • Claude Desktop アプリ:公式WebサイトからPC版アプリがインストールされていること(※Webブラウザ版では動作しません)。
  • Node.js(npx):MCPサーバーを実行するための環境。未インストールの場合は nodejs.org より LTS版 をダウンロードしてインストールしてください。
4. 完全ステップバイステップ構築ガイド(全4ステップ)
STEP 1

npx コマンドの絶対パスを確認する

GUIアプリであるClaude Desktopが、PC内のNode.js環境を見失わないよう、npx の絶対パスを調べます。

Mac ターミナル アプリを開き、以下を実行します。

Terminal (Mac)
which npx

出力例: /opt/homebrew/bin/npx または /usr/local/bin/npx

Windows コマンドプロンプト を開き、以下を実行します。

Command Prompt (Windows)
where npx

出力例: C:\Program Files\nodejs\npx.cmd

STEP 2

claude_desktop_config.json を設定する

1. Claude Desktopを開き、左上メニューから Settings… > Developer を開きます。
2. 「Edit Config」 ボタンをクリックすると設定ファイル(JSON)が開きます。
3. 内容をご自身の環境(MyVault のパス)に合わせて書き換えて保存します。

Mac 用設定コード

claude_desktop_config.json (Mac)
{
  "mcpServers": {
    "obsidian": {
      "command": "/opt/homebrew/bin/npx", // Step 1で調べたnpxの絶対パス
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/ユーザー名/Documents/Obsidian/MyVault" // MyVaultの絶対パス
      ]
    }
  }
}

Windows 用設定コード ※パスの区切り文字 \\\ と2重にします。

claude_desktop_config.json (Windows)
{
  "mcpServers": {
    "obsidian": {
      "command": "C:\\Program Files\\nodejs\\npx.cmd", // Step 1で調べたnpxのパス
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\ユーザー名\\Documents\\Obsidian\\MyVault" // MyVaultの絶対パス
      ]
    }
  }
}
STEP 3

Claude Desktop を完全再起動する

設定を反映させるため、アプリをバックグラウンドを含めて完全終了させてから再起動します。

  • Mac: キーボードの Cmd + Q を押して完全終了させてから再起動。
  • Windows: タスクバー右下のアイコンエリアからClaudeを右クリックして「Quit」を選択後に再起動。

再起動後、Settings > Developer を開き、obsidian の横に Running と青文字で表示されていれば接続成功です!

STEP 4

動作テストを行う

新規チャット画面で、以下のメッセージを送信してテストします。

🧪 動作テストプロンプト
1. 「Obsidianフォルダ内(MyVault)にあるファイル一覧を教えて」
2. 「Obsidian内に『テストノート.md』を作成して『接続成功』と書き込んで」

※初回実行時は画面上に「obsidian ツールへのアクセスを許可しますか?」と出ますので「Allow(許可)」を選択してください。

5. トラブルシューティング(社内でよくハマるポイント)
🚨 Developer画面で「Running」にならずエラーが出る場合

1. `command` に `”npx”` とだけ書いている:
Macなどのデスクトップアプリは環境変数を引き継がないため、`npx` のみだとコマンドを見つけられず失敗します。必ず Step 1 で調べた `/opt/homebrew/bin/npx` などの**絶対パス**を記述してください。

2. JSON構文エラー(カンマ・カッコの不足):
項目と項目の間のカンマ(`,`)が抜けていたり、末尾に余計なカンマがあると読み込みエラーになります。VS Codeなどのエディタで構文をチェックしてください。

3. Windowsでのパス区切りミス:
Windowsのパス `C:\Users\…` は、JSON内ではエスケープして `C:\\Users\\…` とバックスラッシュ(または円マーク)を2重に書く必要があります。

6. 実務の壁:なぜ設定後も「チャットごとに指示」が必要なのか?

MCPの設定を完了した社内メンバーから最もよく上がる疑問が、「MCPを設定したのに、なぜ新しいチャットを開くたびに指示を出さないといけないのか?全自動にならないのか?」という点です。

結論から言うと、これは設定の不備ではなく、**AIツールの構造(アーキテクチャ)そのものに起因する3つの壁**が存在するためです。

1️⃣

チャット間での記憶非共有

各チャットは完全に独立しています。「MCPサーバーのパス」という手順(HOW)は全体共有されても、「この会話を保存する」という意思(WHAT)は新しいチャットへ引き継げません。

2️⃣

AIは「チャット名」を知らない

画面左に表示されるチャット名はUI上の表記であり、AI側へは送られていません。そのため人間側が「チャット名(ノート名)」を指定してあげる必要があります。

3️⃣

アクセス権限のセッション単位リセット

ローカルファイルへの読み書き権限はセキュリティ上、チャット(セッション)が変わるたびにリセットされる仕様になっています。

7. 解決策:会話ログを自動更新させる「魔法の4行プロンプト」

上記の構造的限界を踏まえ、重要なチャットを始める際は**冒頭で以下の4行プロンプトをコピペして貼り付ける**のが最も確実で効率的な解となります。

📋 新規チャット開始時に貼り付ける4行プロンプト ※コピペしてそのまま使用
このチャットのログをObsidianに残して。チャット名は「XXXX」。 1. まず、このチャットの最初から今までを全部保存 2. 以降は、返答するたびに同じノートを最新の内容に更新(新しいファイルは作らない) 3. 古い部分で思い出せない箇所は、埋めずにその旨をノートに明記 4. 更新したターンは、返答の最後に「📝 ログ更新済み」の1行を入れて
💡 なぜこの4行が必要なのか?(裏ロジックの深掘り解説)
1行目:「最初から今までを全部保存」— 過去分コンテキストの回収

会話の途中で保存指示を出した場合、それまでの議論が丸ごと抜け落ちます。AIはそのチャット内に存在する履歴しか参照できないため、指示を出した時点までの全やり取りをまず回収させます。

2行目:「返答するたびに同じノートを更新」— 「会話の終わり」が存在しないため

AIはユーザーが発言した瞬間しか動作できません。「タブを閉じた」「作業を終えた」という**「会話の終わりイベント」をAIは検知できない**ため、「会話が終わったら保存」は原理的に作れません。そのため「毎ターンその時点までの内容を上書き更新する」設計にします。(「新しいファイルを作らない」を入れないと、毎ターン別ファイルが増え続けるため必須です)。

3行目:「思い出せない箇所は明記」— 隠れたハルシネーションの防止

会話が長くなるとコンテキスト容量の上限により古い記憶が圧縮されます。この時AIは「忘れた」と言わずに適当に嘘で埋めてしまう癖があるため、「思い出せない部分は空欄または警告として明記せよ」と指定し、ログの客観的な信頼性を担保します。

4行目:「📝 ログ更新済み」— 静かな停止を検知するハートビート(生存信号)

ここが運用上最も重要なポイントです。 長時間のやり取りでコンテキストが圧縮されると、冒頭に出した「ログ保存の指示」自体をAIが忘れてしまい、**エラーも出ずに静かにログ更新が止まる**現象が発生します。「📝 ログ更新済み」を毎ターンの末尾に出力させることで、サーバー監視の「ハートビート(生存信号)」として機能させます。この絵文字が出なくなったら指示が途切れた合図です。


Recruit

ディーメイクでは各ポジションで一緒に働く仲間を募集中! エンジニア、デザイナー、ディレクターなど、多彩な職種があります。
一緒に成長していきましょう!

  • URLをコピーしました!

コメント

コメントする