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.
1 stars1 watching1 forks
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"
Features
indices
mapping
settings
search
health
stats
Category
Search