
Elasticsearch
โ 2from da1y
Manage Elasticsearch indices and execute queries using LLMs.
โ labsco summary โ our analysis, not the vendor's
What it is โ An MCP server that lets an LLM manage Elasticsearch indices and run queries against a cluster.
What you get โ
searchโ run Query DSL against an index, e.g. "search thelogsindex for errors in the last hour"create_indexโ make an index with optional mappings/settingslist_indicesโ enumerate all available indicesindex_documentโ add a document with optional ID- Index mapping exposed as a resource (
elasticsearch://<host>/<index>/schema) for field/type discovery
Requirements โ Nothing to sign up for, but you must point it at a running Elasticsearch endpoint (a Docker one-liner for 8.11.3 is provided). No API keys; env is empty.
Cost snapshot โ Free, MIT licensed. Elasticsearch itself is self-hosted/open source in the example, so no third-party billing.
Setup effort โ npx one-liner in claude_desktop_config.json, passing your cluster URL.
Our take โ A clean, minimal starter for talking to Elasticsearch in natural language. Honest caveat: the README admits it was "built mainly by feeding examples to claude from the postgres mcp server," so treat it as lightly-tested and limited to four tools.
Source: the project README โ summarized 2026-07-08.
โ readme from github โ mirrored (latest on GitHub โ)
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 namequery(object): Elasticsearch query DSL
- Returns search hits
-
create_index
- Create new Elasticsearch indices
- Input:
index(string): Index namemappings(object, optional): Index mappings configurationsettings(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 nameid(string, optional): Document IDdocument(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
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.3Replace the URL with your Elasticsearch endpoint.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-elasticsearch",
"http://localhost:9200"
]
}
}
}Usage with Claude Desktop
Add to the "mcpServers" section of your claude_desktop_config.json:
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-elasticsearch",
"http://localhost:9200"
]
}
}
}No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
License
Licensed under MIT License. Free to use, modify, and distribute. See LICENSE file for details.