Elasticsearch MCP Server

by da1y
# 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 your `claude_desktop_config.json`: ```json { "mcpServers": { "elasticsearch": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-elasticsearch", "http://localhost:9200" ] } } } ``` ## Docker one liner to run container : ```sh 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.