Elasticsearch 7.x MCP サーバー
Elasticsearch 7.x 用の MCP サーバー。Elasticsearch 7.x バージョンとの互換性を提供します。
特徴
Elasticsearch 7.x と対話するための MCP プロトコル インターフェースを提供します
基本的な Elasticsearch 操作 (ping、情報など) をサポートします
集計クエリ、ハイライト、並べ替え、その他の高度な機能を含む完全な検索機能をサポートします。
あらゆるMCPクライアントからElasticsearchの機能に簡単にアクセスできます
Related MCP server: Elasticsearch MCP Server
要件
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の使用
.envファイルを作成し、ELASTIC_PASSWORDを設定します。
ELASTIC_PASSWORD=your_secure_passwordサービスを開始します。
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"]
})発達
リポジトリをクローンする
開発依存関係をインストールする
サーバーを実行する:
elasticsearch7-mcp-server
ライセンス
[LICENSEファイル内のライセンス]