Elasticsearch MCP サーバー
このリポジトリには、研究と評価を目的とした実験的な機能が含まれており、実稼働には対応していません。
モデル コンテキスト プロトコル (MCP) を使用して、任意の MCP クライアント (Claude Desktop など) から Elasticsearch データに直接接続します。
このサーバーは、モデルコンテキストプロトコルを使用してエージェントをElasticsearchデータに接続します。これにより、自然言語による会話を通じてElasticsearchインデックスと対話できるようになります。
利用可能なツール
list_indices: 利用可能なすべてのElasticsearchインデックスを一覧表示するget_mappings: 特定のElasticsearchインデックスのフィールドマッピングを取得するsearch: 提供されたクエリDSLを使用してElasticsearch検索を実行するget_shards: すべてまたは特定のインデックスのシャード情報を取得する
Related MCP server: Elasticsearch 7.x MCP Server
前提条件
Elasticsearchインスタンス
Elasticsearch 認証資格情報 (API キーまたはユーザー名/パスワード)
MCP クライアント (例: Claude Desktop)
デモ
https://github.com/user-attachments/assets/5dd292e1-a728-4ca7-8f01-1380d1bebe0c
インストールとセットアップ
公開されたNPMパッケージの使用
Elasticsearch MCP Server を使用する最も簡単な方法は、公開されている npm パッケージを使用することです。
MCPクライアントの設定
MCPクライアントを開きます。MCPクライアントのリストを確認し、ここでClaude Desktopを設定します。
設定 > 開発者 > MCP サーバーに移動します
Edit Configをクリックし、次の設定で新しい MCP サーバーを追加します。
{ "mcpServers": { "elasticsearch-mcp-server": { "command": "npx", "args": [ "-y", "@elastic/mcp-server-elasticsearch" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_API_KEY": "your-api-key" } } } }会話を始める
MCPクライアントで新しい会話を開きます
MCPサーバーは自動的に接続されます
Elasticsearchデータについて質問できるようになりました
設定オプション
Elasticsearch MCP サーバーは、Elasticsearch に接続するための構成オプションをサポートしています。
認証には、API キーまたはユーザー名とパスワードの両方を指定する必要があります。
環境変数 | 説明 | 必須 |
| ElasticsearchインスタンスのURL | はい |
| 認証用のElasticsearch APIキー | いいえ |
| 基本認証用のElasticsearchユーザー名 | いいえ |
| 基本認証用のElasticsearchパスワード | いいえ |
| Elasticsearch SSL/TLS のカスタム CA 証明書へのパス | いいえ |
地域開発
MCP サーバーを変更または拡張する場合は、次のローカル開発手順に従ってください。
正しいNode.jsバージョンを使用する
nvm use依存関係をインストールする
npm installプロジェクトを構築する
npm run buildClaudeデスクトップアプリでローカルに実行
Claudeデスクトップアプリを開く
設定 > 開発者 > MCP サーバーに移動します
Edit Configをクリックし、次の設定で新しい MCP サーバーを追加します。
{ "mcpServers": { "elasticsearch-mcp-server-local": { "command": "node", "args": [ "/path/to/your/project/dist/index.js" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_API_KEY": "your-api-key" } } } }MCP Inspectorによるデバッグ
ES_URL=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspectorMCP Inspectorが起動し、リクエストのデバッグと分析が可能になります。以下の画面が表示されます。
Starting MCP inspector... Proxy server listening on port 3000 🔍 MCP Inspector is up and running at http://localhost:5173 🚀
貢献
コミュニティからの貢献を歓迎します。貢献方法の詳細については、貢献ガイドラインをご覧ください。
例題
MCP クライアントで試すことができる自然言語クエリをいくつか示します。
「Elasticsearch クラスターにはどのようなインデックスがありますか?」
「「製品」インデックスのフィールド マッピングを表示します。」
「先月の 500 ドルを超えるすべての注文を検索します。」
「5 つ星のレビューを最も多く獲得した製品はどれですか?」
仕組み
MCP クライアントはリクエストを分析し、必要な Elasticsearch 操作を決定します。
MCP サーバーはこれらの操作 (インデックスの一覧表示、マッピングの取得、検索の実行) を実行します。
MCP クライアントは結果を処理し、ユーザーフレンドリーな形式で表示します。
セキュリティのベストプラクティス
クラスター管理者権限の使用は避けてください。スコープを制限した専用のAPIキーを作成し、インデックスレベルできめ細かなアクセス制御を適用して、不正なデータアクセスを防止してください。
データへのアクセスを制御するために、最小限の権限を持つ専用の Elasticsearch API キーを作成できます。
ライセンス
このプロジェクトは、Apache License 2.0 に基づいてライセンスされています。
トラブルシューティング
MCP 構成が正しいことを確認してください。
Elasticsearch URL がマシンからアクセスできることを確認します。
認証資格情報 (API キーまたはユーザー名/パスワード) に必要な権限があることを確認します。
カスタム CA で SSL/TLS を使用する場合は、証明書パスが正しいことと、ファイルが読み取り可能であることを確認します。
エラー メッセージのターミナル出力を確認します。
問題が発生した場合は、お気軽に GitHub リポジトリで問題を報告してください。