Elasticsearch 7.x MCP Server

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

  • Utilizes environment variables through .env files to configure connection details for Elasticsearch, including host address, authentication credentials, and server port settings.

  • Enables interaction with Elasticsearch 7.x instances, supporting basic operations like ping and info, as well as complete search functionality including aggregation queries, highlighting, sorting, and other advanced search features.

  • Supports connection to Kibana as part of an Elasticsearch deployment through the Docker Compose setup, providing visualization and management capabilities for Elasticsearch data.

Elasticsearch 7.x MCP サーバー

Elasticsearch 7.x 用の MCP サーバー。Elasticsearch 7.x バージョンとの互換性を提供します。

特徴

  • Elasticsearch 7.x と対話するための MCP プロトコル インターフェースを提供します
  • 基本的な Elasticsearch 操作 (ping、情報など) をサポートします
  • 集計クエリ、ハイライト、並べ替え、その他の高度な機能を含む完全な検索機能をサポートします。
  • あらゆるMCPクライアントからElasticsearchの機能に簡単にアクセスできます

要件

  • Python 3.10以上
  • Elasticsearch 7.x (7.17.x を推奨)

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Elasticsearch 7.x MCP Server を自動的にインストールするには:

npx -y @smithery/cli install @imlewc/elasticsearch7-mcp-server --client claude

手動インストール

pip install -e .

環境変数

サーバーには次の環境変数が必要です。

  • ELASTIC_HOST : Elasticsearch ホストアドレス (例: http://localhost:9200 )
  • ELASTIC_USERNAME : Elasticsearchユーザー名
  • ELASTIC_PASSWORD : Elasticsearch パスワード
  • MCP_PORT : (オプション) MCPサーバーのリスニングポート、デフォルトは9999

Docker Composeの使用

  1. .envファイルを作成し、 ELASTIC_PASSWORDを設定します。
ELASTIC_PASSWORD=your_secure_password
  1. サービスを開始します。
docker-compose up -d

これにより、3 ノードの Elasticsearch 7.17.10 クラスター、Kibana、および MCP サーバーが起動します。

MCPクライアントの使用

任意の MCP クライアントを使用して MCP サーバーに接続できます。

from mcp import MCPClient client = MCPClient("localhost:9999") response = client.call("es-ping") print(response) # {"success": true}

APIドキュメント

現在サポートされている MCP メソッド:

  • es-ping : Elasticsearch 接続を確認する
  • es-info : Elasticsearch クラスターの情報を取得する
  • es-search : Elasticsearchインデックス内のドキュメントを検索する

検索APIの例

基本検索

# Basic search search_response = client.call("es-search", { "index": "my_index", "query": { "match": { "title": "search keywords" } }, "size": 10, "from": 0 })

集計クエリ

# Aggregation query agg_response = client.call("es-search", { "index": "my_index", "size": 0, # Only need aggregation results, no documents "aggs": { "categories": { "terms": { "field": "category.keyword", "size": 10 } }, "avg_price": { "avg": { "field": "price" } } } })

詳細検索

# Advanced search with highlighting, sorting, and filtering advanced_response = client.call("es-search", { "index": "my_index", "query": { "bool": { "must": [ {"match": {"content": "search term"}} ], "filter": [ {"range": {"price": {"gte": 100, "lte": 200}}} ] } }, "sort": [ {"date": {"order": "desc"}}, "_score" ], "highlight": { "fields": { "content": {} } }, "_source": ["title", "date", "price"] })

発達

  1. リポジトリをクローンする
  2. 開発依存関係をインストールする
  3. サーバーを実行する: elasticsearch7-mcp-server

ライセンス

[LICENSEファイル内のライセンス]

中国語の文書

You must be authenticated.

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

Elasticsearch 7.x データベースと対話するための MCP プロトコル インターフェイスを提供し、集計、強調表示、並べ替えなどの包括的な検索機能をサポートします。

  1. Features
    1. Requirements
      1. Installation
        1. Installing via Smithery
        2. Manual Installation
      2. Environment Variables
        1. Using Docker Compose
          1. Using an MCP Client
            1. API Documentation
              1. Search API Examples
            2. Development
              1. License
                ID: zxwxozvlme