Elasticsearch/OpenSearch MCP サーバー
概要
ElasticsearchとOpenSearchの連携を可能にするModel Context Protocol(MCP)サーバー実装。このサーバーは、ドキュメントの検索、インデックスの分析、そして一連のツールによるクラスター管理を可能にします。
Related MCP server: Elasticsearch MCP Server
デモ
https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15
特徴
一般業務
general_api_request: 一般的なHTTP APIリクエストを実行します。専用ツールがないElasticsearch/OpenSearch APIには、このツールを使用します。
インデックス操作
list_indices: すべてのインデックスを一覧表示します。get_index: 1 つ以上のインデックスに関する情報 (マッピング、設定、エイリアス) を返します。create_index: 新しいインデックスを作成します。delete_index: インデックスを削除します。
ドキュメント操作
search_documents: ドキュメントを検索します。index_document: インデックス内のドキュメントを作成または更新します。get_document: ID でドキュメントを取得します。delete_document: ID でドキュメントを削除します。delete_by_query: 指定されたクエリに一致するドキュメントを削除します。
クラスター操作
get_cluster_health: クラスターの健全性に関する基本情報を返します。get_cluster_stats: クラスター統計の概要を返します。
エイリアス操作
list_aliases: すべてのエイリアスを一覧表示します。get_alias: 特定のインデックスのエイリアス情報を取得します。put_alias: 特定のインデックスのエイリアスを作成または更新します。delete_alias: 特定のインデックスのエイリアスを削除します。
環境変数を設定する
.env.exampleファイルを.envにコピーし、それに応じて値を更新します。
Elasticsearch/OpenSearch クラスターを起動する
Docker Compose を使用して Elasticsearch/OpenSearch クラスターを起動します。
Elasticsearchのデフォルトのユーザー名はelastic 、パスワードはtest123です。OpenSearchのデフォルトのユーザー名はadmin 、パスワードはadminです。
Kibana/OpenSearch ダッシュボードには http://localhost:5601からアクセスできます。
Claude Desktopでの使用
オプション1: Smithery経由でインストールする
Smithery経由で Claude Desktop 用の Elasticsearch Server を自動的にインストールするには:
オプション2: uvxを使用する
uvxを使用すると、PyPIからパッケージが自動的にインストールされるため、リポジトリをローカルにクローンする必要はありません。Claude Desktopの設定ファイルclaude_desktop_config.jsonに以下の設定を追加してください。
オプション3: ローカル開発でUVを使用する
uvを使用するには、リポジトリをローカルにクローンし、ソースコードへのパスを指定する必要があります。Claude Desktop の設定ファイルclaude_desktop_config.jsonに以下の設定を追加してください。
macOSの場合:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows の場合:
%APPDATA%/Claude/claude_desktop_config.json
新しい MCP サーバーをロードするには、Claude Desktop を再起動します。
次のような自然言語コマンドを使用して、Claude を通じて Elasticsearch/OpenSearch クラスターと対話できるようになりました。
「クラスター内のすべてのインデックスを一覧表示する」
「ボブという生徒は何歳ですか?」
「クラスターのヘルスステータスを表示」
Anthropic MCPクライアントでの使用
ライセンス
このプロジェクトは、Apache License バージョン 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。