Skip to main content
Glama

Obsidian MCP Server

Obsidian MCP サーバー

LLMがObsidian Vaultと連携できるように設計されたモデルコンテキストプロトコルサーバーです。TypeScriptで構築され、安全なAPI通信、効率的なファイル操作、包括的な検索機能を備えており、AIアシスタントはシンプルで柔軟なツールインターフェースを通じてナレッジベースをシームレスに管理できます。

モデル コンテキスト プロトコル (MCP) により、AI モデルは標準化されたインターフェースを通じて外部のツールやリソースと対話できるようになります。

Obsidian のLocal REST API プラグインが必要です。

📋 目次

機能|インストール|設定|ツール|リソース|プロジェクト構造|貢献|公開|ライセンス

✨ 特徴

  • ファイル操作: 検証、リソース監視、エラー処理を備えたアトミックなファイル/ディレクトリ操作。
  • 検索システム: 構成可能なコンテキスト、高度な JsonLogic クエリ、glob パターン、および frontmatter フィールドのサポートによるフルテキスト検索。
  • プロパティ管理: YAML フロントマター解析、インテリジェントなマージ、自動タイムスタンプ、カスタム フィールドのサポート。
  • セキュリティとパフォーマンス: API キー認証、レート制限、SSL オプション、リソース監視、正常なシャットダウン。

🚀 インストール

注: Obsidian で Node.js とLocal REST API プラグインが有効になっている必要があります。

オプション 1: クローンとビルド (開発または直接使用用)

  1. Obsidian でローカル REST API プラグインを有効にします。
  2. リポジトリをクローンし、依存関係をインストールして、プロジェクトをビルドします。
    git clone git@github.com:cyanheads/obsidian-mcp-server.git cd obsidian-mcp-server npm install npm run build
  3. 環境変数を使用してサーバーを構成します (以下の構成セクションを参照)。
  4. MCPクライアント設定(例: claude_desktop_config.jsonまたはcline_mcp_settings.json )にサーバーを追加してください。詳細は設定セクションをご覧ください。

オプション 2: npm 経由でインストール (依存関係としてまたはグローバルに)

  1. Obsidian でローカル REST API プラグインを有効にします。
  2. npm を使用してパッケージをインストールします。
    # Install locally (e.g., within another project) npm install obsidian-mcp-server # Or install globally npm install -g obsidian-mcp-server
  3. MCPクライアント設定(例: claude_desktop_config.jsonまたはcline_mcp_settings.json )にサーバーを追加してください。詳細は設定セクションをご覧ください。

⚙️ 構成

MCP クライアント設定に追加します (例: claude_desktop_config.jsonまたはcline_mcp_settings.json ):

{ "mcpServers": { "obsidian-mcp-server": { "command": "node", "args": ["/path/to/obsidian-mcp-server/dist/index.js"], "env": { "OBSIDIAN_API_KEY": "your_api_key_here", "VERIFY_SSL": "false", "OBSIDIAN_PROTOCOL": "https", "OBSIDIAN_HOST": "127.0.0.1", "OBSIDIAN_PORT": "27124", "REQUEST_TIMEOUT": "5000", "MAX_CONTENT_LENGTH": "52428800", "MAX_BODY_LENGTH": "52428800", "RATE_LIMIT_WINDOW_MS": "900000", "RATE_LIMIT_MAX_REQUESTS": "200", "TOOL_TIMEOUT_MS": "60000" } } } }

環境変数:

  • OBSIDIAN_API_KEY (必須): Obsidian のローカル REST API プラグイン設定からの API キー。
  • VERIFY_SSL (デフォルト: false ):SSL検証を有効にします。自己署名証明書またはローカルでの使用の場合はfalseに設定してください。
  • OBSIDIAN_PROTOCOL (デフォルト: "https" ): プロトコル ( httpまたはhttps )。
  • OBSIDIAN_HOST (デフォルト: "127.0.0.1" ): ホストアドレス。
  • OBSIDIAN_PORT (デフォルト: 27124 ): ポート番号。
  • REQUEST_TIMEOUT (デフォルト: 5000 ): リクエストのタイムアウト (ミリ秒)。
  • MAX_CONTENT_LENGTH (デフォルト: 52428800 [50MB]): 応答コンテンツの最大長 (バイト)。
  • MAX_BODY_LENGTH (デフォルト: 52428800 [50MB]): リクエスト本体の最大長 (バイト)。
  • RATE_LIMIT_WINDOW_MS (デフォルト: 900000 [15 分]): レート制限ウィンドウ (ミリ秒)。
  • RATE_LIMIT_MAX_REQUESTS (デフォルト: 200 ): ウィンドウあたりの最大リクエスト数。
  • TOOL_TIMEOUT_MS (デフォルト: 60000 [1 分]): ツール実行のタイムアウト(ミリ秒)。

🛠️ ツール

道具説明パラメータ
obsidian_list_files_in_vaultObsidian Vault のルート内にあるすべてのファイルとディレクトリを一覧表示します。ファイル、フォルダ、およびその種類を階層構造で詳細に表示します。なし
obsidian_list_files_in_dirObsidian Vault内の特定のフォルダ内のファイルとディレクトリを一覧表示します。階層構造を返します。注:空のディレクトリは結果に含まれない場合があります。Vaultの構成を調べるのに役立ちます。dirpath* : ファイルの一覧を表示するパス(Vault ルートからの相対パス)。空のディレクトリは返されないことに注意してください。
obsidian_get_file_contentsObsidian Vault内の指定されたファイルの全コンテンツを取得します。様々な読み取り可能なファイル形式をサポートしています。filepath* : 関連ファイルへのパス (Vault ルートからの相対パス)。
obsidian_append_content指定されたコンテンツを、ボールト内の指定されたファイルの末尾に追加します。ファイルが存在しない場合は、作成されます。filepath* : ファイルへのパス(ボールトルートからの相対パス) content* : ファイルに追加するコンテンツ
黒曜石の更新内容指定されたファイルの内容全体を、指定された内容でボールト内に上書きします。ファイルが存在しない場合は、新規に作成されます。filepath* : ファイルへのパス (Vault ルートに対する相対パス) content* : ファイルの新しい完全なコンテンツ (既存のコンテンツを上書きします)。
obsidian_find_in_fileObsidian Vault 内のすべてのファイルを対象に全文検索を実行します。一致したファイルとその前後のコンテキストを返します。5件を超えるファイルが一致した場合は、過剰な出力を避けるため、ファイル名と一致件数のみが返されます。特定のテキスト、タグ、またはパターンを検索するのに最適です。query* : 検索するテキストパターン。タグ、キーワード、またはフレーズを含めることができます。contextLength : コンテキストを提供するために一致する文字列を囲む文字数( contextLength : 10)。
黒曜石複合体の検索JsonLogicクエリを使用して、パスパターンに基づいてファイルを検索します。パターンマッチングには主にglob (例:'*.md')を使用し、'path'変数へのアクセスにはvarサポートします。注:コンテンツベースの検索(全文検索、コンテンツ内のタグ、日付)には、 obsidian_find_in_file使用してください。query* : ファイルパスを対象とするJsonLogicクエリオブジェクト。例: {"glob": ["*.md", {"var": "path"}]}すべてのマークダウンファイルに一致します。
obsidian_get_tagsObsidian Vault 内の Markdown ファイルの YAML フロントマターで定義されているすべてのタグと、その使用回数、および関連ファイルパスを取得します。オプションで、検索対象を特定のフォルダに限定することもできます。path : タグ検索を制限するためのオプションのフォルダー パス (Vault ルートからの相対パス)。
obsidian_get_properties指定されたObsidianノートのYAMLフロントマターからプロパティ(タイトル、タグ、ステータスなど)を取得します。カスタムフィールドを含む、定義済みのすべてのプロパティを返します。filepath* : ノートファイルへのパス(ボールトルートからの相対パス)
obsidian_update_properties指定されたObsidianノートのYAMLフロントマター内のプロパティを更新します。デフォルトでは、配列プロパティ(タグ、タイプ、ステータスなど)はマージされます。代わりに「replace」オプションを使用して上書きします。カスタムフィールドを処理し、タイムスタンプを自動的に管理します。サポートされている標準フィールド(タイトル、作成者、タグ、ステータスなど)については、スキーマを参照してください。filepath* : ノートファイルへのパス(Vaultルートからの相対パス) properties* : 更新するプロパティreplace : trueの場合、配列プロパティ(タグ、ステータスなど)は既存の値とマージされるのではなく、指定された値に完全に置き換えられます。デフォルトはfalse(マージ)です。

🔗 リソース

リソース説明返品
黒曜石://タグObsidian Vault で使用されているすべてのタグとその使用回数のリストアプリケーション/json

📁 プロジェクト構造

このプロジェクトは、関心事が明確に分離されたモジュール型アーキテクチャを採用しています。

src/ ├── index.ts # Main entry point ├── mcp/ # MCP server implementation ├── obsidian/ # Obsidian API client and types ├── resources/ # MCP resource implementations ├── tools/ # MCP tool implementations │ ├── files/ # File operations tools │ ├── search/ # Search tools │ └── properties/ # Property management tools └── utils/ # Shared utilities

👥 貢献する

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. プルリクエストを送信する

バグや機能については、 https://github.com/cyanheads/obsidian-mcp-server/issuesで問題を作成してください。

📄 ライセンス

Apacheライセンス2.0


-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

モデル コンテキスト プロトコルを通じて LLM と Obsidian ボールト間の相互作用を可能にし、安全なファイル操作、コンテンツ管理、高度な検索機能をサポートします。

  1. 📋 目次
    1. ✨ 特徴
      1. 🚀 インストール
        1. オプション 1: クローンとビルド (開発または直接使用用)
        2. オプション 2: npm 経由でインストール (依存関係としてまたはグローバルに)
      2. ⚙️ 構成
        1. 🛠️ ツール
          1. 🔗 リソース
            1. 📁 プロジェクト構造
              1. 👥 貢献する
                1. 📄 ライセンス

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    A Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.
                    Last updated -
                    10
                    77
                    Python
                    MIT License
                  • A
                    security
                    A
                    license
                    A
                    quality
                    Adds powerful Hacker News integration to LLM clients, allowing users to access stories, comments, user profiles, and search functionality through the Model Context Protocol.
                    Last updated -
                    9
                    25
                    4
                    JavaScript
                    MIT License
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server enabling LLMs to search, retrieve, and manage documents through Rememberizer's knowledge management API.
                    Last updated -
                    24
                    Python
                    Apache 2.0
                  • -
                    security
                    A
                    license
                    -
                    quality
                    FEGIS is a Model Context Protocol server that gives LLMs structured, persistent and portable memory through customizable cognitive tools defined in schema.
                    Last updated -
                    16
                    Python
                    MIT License
                    • Apple
                    • Linux

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/obsidian-mcp-server'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server