Elasticsearch/OpenSearch MCP サーバー
概要
ElasticsearchとOpenSearchの連携を可能にするModel Context Protocol(MCP)サーバー実装。このサーバーは、ドキュメントの検索、インデックスの分析、そして一連のツールによるクラスター管理を可能にします。
デモ
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.json
- Windows の場合:
%APPDATA%/Claude/claude_desktop_config.json
新しい MCP サーバーをロードするには、Claude Desktop を再起動します。
次のような自然言語コマンドを使用して、Claude を通じて Elasticsearch/OpenSearch クラスターと対話できるようになりました。
- 「クラスター内のすべてのインデックスを一覧表示する」
- 「ボブという生徒は何歳ですか?」
- 「クラスターのヘルスステータスを表示」
Anthropic MCPクライアントでの使用
ライセンス
このプロジェクトは、Apache License バージョン 2.0 に基づいてライセンスされています。詳細については、 LICENSEファイルを参照してください。
You must be authenticated.
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.
モデルコンテキストプロトコル サーバーと自然言語コマンドを介してユーザーがインデックス操作、ドキュメント検索、クラスター管理を実行できるようにすることで、Elasticsearch クラスターとのやり取りを容易にします。
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables LLMs to interact with Elasticsearch clusters, allowing them to manage indices and execute search queries using natural language.Last updated -1JavaScript
- AsecurityFlicenseAqualityProvides a scalable knowledge graph implementation for Model Context Protocol using Elasticsearch, enabling AI models to store and query information with advanced search capabilities, memory-like behavior, and multi-zone architecture.Last updated -176TypeScript
- AsecurityAlicenseAqualityProvides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.Last updated -31PythonApache 2.0
Elasticsearch MCP Serverofficial
AsecurityAlicenseAqualityConnects Claude and other MCP clients to Elasticsearch data, allowing users to interact with their Elasticsearch indices through natural language conversations.Last updated -3565241JavaScriptApache 2.0