mcp-server-elasticsearch
Manage Elasticsearch clusters by executing queries, creating indices, and indexing documents. It facilitates data management and retrieval processes for large language models through seamless integration with Elasticsearch functionality.
Author

da1y
Quick Info
Actions
Tags
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
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"
]
}
}
}
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.
