Elasticsearch MCP Server

by awesimon
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Connects to Elasticsearch clusters allowing interaction with indices through natural language, including listing indices, retrieving mappings, performing searches, managing index templates, bulk operations, reindexing data, and monitoring cluster health.

Elasticsearch MCP サーバー

英語|中国語

任意の MCP クライアント (Claude Desktop、Cursor など) から Elasticsearch クラスターに直接接続するための MCP サーバー。

このサーバーは、モデルコンテキストプロトコルを使用してエージェントをElasticsearchデータに接続します。これにより、自然言語による会話を通じてElasticsearchインデックスと対話できるようになります。

デモ

機能の概要

利用可能な機能

クラスター管理

  • elasticsearch_health : Elasticsearch クラスターのヘルスステータスを取得します。オプションでインデックスレベルの詳細も取得します。

インデックス操作

  • list_indices : 利用可能な Elasticsearch インデックスを一覧表示します。正規表現をサポートします。
  • create_index : オプションの設定とマッピングを使用して Elasticsearch インデックスを作成する
  • reindex : オプションのクエリとスクリプトを使用して、ソースインデックスからターゲットインデックスにデータを再インデックスします。

マッピング管理

  • get_mappings : 特定のElasticsearchインデックスのフィールドマッピングを取得する
  • create_mapping : Elasticsearch インデックスのマッピング構造を作成または更新する

検索とデータ操作

  • search : 提供されたクエリDSLを使用してElasticsearch検索を実行する
  • bulk : Elasticsearch インデックスにデータを一括保存する

テンプレート管理

  • create_index_template : インデックステンプレートを作成または更新する
  • get_index_template : インデックステンプレートに関する情報を取得する
  • delete_index_template : インデックステンプレートを削除する

仕組み

  1. MCP クライアントはリクエストを分析し、必要な Elasticsearch 操作を決定します。
  2. MCP サーバーはこれらの操作 (インデックスの一覧表示、マッピングの取得、検索の実行) を実行します。
  3. MCP クライアントは結果を処理し、ユーザーフレンドリーな形式で表示します。

はじめる

前提条件

  • Elasticsearchインスタンス
  • Elasticsearch 認証資格情報 (API キーまたはユーザー名/パスワード)
  • MCP クライアント (例: Claude Desktop、Cursor)

インストールとセットアップ

公開されたNPMパッケージの使用

[!TIP] Elasticsearch MCP Server を使用する最も簡単な方法は、公開されている npm パッケージを使用することです。

  1. MCPクライアントの設定
    • MCPクライアントを開きます。MCPクライアントのリストを確認し、ここでClaude Desktopを設定します。
    • 設定 > 開発者 > MCP サーバーに移動します
    • Edit Configをクリックし、次の設定で新しい MCP サーバーを追加します。
    { "mcpServers": { "elasticsearch-mcp": { "command": "npx", "args": [ "-y", "@awesome-ai/elasticsearch-mcp" ], "env": { "ES_HOST": "your-elasticsearch-host", "ES_API_KEY": "your-api-key" } } } }
  2. 会話を始める
    • MCP クライアントで新しい会話を開きます。
    • MCP サーバーは自動的に接続されるはずです。
    • Elasticsearch データについて質問できるようになりました。

設定オプション

Elasticsearch MCP サーバーは、Elasticsearch に接続するための構成オプションをサポートしています。

[!NOTE] 認証には、API キーまたはユーザー名とパスワードの両方を指定する必要があります。

環境変数説明必須
ES_HOSTElasticsearch インスタンスの URL (従来のHOSTもサポート)はい
ES_API_KEY認証用の Elasticsearch API キー (従来のAPI_KEYもサポート)いいえ
ES_USERNAME基本認証用の Elasticsearch ユーザー名 (従来のUSERNAMEもサポート)いいえ
ES_PASSWORD基本認証用の Elasticsearch パスワード (従来のPASSWORDもサポート)いいえ
ES_CA_CERTElasticsearch SSL/TLS のカスタム CA 証明書へのパス (レガシーCA_CERTもサポート)いいえ

地域開発

[!NOTE] MCP サーバーを変更または拡張する場合は、次のローカル開発手順に従ってください。

  1. 正しいNode.jsバージョンを使用する
    nvm use
  2. 依存関係をインストールする
    npm install
  3. プロジェクトを構築する
    npm run build
  4. Claudeデスクトップアプリでローカルに実行
    • Claudeデスクトップアプリを開く
    • 設定 > 開発者 > MCP サーバーに移動します
    • Edit Configをクリックし、次の設定で新しいMCPサーバーを追加します: GXP5
  5. カーソルエディタでローカルに実行
    • カーソルエディタを開く
    • カーソル設定 > MCPへ移動します。
    • Add new global MCP Serverをクリックし、次の構成で新しいMCPサーバーを追加します: GXP6
  6. MCP Inspectorによるデバッグ
    ES_HOST=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspector
    MCP Inspectorが起動し、リクエストのデバッグと分析が可能になります。以下の画面が表示されます。
    Starting MCP inspector... ⚙️ Proxy server listening on port 6277 🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

クエリの例

[!TIP] MCP クライアントで試すことができる自然言語クエリをいくつか示します。

クラスター管理

  • 「Elasticsearch クラスターのヘルスステータスはどうですか?」
  • 「クラスター内にアクティブノードはいくつありますか?」

インデックス操作

  • 「Elasticsearch クラスターにはどのようなインデックスがありますか?」
  • 「3 つのシャードと 1 つのレプリカを持つ「users」という新しいインデックスを作成します。」
  • 「'old_index' から 'new_index' にデータを再インデックスします。」

マッピング管理

  • 「「製品」インデックスのフィールド マッピングを表示します。」
  • 「「製品」インデックスに「タグ」というキーワード タイプのフィールドを追加します。」

検索とデータ操作

  • 「先月の 500 ドルを超えるすべての注文を検索します。」
  • 「5 つ星のレビューを最も多く獲得した製品はどれですか?」
  • 「これらの顧客レコードを「顧客」インデックスに一括インポートします。」

テンプレート管理

  • 「パターン 'logs-*' のログのインデックス テンプレートを作成します。」
  • 「すべてのインデックス テンプレートを表示します。」
  • 「'outdated_template' インデックス テンプレートを削除します。」

問題が発生した場合は、お気軽に GitHub リポジトリで問題を報告してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

モデル コンテキスト プロトコルを使用してエージェントを Elasticsearch データに接続し、Claude Desktop や Cursor などの MCP クライアントを通じて Elasticsearch インデックスとの自然言語による対話を可能にします。

  1. Demo
    1. Feature Overview
      1. Available Features
      2. How It Works
    2. Getting Started
      1. Prerequisites
      2. Installation & Setup
      3. Configuration Options
    3. Local Development
      1. Example Queries
        1. Cluster Management
        2. Index Operations
        3. Mapping Management
        4. Search & Data Operations
        5. Template Management
      ID: p1bzvj7dt9