ObsidianとClaude Desktop・Claude Code・Antigravityを連携させる

最近、Obsidianのノートに対してClaude Desktop、VS CodeのClaude Code、そしてGoogleのAntigravityから直接アクセスできる環境を構築しましたのでメモしておきます。これまではObsidian はObsidianで、他の医学文献やナレッジベースの検索には他のツールを使っていましたが、Obsidianのノート自体をLLMで読み書きできるようになると、知識管理のワークフローが大きく変わってくるかもしれません。今回はその実装過程と、複数のクライアントから同一のObsidian Vaultにアクセスする仕組みについて記録しておきたいと思います。
実装の背景
Obsidianは個人的な医学ノートやプロジェクト管理のメインツールになる可能性を秘めています。診療ガイドライン、文献メモ、学会参加記録など、多くの情報をここに蓄積することができます。一方でClaude Desktopは論文検索や情報整理にかなり便利なツールで、しかもMarkdown形式での文章出力が得意と言うこともあって、この2つが連携できればかなり便利になるだろうと考えていました。
調べてみると、Model Context Protocol(MCP)という仕組みを使えば、AIクライアントから外部データソースへの標準化されたアクセスが可能になるようです。2025年になって、この分野のツールはかなり充実してきました。特にObsidian向けのMCPサーバーがいくつか公開されており、それぞれ機能や特徴が異なっています。どれを選ぶべきか、まずは各ソリューションの違いを整理する必要がありました。
MCPソリューションの選択
Obsidian向けのMCPサーバーは主に4種類あります。最もシンプルなのはSmithery MCP-Obsidianで、1コマンドでインストールできますが、タイトル完全一致検索しかできない制限があります。MCP Tools for Obsidianはセマンティック検索とTemplater統合が魅力的ですが、複数のプラグイン(Local REST API、Smart Connections、Templater)に依存しており、セットアップが複雑です。REST API MCPはCRUD操作を完全にカバーしており、7種類のツール(list_files_in_vault、get_file_contents、search、patch_content、append_content、delete_fileなど)を提供します。ただし、これもLocal REST APIプラグインが必須で、手動設定が多くなっています。
今回選んだのはObsidian Claude Code MCPです。このプラグインはObsidian内部で動作し、WebSocketとHTTP/SSEの両方をサポートしています。つまり、Claude Code(WebSocket接続)とClaude Desktop・Antigravity(HTTP/SSE接続)の両方から同時にアクセスできるわけです。さらに重要なのは、現在アクティブなファイルを自動認識する機能がある点です。REST API MCPではファイル名を明示的に指定する必要がありますが、Claude Code MCPなら「今見ているノートを要約して」といった自然な指示が可能になります。これは実用上かなり大きな違いだと感じました。
機能面では、view(ファイル表示)、str_replace(文字列置換)、create(ファイル作成)、insert(コンテンツ挿入)、get_current_file(アクティブファイル取得)、get_workspace_files(ワークスペースファイル一覧)、obsidian_api(Obsidian内部API呼び出し)といったツールが使えます。IDE専用ツールとして、getDiagnostics(診断情報)、openDiff(差分表示)、close_tab(タブ管理)も利用可能です。特にopenDiffは、AIが提案した変更内容を確認するのに便利そうです。
インストールと設定
実装は思ったより素直でした。まずObsidianのプラグインディレクトリにリポジトリをクローンします。ぼくのObsidian Vaultは iCloud Drive 上にあるので、MacからもiPhoneからもアクセスできます。
git clone https://github.com/iansinnott/obsidian-claude-code-mcp.git cd obsidian-claude-code-mcp npm install npm run build
ビルドが完了すると、main.js、manifest.json、styles.cssが生成されます。manifest.jsonを確認すると、プラグインIDは"claude-code-mcp"で、バージョンは1.1.8でした。
次に、Obsidianの設定でプラグインを有効化します。community-plugins.jsonに"claude-code-mcp"を追加するだけです。
[ "terminal", "obsidian-shellcommands", "smart-connections", "claude-code-mcp" ]
これでObsidian側の準備は完了です。プラグインを有効化すると、MCPサーバーがポート22360で起動します。WebSocketとHTTP/SSEの両方のエンドポイントが利用可能になっており、複数のクライアントから同時接続できる仕組みです。
Claude Desktopの設定
Claude Desktopの設定ファイルは `~/Library/Application Support/Claude/claude_desktop_config.json` にあります。ここに新しいMCPサーバーの設定を追加しました。
{
"mcpServers": {
"obsidian-claude-code-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:22360/sse"
]
}
}
}
Claude DesktopはHTTP/SSE接続をネイティブにサポートしていないため、mcp-remoteというツールを使ってHTTP/SSEをstdioブリッジに変換しています。設定後、Claude Desktopを再起動すると、新規チャットの入力欄のツールアイコンにobsidian-claude-code-mcpのオンオフのトグルが表示されます。クリックすると、obsidian-claude-code-mcpサーバーから提供される各種ツールが確認できました。試しに「My Obsidian Vaultにどんなファイルがありますか?」と聞いてみると、ちゃんとファイル一覧を返してくれます。アクティブなノートに対しても「この見出しに説明を追加して」といった指示が可能です。
VS CodeとAntigravityからの接続
Claude Code(VS Codeの拡張機能)はWebSocketで直接接続するため、特別な設定ファイルは不要です。ターミナルでclaudeコマンドを実行し、/ideコマンドで「Obsidian」を選択すれば自動接続されます。WebSocketポート22360に直接つながるわけです。REST API MCPとは違い、コンテキスト認識機能があるので、「今見ているノート」という概念が使えます。これはClaude Code特有の利点でしょう。
Antigravityの設定もほぼ同じです。Antigravityエディタを開き、Agentセッションから「…」ドロップダウンを選択し、「MCP Servers」→「Manage MCP Servers」→「View raw config」と進みます。mcp_config.jsonに以下のように記述すればいいです。
{
"mcpServers": {
"obsidian-claude-code-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:22360/sse"
]
}
}
}
AntigravityもHTTP/SSE接続をサポートしているため、Claude Desktopと同じ設定が流用できます。保存後、Antigravityを再読み込みすればMCPサーバーが認識されるはずです。
実際の使用感
すべてのクライアントから接続できることを確認しました。Obsidianを起動していればMCPサーバーが自動的に稼働し、Claude Desktop、Claude Code、Antigravityのいずれからでもノートにアクセスできます。重要なのは、Obsidianが起動していないとMCPサーバーも動かないという点です。これは当たり前ですが、忘れやすいところです。
実用上の利点として、まず文献メモの整理が効率化されそうです。Claude Desktopで論文を検索しながら、そのままObsidianのノートに要約を追記できます。これまでは手動でコピー&ペーストしていた作業が、「この論文の要点を〇〇.mdに追記して」という指示だけで済みます。学会参加記録も、メモを渡せば自動的に構造化された記事に整形してくれます。
もう一つ面白いのは、複数のノートを横断した検索や分析ができる点です。「最近更新されたノートを教えて」「〇〇に関連するノートを探して」といった指示が自然に使えます。get_workspace_filesツールはVault全体の構造を把握できるので、関連ノートの発見が楽になりました。
REST API MCPとの比較
REST API MCPとの違いは、主にコンテキスト認識の有無です。REST API MCPではファイル名を明示的に指定する必要があります。「meeting-notes-2025.mdを要約して」という形です。一方、Claude Code MCPは現在アクティブなファイルを自動認識するので、「今見ているノートを要約して」で済みます。これは小さな違いに見えますが、実際に使うとかなり快適です。
また、REST API MCPはファイル削除(delete_file)やパッチ挿入(patch_content)など、より細かい制御が可能です。高度な自動化や完全なCRUD操作が必要な場合はREST API MCPの方が適しているかもしれません。ただし、Claude Code MCPでもcreate、insert、str_replaceがあるので、大抵の編集作業はカバーできます。
デュアルトランスポート対応という点も重要です。REST API MCPは単一のHTTP接続ですが、Claude Code MCPはWebSocketとHTTP/SSEの両方をサポートします。複数のAIツールを同時に使いたい場合、この柔軟性は大きなメリットになります。実際、ぼくはClaude DesktopとClaude Codeを併用しているので、この点は助かりました。
トラブルシューティング
接続できない場合は、いくつかのポイントを確認する必要があります。まずObsidianが起動しているかどうか。Obsidianが起動していないときはMCPサーバーも起動していないのでアクセスしようとしても反応しません。プラグインが有効化されているかも確認します。ポート22360が別のプロセスに使われていないかは `lsof -i :22360` で確認できます。Claude Desktopのログは `~/Library/Logs/Claude/` にあるので、エラーが出ている場合はここを見ればいいでしょう。
mcp-remoteがインストールされていない場合は、`npx -y mcp-remote` で自動インストールされます。ただし、初回起動時は少し時間がかかることがあります。Antigravityでうまく接続できない場合は、mcp_config.jsonの記述ミスが原因のことが多いです。JSON形式が正しいか、特にカンマやブレースの位置を確認します。
今後の展開
この環境が整ったことで、知識管理のワークフローはかなり変わりそうです。文献レビューや学会メモの整理が効率化されるのは言うまでもありません。それ以上に、ノート間の関連性を発見したり、過去の記録を振り返って新しい知見を得たりする作業が楽になります。AIが自動的にコンテキストを把握してくれるので、「このテーマに関連する過去のノートを探して比較してください」といった複雑な指示も可能です。
Obsidianプラグインとして動作することの利点は、今後さらに拡張できる余地がある点です。obsidian_apiツールはObsidianの内部APIを呼び出せるので、タグ操作やリンク管理なども自動化できるかもしれません。現時点では基本的なファイル操作だけですが、将来的にはより高度な機能が追加される可能性があります。
設定自体はそれほど難しくありませんでした。人間がやることは基本的にVS code上のClaude Codeに対して、GitHubからクローンしてビルドし、設定ファイルを編集するように命令するだけです。もちろんコーディングなどは一文字たりとも打つ必要はありません。複数のクライアントから同時接続できる仕組みも、一度理解すれば応用が効きます。Obsidianを中心とした知識管理環境にAIを統合したい場合、この方法は試してみる価値があると思います。
この記事に対するコメント
このページには、まだコメントはありません。
更新日:2025-11-26 閲覧数:677 views.