Elasticsearch MCP サーバー
このリポジトリには、研究と評価を目的とした実験的な機能が含まれており、実稼働には対応していません。
モデル コンテキスト プロトコル (MCP) を使用して、任意の MCP クライアント (Claude Desktop など) から Elasticsearch データに直接接続します。
このサーバーは、モデルコンテキストプロトコルを使用してエージェントをElasticsearchデータに接続します。これにより、自然言語による会話を通じてElasticsearchインデックスと対話できるようになります。
利用可能なツール
list_indices
: 利用可能なすべてのElasticsearchインデックスを一覧表示するget_mappings
: 特定のElasticsearchインデックスのフィールドマッピングを取得するsearch
: 提供されたクエリDSLを使用してElasticsearch検索を実行するget_shards
: すべてまたは特定のインデックスのシャード情報を取得する
前提条件
- Elasticsearchインスタンス
- Elasticsearch 認証資格情報 (API キーまたはユーザー名/パスワード)
- MCP クライアント (例: Claude Desktop)
デモ
https://github.com/user-attachments/assets/5dd292e1-a728-4ca7-8f01-1380d1bebe0c
インストールとセットアップ
公開されたNPMパッケージの使用
[!TIP] Elasticsearch MCP Server を使用する最も簡単な方法は、公開されている npm パッケージを使用することです。
- MCPクライアントの設定
- MCPクライアントを開きます。MCPクライアントのリストを確認し、ここでClaude Desktopを設定します。
- 設定 > 開発者 > MCP サーバーに移動します
Edit Config
をクリックし、次の設定で新しい MCP サーバーを追加します。
- 会話を始める
- MCPクライアントで新しい会話を開きます
- MCPサーバーは自動的に接続されます
- Elasticsearchデータについて質問できるようになりました
設定オプション
Elasticsearch MCP サーバーは、Elasticsearch に接続するための構成オプションをサポートしています。
[!NOTE] 認証には、API キーまたはユーザー名とパスワードの両方を指定する必要があります。
環境変数 | 説明 | 必須 |
---|---|---|
ES_URL | ElasticsearchインスタンスのURL | はい |
ES_API_KEY | 認証用のElasticsearch APIキー | いいえ |
ES_USERNAME | 基本認証用のElasticsearchユーザー名 | いいえ |
ES_PASSWORD | 基本認証用のElasticsearchパスワード | いいえ |
ES_CA_CERT | Elasticsearch SSL/TLS のカスタム CA 証明書へのパス | いいえ |
地域開発
[!NOTE] MCP サーバーを変更または拡張する場合は、次のローカル開発手順に従ってください。
- 正しいNode.jsバージョンを使用する
- 依存関係をインストールする
- プロジェクトを構築する
- Claudeデスクトップアプリでローカルに実行
- Claudeデスクトップアプリを開く
- 設定 > 開発者 > MCP サーバーに移動します
Edit Config
をクリックし、次の設定で新しい MCP サーバーを追加します。
- MCP InspectorによるデバッグMCP Inspectorが起動し、リクエストのデバッグと分析が可能になります。以下の画面が表示されます。
貢献
コミュニティからの貢献を歓迎します。貢献方法の詳細については、貢献ガイドラインをご覧ください。
例題
[!TIP] MCP クライアントで試すことができる自然言語クエリをいくつか示します。
- 「Elasticsearch クラスターにはどのようなインデックスがありますか?」
- 「「製品」インデックスのフィールド マッピングを表示します。」
- 「先月の 500 ドルを超えるすべての注文を検索します。」
- 「5 つ星のレビューを最も多く獲得した製品はどれですか?」
仕組み
- MCP クライアントはリクエストを分析し、必要な Elasticsearch 操作を決定します。
- MCP サーバーはこれらの操作 (インデックスの一覧表示、マッピングの取得、検索の実行) を実行します。
- MCP クライアントは結果を処理し、ユーザーフレンドリーな形式で表示します。
セキュリティのベストプラクティス
[!WARNING] クラスター管理者権限の使用は避けてください。スコープを制限した専用のAPIキーを作成し、インデックスレベルできめ細かなアクセス制御を適用して、不正なデータアクセスを防止してください。
データへのアクセスを制御するために、最小限の権限を持つ専用の Elasticsearch API キーを作成できます。
ライセンス
このプロジェクトは、Apache License 2.0 に基づいてライセンスされています。
トラブルシューティング
- MCP 構成が正しいことを確認してください。
- Elasticsearch URL がマシンからアクセスできることを確認します。
- 認証資格情報 (API キーまたはユーザー名/パスワード) に必要な権限があることを確認します。
- カスタム CA で SSL/TLS を使用する場合は、証明書パスが正しいことと、ファイルが読み取り可能であることを確認します。
- エラー メッセージのターミナル出力を確認します。
問題が発生した場合は、お気軽に GitHub リポジトリで問題を報告してください。
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Claude およびその他の MCP クライアントを Elasticsearch データに接続し、ユーザーが自然言語の会話を通じて Elasticsearch インデックスを操作できるようにします。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata for querying, modifying, and managing objects and records.Last updated -78715TypeScriptMIT License
- AsecurityAlicenseAqualityProvides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.Last updated -31PythonApache 2.0
- -securityFlicense-qualityAn MCP server that integrates with Claude to provide smart documentation search capabilities across multiple AI/ML libraries, allowing users to retrieve and process technical information through natural language queries.Last updated -Python
- AsecurityAlicenseAqualityAn MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata.Last updated -818TypeScriptMIT License