mcpField
E
Elasticsearch 7.x MCP Server

Elasticsearch 7.x MCP Server

ローカル
github.com/imlewcデータベース1130 週間前に更新

Elasticsearch 7.x MCP Server について

Elasticsearch 7.x MCP Serverは、MCPクライアント経由でクラスターにアクセスするためのElasticsearch 7.x向けインターフェースです。接続確認やクラスター情報の取得に加え、集計などを含む検索に対応します。

主な機能

  1. 01Elasticsearchの接続確認
  2. 02クラスター情報の取得
  3. 03インデックス文書の検索
  4. 04集計、ハイライト、ソートに対応

活用シーン

  1. 01Elasticsearchクラスターの接続確認
  2. 02MCP経由でインデックス文書を検索
  3. 03集計やハイライト付き検索の実行

MCP 対応

MCP サーバーとして、ping、クラスター情報、検索の各メソッドをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"elasticsearch7": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MseeP.ai Security Assessment Badge

Elasticsearch 7.x MCP サーバー

smithery badge

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

Elasticsearch 7.x Server MCP server

機能

  • Elasticsearch 7.x と連携するための MCP プロトコルインターフェースを提供します
  • 基本的な Elasticsearch 操作(ping、info など)をサポートします
  • 集計クエリ、ハイライト表示、ソートなどの高度な機能を含む、完全な検索機能をサポートします
  • 任意の 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

これにより、Elasticsearch 7.17.10 の 3 ノードクラスター、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 ファイル内のライセンス]

中文文档

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。