mcpField
O
Obsidian MCP Server

Obsidian MCP Server

ローカル
github.com/Minhao-Zhangメモリ・ナレッジ1410 週間前に更新

Obsidian MCP Server について

Obsidian MCP Serverは、ローカルでSSEベースのMCPサーバーを動かし、外部アプリから標準インターフェースでVaultを操作できるObsidianプラグインです。Markdownノートのベクトルインデックスによるセマンティック検索と、ファイル・フォルダー操作を備えています。

主な機能

  1. 01ローカルSSE MCPサーバーの実行
  2. 02Markdownノートのベクトル索引化
  3. 03ノートのセマンティック検索
  4. 04ファイルの読み書きと管理
  5. 05埋め込みモデルと索引設定
  6. 06パターンによるファイル除外

活用シーン

  1. 01Vault内の内容のセマンティック検索
  2. 02外部アプリからのノート閲覧・編集
  3. 03MCPクライアント経由のファイル作成・削除
  4. 04索引対象ノートの選択

MCP 対応

ObsidianプラグインがローカルSSE MCPサーバーを実行し、ノート検索、ファイル操作、フォルダー管理のツールをMCPクライアントに公開します。ポートと個別ツールはプラグイン設定で変更できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Obsidian MCP サーバー

英語 | 中文文档(机翻)

この Obsidian プラグインはローカル MCP(Model Context Protocol)サーバーを実行し、外部アプリケーション(AI アシスタント、スクリプト、その他のツールなど)が標準化されたインターフェースを通じて Obsidian の保管庫とやり取りできるようにします。

機能

  • ローカル MCP サーバー: 設定可能なポートで SSE ベースの MCP サーバーを実行します。
  • セマンティック検索のための保管庫のインデックス作成:
    • Markdown ノートの内容を Orama ベクトルデータベースにインデックス化します。
    • 設定可能な OpenAI 互換の埋め込みモデル(OpenAI、互換エンドポイント経由のローカル Ollama モデルなど)を使用して埋め込みを生成します。
    • テキストの分割パラメーター(サイズ、オーバーラップ、区切り文字)を設定できます。
    • .gitignore 構文を使用して、特定のファイルやパターンをインデックス作成の対象から除外できます。
  • Obsidian との統合:
    • コマンド: Obsidian のコマンドパレットから次の操作を実行できます。
      • MCP サーバーの起動/停止。
      • 保管庫全体のインデックスを再作成します(埋め込みプロバイダーによっては時間がかかり、費用が発生する可能性があります)。
      • ベクトルデータベースのインデックスを手動で保存します。
    • 設定タブ: 次の項目を設定する専用パネルを利用できます。
      • サーバーのポートと自動起動の動作。
      • 埋め込みプロバイダーの詳細(API エンドポイント、モデル名、API キー)。
      • インデックス作成時のファイル除外パターン。
      • 分割パラメーター。
      • 埋め込みプロバイダーへの接続確認。
    • リボンアイコン: MCP サーバーの実行中/停止中を示すステータスアイコンを Obsidian のリボンに追加します。
    • 国際化: Obsidian の言語設定に基づき、英語と中国語のインターフェースに対応します。

MCP ツール

  • simple_vector_search:ベクトル埋め込みを使用してノートをセマンティック検索します。
  • count_entries:Orama データベース内のインデックス化されたノートとチャンクの数を数えます。
  • list_files:指定したディレクトリ内のファイルとフォルダーを一覧表示します。
  • read_file:特定のファイルの内容を読み取ります。
  • create_file:新しいファイルを作成します。
  • edit_file:既存のファイル内の特定範囲の行を編集します。
  • delete_file:ファイルを削除します。
  • create_folder:フォルダーを作成します。
  • delete_folder:フォルダーを削除します。

TODO

  • 多言語対応(英語、中国語)
  • 基本的なファイル/フォルダー操作ツール(作成、読み取り、編集、削除)を提供
  • Obsidian テンプレートに基づいてノートを生成するツールを追加
  • メタデータ(frontmatter)によるフィルタリングを伴う検索を実装
  • 新しいノートや編集内容のライブ追跡と更新を実装

設定

Obsidian 内でプラグインの設定を開き、次の項目を設定します。

  1. サーバー設定: ポート番号と、Obsidian の起動時にサーバーを自動起動するかどうかを設定します。
  2. 埋め込みモデル: 選択した OpenAI 互換の埋め込みプロバイダーの URL、モデル名、API キーを入力します。用意されているボタンを使用して接続を確認できます。
  3. ベクトルストア:
    • インデックス作成から特定のファイルやフォルダーを除外するファイルパターン(.gitignore 形式)を定義します。保管庫の .gitignore ファイルからパターンを直接コピーできます。
    • 必要に応じて分割パラメーター(サイズ、オーバーラップ、区切り文字)を調整します。ただし、通常はデフォルト値で問題ありません。
  4. MCP ツール: 設定の切り替えボタンを使って、サーバーが提供する各ツール(read_file、create_folder など)を個別に有効化または無効化できます。変更を反映するには(設定内のボタンを使用して)サーバーを再起動する必要があります。

使用方法

  1. 設定: Obsidian の設定パネルでプラグインを設定します。特に埋め込みモデルの詳細を設定してください。
  2. Vault のインデックス作成: Obsidian のコマンドパレットから「Re-index Vault (MCP Server)」コマンドを実行します。simple_vector_search ツールを機能させるために必要です。インデックス作成が完了するまで待ってください(通知が表示されます)。
  3. サーバーの起動: MCP サーバーが実行中であることを確認します。設定で「Auto Start MCP」を有効にするか、「Start MCP Server」コマンドを使用してください。
  4. 外部ツールへの接続: MCP クライアント(MCP を使用するように設定した AI アシスタントなど)を、設定に表示されるサーバーエンドポイント(例:http://localhost:8080/sse)に接続します。
  5. ツールの利用: 接続したクライアントから、利用可能な MCP ツール(simple_vector_search、list_files、read_file など)を使用して Obsidian の Vault を操作します。
  6. お好みの MCP 対応クライアントで、MCP を SSE モードに設定し、エンドポイントを http://localhost:8080/sse(または設定したポート)に指定します。これで、このプラグインが公開するツールを使用できます。
  7. サーバーの停止: 使用しないときは、「Stop MCP Server」コマンドを使用してサーバーを停止します。

開発

このプロジェクトでは TypeScript を使用しています。Node.js と npm がインストールされていることを確認してください。

  1. リポジトリをクローンします。
  2. npm install を実行して依存関係をインストールします。
  3. npm run dev を実行してプラグインをコンパイルし、変更を監視します。
  4. main.js、manifest.json、styles.css ファイルを、Obsidian Vault の .obsidian/plugins/mcp-server/ ディレクトリにコピーします。
  5. Obsidian を再読み込みし、プラグインを有効にします。

ステータスと制限事項

開発中のプロジェクトです。機能しており日常的に使用されていますが、まだ不安定な部分があることをご了承ください。

セキュリティ対策は未検証として扱ってください。サーバーはローカルポート経由で Vault への読み取りおよび書き込みアクセスを公開するため、信頼できるマシンでのみ実行し、ポートは localhost にバインドしたままにしてください。インデックス作成では、ノートの内容が設定した埋め込みエンドポイントに送信されます。ローカルモデルを指定しない限り、これはサードパーティのエンドポイントになります。

問題の報告やプルリクエストを歓迎します。できるだけ迅速に対応するよう努めています。

既知の問題
  1. ファイルサイズの上限: Vault に多数のノートが含まれている場合、orama.json ファイルが 512MB を超えるとインデックス作成に失敗することがあります。現在、ノート数やチャンク数を減らす以外に回避策はありません。

  2. 数値の保存: OramaDB は浮動小数点数を生の文字列として保存するため、データベースのサイズが急速に増加する可能性があります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。