what is Elasticsearch MCP Server?
Elasticsearch MCP Server is a Model Context Protocol (MCP) server implementation that facilitates interaction with Elasticsearch, allowing users to search documents, analyze indices, and manage clusters through a set of tools.
how to use Elasticsearch MCP Server?
To use the Elasticsearch MCP Server, start the Elasticsearch cluster using Docker Compose and configure it with Claude Desktop to interact with the server using natural language commands.
key features of Elasticsearch MCP Server?
- Index Operations: List all indices, retrieve mapping and settings for specific indices.
- Document Operations: Search documents using Elasticsearch Query DSL.
- Cluster Operations: Get health status and statistical information about the cluster.
use cases of Elasticsearch MCP Server?
- Managing and analyzing large datasets in Elasticsearch.
- Performing complex searches across multiple indices.
- Monitoring the health and performance of Elasticsearch clusters.
FAQ from Elasticsearch MCP Server?
- Can I use Elasticsearch MCP Server with any version of Elasticsearch?
Yes, as long as the version is compatible with the features provided by the MCP server.
- Is there a graphical interface for managing Elasticsearch?
Yes, you can access Kibana for a graphical interface to manage your Elasticsearch cluster.
- How do I secure my Elasticsearch cluster?
Use the provided username and password, and consider additional security measures like IP whitelisting.
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
- 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
- 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"