Facilitates interaction with Elastic's search and analytics engine, providing capabilities for document indexing, search, index management, and cluster health monitoring.
Provides tools for searching documents, managing indices and aliases, and monitoring cluster health and statistics within an Elasticsearch instance.
Enables interaction with OpenSearch clusters to perform document searches, manage indices, handle document CRUD operations, and monitor cluster status.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Elasticsearch/OpenSearch MCP Serversearch for documents in the 'orders' index where status is 'pending'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Elasticsearch/OpenSearch MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides Elasticsearch and OpenSearch interaction. This server enables searching documents, analyzing indices, and managing cluster through a set of tools.
Features
General Operations
general_api_request: Perform a general HTTP API request. Use this tool for any Elasticsearch/OpenSearch API that does not have a dedicated tool.
Index Operations
list_indices: List all indices.get_index: Returns information (mappings, settings, aliases) about one or more indices.create_index: Create a new index.delete_index: Delete an index.
Document Operations
search_documents: Search for documents.index_document: Creates or updates a document in the index.get_document: Get a document by ID.delete_document: Delete a document by ID.delete_by_query: Deletes documents matching the provided query.
Cluster Operations
get_cluster_health: Returns basic information about the health of the cluster.get_cluster_stats: Returns high-level overview of cluster statistics.
Alias Operations
list_aliases: List all aliases.get_alias: Get alias information for a specific index.put_alias: Create or update an alias for a specific index.delete_alias: Delete an alias for a specific index.
Configure Environment Variables
Copy the .env.example file to .env and update the values accordingly.
Start Elasticsearch/OpenSearch Cluster
Start the Elasticsearch/OpenSearch cluster using Docker Compose:
The default Elasticsearch username is elastic and password is test123. The default OpenSearch username is admin and password is admin.
You can access Kibana/OpenSearch Dashboards from http://localhost:5601.
Stdio
Option 1: Using uvx
Using uvx will automatically install the package from PyPI, no need to clone the repository locally. Add the following configuration to 's config file claude_desktop_config.json.
Option 2: Using uv with local development
Using uv requires cloning the repository locally and specifying the path to the source code. Add the following configuration to Claude Desktop's config file claude_desktop_config.json.
SSE
Option 1: Using uvx
Option 2: Using uv
Streamable HTTP
Option 1: Using uvx
Option 2: Using uv
License
This project is licensed under the Apache License Version 2.0 - see the LICENSE file for details.