Elasticsearch MCP Server
About
A Model Context Protocol (MCP) server implementation that provides Elasticsearch interaction. It enables searching documents, analyzing indices, and managing a cluster through a set of tools, designed for use with MCP clients like Claude Desktop.
Details
- Author
- MCP-Mirror
- Downloads
- 358
- Categories
- Database
Jump to
- list_indices: List all indices in the Elasticsearch cluster.
- get_mapping: Retrieve mapping configuration for a specific index.
- get_settings: Get settings configuration for a specific index.
- search_documents: Search documents using Elasticsearch Query DSL.
- get_cluster_health: Get health status of the cluster.
- get_cluster_stats: Get statistical information about the cluster.
Configure the server in your MCP client (e.g., Claude Desktop) by setting environment variables ELASTIC_HOST, ELASTIC_USERNAME, and ELASTIC_PASSWORD to point to your Elasticsearch cluster. Use the provided tools via natural language commands, such as "List all indices in the cluster" or "Show me the cluster health status."
Elasticsearch MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides Elasticsearch interaction. This server enables searching documents, analyzing indices, and managing cluster through a set of tools.
https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15
Features
Index Operations
- list_indices: List all indices in the Elasticsearch cluster.
- get_mapping: Retrieve the mapping configuration for a specific index.
- get_settings: Get the settings configuration for a specific index.
Document Operations
- search_documents: Search documents in an index using Elasticsearch Query DSL.
Cluster Operations
- get_cluster_health: Get health status of the cluster.
- get_cluster_stats: Get statistical information about the cluster.
Start Elasticsearch Cluster
Start the Elasticsearch cluster using Docker Compose:
docker-compose up -d
This will start a 3-node Elasticsearch cluster and Kibana. Default Elasticsearch username elastic, password test123.
You can access Kibana from https://localhost:5601.
Usage with Claude Desktop
1. Add the following configuration to Claude Desktop's config file claude_desktop_config.json:
{
"mcpServers": {
"elasticsearch": {
"command": "uv",
"args": [
"--directory",
"path/to/elasticsearch_mcp_server/src",
"run",
"server.py"
],
"env": {
"ELASTIC_HOST": "<your_elastic_url>",
"ELASTIC_USERNAME": "<your_elastic_username>",
"ELASTIC_PASSWORD": "<your_elastic_password>>"
}
}
}
}
- On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows: %APPDATA%/Claude/claude_desktop_config.json
3. Restart Claude Desktop to load the new MCP server.
Now you can interact with your Elasticsearch cluster through Claude using natural language commands like:
- "List all indices in the cluster"
- "How old is the student Bob?"
- "Show me the cluster health status"
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



