ObsidianFetch について
ObsidianFetchは、Obsidian vaultを扱うLLM向けのMCPサーバーです。ノートの一覧と読み込みに機能を絞り、リンク検索を整え、読み込み時にバックリンクも表示します。
主な機能
- 01名前やフォルダー名でノートを検索
- 02名前を指定してノートを読み込み
- 03同名ノートの一致分をすべて返す
- 04二重角括弧のリンク検索を正規化
- 05ノートとともにバックリンクを表示
活用シーン
- 01部分的な名前でvault内のノートを検索
- 02事前のパス検索なしで指定ノートを読み込み
- 03開いたノートとつながるノートを確認
MCP 対応
MCPクライアントに`list`と`read`ツールを提供します。stdioまたはStreamable HTTPで動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ObsidianFetch
言語:日本語
Obsidian の保管庫から情報を取得して提示することに特化した MCP サーバーです。
既存の MCP サーバーには、次のような欠点があります。
- 多くのコマンドに対応しているため、計算リソースが限られている場合、プロンプトの読み込みが遅くなることがあります。
- 「Sample Note」という名前のノートを読むには、読み込む前にそのパスを検索する必要がありますが、LLM がこの手順に従わないことがあります。
- 一部のツールには不要なオプションが含まれているため、LLM が正しく呼び出せないことがあります。
ローカル GPU で LLM を実行する場合、これらの問題が特に顕著になります。
この問題に対処するため、ノートの一覧を取得して読み込むだけのシンプルな新しい MCP サーバーを開発しました。
新しいサーバーには、次の追加機能もあります。
- LLM が
[[link name]]のように角括弧を使ってリンク情報を検索しようとすると、サーバーがリンクに使用できない文字を自動的に削除します。 - ノートの内容を読み込むだけでなく、バックリンク(現在開いているノートへのリンクを含むノート)も表示します。
- これにより、LLM はバックリンクを通じて、関連するノート間のつながりを読み込んで理解できます。
インストール
gem install obsidian_fetch
使い方
Stdio トランスポート(デフォルト)
obsidian_fetch /path/to/your/vault
Streamable HTTP トランスポート
サーバーを HTTP サーバーとして実行するには、次のようにします。
obsidian_fetch /path/to/your/vault --transport streamable-http
デフォルトでは、サーバーは http://localhost:9292 でリッスンします。ポートは次のように変更できます。
obsidian_fetch /path/to/your/vault --transport streamable-http --port 3000
ツール
- read:Obsidian の保管庫からノートを読み込みます。同じ名前のノートが複数見つかった場合は、すべて表示します。
- list:名前またはフォルダー名の一部が一致するノートを検索します。デフォルトでは 20 件のノートを返します。
limit引数には 1 から 200 までの整数を指定でき、レスポンスには一致したノートの総数が示されます。
貢献
バグ報告やプルリクエストは、GitHub(https://github.com/soukouki/obsidian_fetch)で歓迎しています。
ライセンス
この gem は、MIT License の条件に基づくオープンソースとして公開されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。