メインコンテンツへスキップ

Obsidian と Claude の MCP 連携

概要 #

Obsidian アプリのノート(Markdown) と Claude Desktop アプリ, Claude Code を連携させ、相互に参照や書き込みができるように手順を紹介する。

背景 #

2026年4月頃、10年以上愛用してきたオンラインメモアプリ: Evernote を Obsidian に乗り換えた。Evernote 部門の買収以降、度重なるプランの強制値上げ (2022年:年額 3,100円 → 2026年:年額 17,899円) に耐えられず、移行に踏み切った形である。Claude に手伝ってもらいながら、1000件近くのノートの移行を進め、無事 Evernote 強制値上げ前に引っ越しが完了した。

Obsidian への移行に伴って、自分のメモテキストが Markdown 形式にコンバートされた。Markdown といえば、この yamk blog の Hugo の記事でも書いているし、最近の AI プロンプトや出力も、GitHub の標準ドキュメントも Markdown 形式である。

一方で、私が最近使い始めた [A] Claude Desktop (アプリ) と [B] Claude Code (ターミナル上で使用) は チャット履歴を直接共有できない という制限がある。成果物を共有するためには、一旦 [A] で Markdown (.md) ファイルに出力させ、[B] に .md ファイルを喰わせるワンクッションが必要だった。

この記事の手順により、知識データベースとして Obsidian (Markdown) ノートを中心に置き、Claude Desktop や Claude Code から直接読み書きさせることができる。言い換えると、 いままでデスクトップやフォルダに散らかっていた .md ファイルが綺麗に片付く わけである。

構成 #

Obsidian and Claude MCP architecture diagram

この記事では以下の構成を前提とする。

サービス用途契約プランなど
ObsidianWindows PC 複数台 + スマートフォンで利用。Obsidian Sync (端末間を同期)
Claude Desktop (アプリ)主に PC で利用。一般的な調査や解決方法を検索。スマホで参照することもあるClaude Pro プラン
Claude CodeWindows PC や Linux サーバのターミナル上で利用。コードやファイルの実装など。Claude Pro プラン

Obsidian プラグインの設定 #

Local REST API with MCP プラグインが Vault への HTTP アクセスを提供し、Claude が MCP 経由でノートを読み書きできるようになる。

プラグインのインストール #

  1. ⚙設定コミュニティプラグイン[コミュニティプラグインを有効化]
コミュニティプラグインを有効化
  1. [閲覧] でプラグインの検索に入る
コミュニティプラグイン の閲覧
  1. 検索欄に Local REST API と入力し、Local REST API with MCP を選択
Local REST API with MCPの検索
  1. プラグインを [インストール]
プラグイン インストール
  1. 有効化する
プラグイン 有効化

プラグインの設定 #

  1. ⚙設定Local REST API を開き、Enable non-encrypted (HTTP) server をオンにする
Enable non-encrypted (HTTP) server
  1. API key “Bearer XXXXXXX” をコピーしておく(後の手順で使用)
API key のコピー
  • HTTPS はポート 27124 だが、自己署名証明書のため Claude からの接続で証明書エラーが出る。本記事では HTTP (27123) の URL を使用する

Claude Code への接続設定 #

Claude Code は HTTP MCP をネイティブサポートしているため、下記コマンドで接続できる。

claude mcp add --transport http obsidian http://127.0.0.1:27123/mcp/ --header "Authorization: Bearer <your-api-key>"

接続を確認する。obsidian が “✓ Connected” になっていれば OK。

$ claude mcp list↵
claude.ai Google Drive: https://drivemcp.googleapis.com/mcp/v1 - ! Needs authentication
obsidian: http://127.0.0.1:27123/mcp/ (HTTP) - ✓ Connected

もし、API key が違う等で再設定する場合は、MCP 設定を remove してから、再度 add すること。

$ claude mcp remove obsidian↵
Removed MCP server "obsidian" from local config

Claude Desktop への接続設定 #

Claude Desktop の MCP 接続にはブリッジが必要 #

Claude Desktop は 2026年6月時点で HTTP MCP を直接サポートしていない。代わりに mcp-remote というブリッジツールを使い、HTTP エンドポイントを Claude Desktop が扱える stdio 形式に変換する。mcp-remotenpx (Node Package eXecute) 経由で実行するため、Node.js の別途インストールが必要になる。

Claude Desktop ──stdio──> mcp-remote (npx) ──HTTP──> Obsidian :27123

Node.js のインストール(パスに注意) #

Claude Desktop は MCP サーバーを cmd.exe /C で起動する。パスにスペースが含まれると起動コマンドが途中で切れて失敗するため、インストール先は必ずスペースのないパスを選ぶ。 Node.js のインストール先フォルダを C:\opt\nodejs にして再インストールして回避している。

インストールパス結果
NGC:\Program Files\nodejs'C:\Program' は認識されていません エラー
OKC:\opt\nodejs正常起動

設定ファイルの編集 #

%APPDATA%\Claude\claude_desktop_config.json という記述をよく見かけるが、2026年6月現在の Windows 版 Claude Desktop では実際のパスが異なる。必ず以下の手順で設定画面から開く。

  1. [≡]ファイル設定‥‥
  2. サイドメニュー:開発者 を選択
  3. [設定を編集] をクリック
Claude Desktop 開発者タブ(設定を編集ボタン)

手元のバージョンでは、このようなパスがファイルマネージャーで開かれた。

C:\Users\user\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json

VScode 等の JSON が編集しやすいエディタで開き、“mcpServers” セクションを (JSON の文法に沿って) 追記する。

{
  "mcpServers": {
    "obsidian": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "http://127.0.0.1:27123/mcp/",
        "--header",
        "Authorization: Bearer <your-api-key>"
      ]
    }
  }
}

<your-api-key> には、先ほど Obsidian でコピーした API key を貼り付ける。

Claude Desktop を完全に終了して再起動すると設定が反映される。

⚠️ Obsidian を先に起動しておくこと
Claude Desktop の起動時に Obsidian が立ち上がっていないと、MCP 接続に失敗してエラーが表示される。Claude Desktop を使う前に Obsidian を起動しておく習慣をつけておくとよい。

リモート Linux ホストからの接続(SSH リバースポートフォワーディング) #

VS Code Remote SSH で Linux ホストに接続している環境から、ローカルの Obsidian MCP に接続する方法。

前提 #

  • PC[A](Windows): Obsidian + Local REST API プラグイン起動中
  • Linux[B]: Claude Code を実行する環境
  • PC[A] から VS Code Remote SSH で Linux[B] に接続済み

仕組み #

SSH のリバースポートフォワーディングを使い、Linux[B] の localhost:27123 へのアクセスを PC[A] の Obsidian にトンネルする。

PC[A] Obsidian :27123  <──SSH tunnel──  Linux[B] :27123  <──  Claude Code

.ssh/config への設定 #

PC[A] の %USERPROFILE%\.ssh\configRemoteForward を追記する。localhost ではなく 127.0.0.1 を明示することlocalhost と書くとシステムによっては IPv6 の ::1 に解決され、Obsidian のバインドアドレス(127.0.0.1)と噛み合わずに接続が失敗する。

Host <your-host>
  HostName <Linux[B]のホスト名またはIP>
  IdentityFile ~/.ssh/id_ed25519
  User <ユーザー名>
  RemoteForward 127.0.0.1:27123 127.0.0.1:27123

VS Code でそのホストに接続するだけでトンネルが自動的に確立される。

Linux[B] 側での MCP 登録 #

claude mcp add --transport http obsidian http://127.0.0.1:27123/mcp/ \
  --header "Authorization: Bearer <your-api-key>"

REST API の疎通確認(任意):

curl http://127.0.0.1:27123/vault/ \
  -H "Authorization: Bearer <your-api-key>"
# 200 OK で Vault のファイル一覧が返れば成功

より便利にする #

Obsidian — 共有用フォルダを作成しておく #

私は、Claude とのセッション専用の ClaudeSessions というフォルダを作成している。Claude Desktop / Claude Code が読み書きするのは基本的にこのフォルダ以下とする。

[Vault]
  |-- ClaudeSessions  ← 新規作成
  |-- MyNotes  ←既存のフォルダ

Obsidian — セッション保存テンプレートの設定 #

Claude との会話内容を Obsidian に保存する際、ノートの構造を統一するためのテンプレートを用意しておく。ClaudeSessions/_template.md として作成しておくと、Claude が新規ノートを保存するときにこのテンプレートを参照して frontmatter を自動生成する。

以下は手順書・作業記録向けのサンプルである。自分のユースケースに合わせてカスタマイズすること。

---
title: {{タイトル}}
session_started: {{YYYY-MM-DD}}
saved_at: {{YYYY-MM-DDThh:mm:ss+09:00}}
tags:
  - claude-session
  - {{タグ}}
---

# {{タイトル}}

## 概要

{{概要}}

---

## 手順 / 内容

{{本文}}

---

## トラブルシューティング

| 症状 | 原因 | 対処 |
|------|------|------|
| | | |

## 残または次の課題

{{課題があれば記載}}

## 次回への引き継ぎ(任意)

{{引き継ぎ事項があれば記載。なければこのセクションごと削除する。}}

Claude に「このセッションを Obsidian に保存して」と指示すると、以下の順で動作する。

  1. 保存先パス・frontmatter・本文を提示してレビューを求める
  2. ユーザーが OK を出したら vault_write を実行
  3. 完了を報告

Claude Code — /note カスタムコマンド #

複数のプロジェクトで Obsidian 連携を使いたい場合、~/.claude/CLAUDE.md(ユーザースコープ)に前提を記述しておくと、毎回 MCP の説明をしなくて済む。

## Obsidian 連携

Obsidian MCP が利用可能。Obsidian のノートを参照するよう指示された場合は
`mcp__obsidian__vault_read` ツールを使う。

- ノートは `ClaudeSessions/` 以下に格納されている
- テンプレートは `ClaudeSessions/_template.md`
- ノートを新規作成する場合は `mcp__obsidian__vault_write` を使い、テンプレートの
  frontmatter 形式 (title / session_started / saved_at / tags) に従う
- `/note <ファイル名>` コマンドで ClaudeSessions/ 以下のノートを素早く参照できる

さらに ~/.claude/commands/note.md を作成すると、/note <ファイル名> というカスタムコマンドでノートを素早く参照できるようになる。

mkdir -p ~/.claude/commands

~/.claude/commands/note.md の内容:

Obsidian の ClaudeSessions/ フォルダから、指定されたノートを読み込んでコンテキストとして使用する。

手順:
1. `mcp__obsidian__vault_read``ClaudeSessions/$ARGUMENTS.md` を読む
2. 内容を要約してユーザーに提示する
3. 「このノートをコンテキストとして使います」と宣言し、以降の作業に活用する

Claude Code へのプロンプトの例:

/note HOWTO-USE-OBSIDIAN を参照して、3行で要約してください。

Claude Desktop — カスタム指示の設定 #

Claude Desktop にも同様の前提指示を設定できる。Claude Code の ~/.claude/CLAUDE.md に相当する機能である。

  1. [≡]ファイル設定…
  2. サイドメニュー → 「一般」 を選択
  3. 「プロフィール」 セクション内の 「Claudeへの指示」 欄に入力(自動保存)
Claude Desktop「Claudeへの指示」欄

トラブルシューティング #

環境症状原因対処
SSH トンネル (Linux[B])27123 ポートが LISTEN されないVS Code Remote SSH 未接続またはトンネル未確立VS Code Remote SSH で対象ホストに接続し直す
Claude Desktop (Windows)ログにエラー 'C:\Program' は認識されていませんNode.js パスにスペースNode.js をスペースなしパスに再インストール