Elasticsearch
About
This is a Model Context Protocol (MCP) server for Elasticsearch clusters. It enables LLMs to manage indices and execute search queries by exposing tools and index mapping resources.
Details
- Author
- MCP-Mirror
- Downloads
- 341
- Categories
- Database
Jump to
- Execute search queries against indices using Elasticsearch Query DSL.
- Create new indices with optional mappings and settings.
- List all available indices.
- Index documents with an optional custom ID.
- Automatically discover index mappings as resources.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
ElasticsearchCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server to the mcpServers section of your claude_desktop_config.json using the command npx -y @modelcontextprotocol/server-elasticsearch <url> (e.g., http://localhost:9200). A local Elasticsearch instance can be started with the provided Docker one‑liner docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.11.3.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"elasticsearch": {
"da1y_mcp-server-elasticsearch": {
"command": "docker",
"args": [
"run",
"-d",
"--name",
"elasticsearch",
"-p",
"9200:9200",
"-p",
"9300:9300",
"-e",
"discovery.type=single-node",
"-e",
"xpack.security.enabled=false",
"docker.elastic.co/elasticsearch/elasticsearch:8.11.3"
]
}
}
}
}
McpServers
{
"da1y_mcp-server-elasticsearch": {
"command": "docker",
"args": [
"run",
"-d",
"--name",
"elasticsearch",
"-p",
"9200:9200",
"-p",
"9300:9300",
"-e",
"discovery.type=single-node",
"-e",
"xpack.security.enabled=false",
"docker.elastic.co/elasticsearch/elasticsearch:8.11.3"
]
}
}
Elasticsearch
A Model Context Protocol server for Elasticsearch clusters. Enables LLMs to manage indices and execute queries.IMPORTANT NOTE : this was built mainly by feeding examples to claude from the postgres mcp server.
Components
Tools
- search - Execute search queries against indices - Input: -index (string): Target index name
- query (object): Elasticsearch query DSL
- Returns search hits
- create_index
- Create new Elasticsearch indices
- Input:
- index (string): Index name
- mappings (object, optional): Index mappings configuration
- settings (object, optional): Index settings configuration
- list_indices
- List all available indices
- No input required
- Returns array of index information
- index_document
- Index a document
- Input:
- index (string): Target index name
- id (string, optional): Document ID
- document (object): Document content
- Returns indexing operation result
Resources
The server provides mapping information for each index: - Index Mappings (elasticsearch://<host>/<index>/schema)
- JSON mapping information
- Field names, types and configurations
- Automatically discovered from metadata
Usage with Claude Desktop
Add to the "mcpServers" section of yourclaude_desktop_config.json:
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-elasticsearch",
"http://localhost:9200"
]
}
}
}
Docker one liner to run container :
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.11.3
Replace the URL with your Elasticsearch endpoint.
License
Licensed under MIT License. Free to use, modify, and distribute. See LICENSE file for details.Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



