考察とは名ばかりで感想?

最近は主にゲーム(戦略系)と資産運用(FXで食ってくぞ!)

AIでObsidianを便利に! 3つの連携ツール”MCP”を徹底比較

メモ帳ソフトのObsidianを便利に使ってるわけですが、書いたメモを利用するにあたってAIでもっと良い感じにしたいと思ったんですよね(あやふや*1)。んでAI連携といえばMCP。Obsidian連携のMCPも勿論あるんですが、調べてみたら何と3つもある!! 一体どれを使ったら良いんだよ~ ということで、詳しく調べたのでこの記事にてご紹介します

背景の解説

そもそもMCPとは

Model Context Protocolの略で、AIが外部のツールやデータと対話するための規格である。MCPを通してAIは学習データに含まれないリアルタイムの情報にアクセスしたり、メッセージの送信やファイルの操作などの作業が可能になる

AIを使ったObsidianの活用

メモに書いた情報を引き出し、まとめるにはAIが有用

しかし、通常AIに付属するツールではせいぜい数個のファイルをコンテキストとして渡すか、はたまたフォルダ丸ごと読み込ませることになる。前者は広範囲の情報を集めることが出来ず、後者はデータの読み込みに時間が掛かる

そこでObsidianのためのMCPを利用することで、検索機能などを利用しより高度な連携が可能となる

Obsidian MCPの比較

各MCPの概要

  1. smithery-ai/mcp-obsidian
    • 言語・環境: JavaScript製。要Node.js
    • アクセス方法: 直接ファイルを読み取る
    • 機能:
      • 単一・複数ノートの読み取り
      • ノートをタイトルで検索(フォルダ名、内容は検索不可)
  2. MarkusPfundstein/mcp-obsidian
    • 言語・環境: Python製。要Python3.11以上
    • アクセス方法: Local REST API plugin を利用する
    • 機能:
      • 単一ノートの読み取り
      • 複数ノートの読み取り
      • ノート一覧の取得
      • 検索
      • ノートへの書き込み
      • ノートの削除
  3. jacksteamdev/obsidian-mcp-tools
    • 言語・環境: 実行可能バイナリ。Obsidianプラグインとしてインストールされる
    • アクセス方法: Local REST API plugin を利用する
    • 機能:
      • ノートの読み取り
      • セマンティック検索(他のプラグイン*2を利用)
      • テンプレートの利用

使用例と所感

smithery-ai/mcp-obsidian

まずは一番シンプルなこちらのMCPを使ってみました。JavaScriptの実行環境であるNode.jsは元々インストールしてあったので、後はこのMCPをインストールするだけ。僕みたいなGemini CLIユーザーはインストールに次のコマンドを使います

npx -y @smithery/cli install mcp-obsidian --client gemini-cli

公式のReadMeなどはClaude Codeを使う前提で書かれてるので、少々手間取りました。↓のコマンドでsmithery MCPが対応してるクライアントのリストを表示できるので、claudeの代わりにgemini-cliと書けば良いと分かったわけです

npx @smithery/cli list clients

(しれっとObsidianでターミナルを開くプラグインを使っていますが、それについてはまた後ほど書くことになるでしょう)

インストールが終わってからGemini CLIを起動し、/mcp listのコマンドで導入済みMCPのリストを表示すると、ちゃんとインストールされていることが分かります

続いて/mcp descのコマンドでMCPのツールを表示しました(2つしかないのほんとシンプルだな…)。ともあれ、実際にMCPをAIに使わせてみましょう。まずは「ゲーム攻略に関するノートを探して」と指示して、検索ツールを使用させます

AIがMCPツールの使用許可を求めてくるので許可。タイトルに「攻略」が含まれるノートが検索され、そこからAIがゲームに関するノートに絞り込みました(ほんとにタイトルだけを検索してるんだな…)

続いてノートの内容を読み取らせてみましょう。「マイクラのノートを読んで次にやることを説明して」

というわけで、検索して出てきたノートから適切なものを選んで読み込み、それを踏まえた回答が出来上がりました。無事に使用できたわけですが、検索機能は貧弱だし読むだけでノートを編集する機能は無し。流石にもうちょっと多機能なやつが良いですね

MarkusPfundstein/mcp-obsidian

さて、お次のMCPは確かに多機能ですが、Obsidianにアクセスするのに”Local REST API”というプラグインを介して行うので、先にそれをインストールする必要があったり、AIのMCP設定ファイルを編集する必要があったりと、少々導入が面倒です。その辺りの解説はこの記事の主眼ではないので、詳しく説明されてるページを貼ってそちらに丸投げします

note.com

lab.nounai-librarian.com

ともあれ無事インストールできました

しっかしツールがいっぱいあって確かに多機能ですね

先ほどと同じ指示を試してみましょう

おお、ちゃんとノートの中身を検索して一致度を調べてるっぽい。でも2バイト文字が文字参照の数字になってるから何の文章なのかさっぱりだぜ!(英語とかならまともな表示になるんだろうけれども)

ともあれ、無事検索できたらしく調べた結果が出てきた。確かに中身も検索しているようで、タイトルだけ検索したさっきよりも増えてる。それでは続きをこれまたさっきと同様にやりましょう

関連するノート2つの内容を一度に読み込んでいるようです

無事回答が出てきました。とはいえ、複数ノートを読み込んで回答するのはさっきのMCPでもできます。それじゃあそっちには出来なそうなことをやらせましょう。次の質問は「日記」というフォルダ名が分からないと答えられないものです

ちゃんと正解しましたね。続いてはノートの中身を検索しないと分からない質問です

素晴らしい! これなら色々活用できそうですね! これでもう十分なので3つ目のMCPは試してません。こっちの方が多機能なのはReadMe読んだ時点で分かるので

(参考)MCP以外のツール

ObsidianをAIと連携させるツールはMCPの他にもある。次のプラグイン2つが代表例だろう

Copilot for Obsidian

一番メジャーなやつ。ObsidianにAIチャットを導入し、ノートを情報源に質問に答えたり、ノートを編集させたりできる

Smart Connections

ノートの関係性をAIが分析し、開いてるのと関連するノートを提示したり、検索ワードと関連するノートを表示したりできる。AIチャットの機能もある。(なお、自分は何でもかんでも日記に書く使い方をしているので、ノート単位で分析するこのプラグインの効果は微妙にすぎた)

まとめ

  • Obsidianのメモを活用する手段として、MCPを介したAIの利用が有用
  • Obsidianと連携するMCPには次の3つがある
    • smithery-ai/mcp-obsidian:導入が手軽だが、機能はタイトル検索など最小限
    • MarkusPfundstein/mcp-obsidian:導入に一手間必要だが、多機能で本文検索やノート編集も可能
    • jacksteamdev/obsidian-mcp-tools:プラグイン形式で導入でき、セマンティック検索にも対応
  • 筆者としては2番目が多機能でお勧め
  • MCP以外にもAI連携の手段としてCopilot for Obsidianのようなプラグインが選択肢となる

*1:ちゃんと詳しいことは後述します

*2:後ろの方で触れてるSmart Connections