Enables querying, managing, and analyzing Elasticsearch data through natural language interactions, providing tools to search indices, list available indices, and retrieve index mappings.
Demo
https://github.com/user-attachments/assets/907c3f6f-807c-4805-879a-649c74804c29
Elastic MCP
Connect to your Elasticsearch cluster from any MCP-compatible client (such as Claude Desktop) using the Model Context Protocol (MCP). This server exposes your Elasticsearch data and operations via the MCP interface, enabling agents and applications to query, manage, and analyze your data through natural language interactions.
1. Setup
Prerequisites
Python 3.8+
Elasticsearch running and accessible
uv or
pip
for dependency management
Install dependencies
Using uv
package manager:
2. Running the MCP Server
Test using MCP Inspector
or
Run the mcp server by
and run mcp client in another terminal by
or
Add to the Claude Desktop by editing the claude_desktop_config.json and add the following code snippet
3. Tools Provided
search_index: Search an index with a query string.
list_indices: List all indices (excluding system indices).
get_index_mappings: Get mappings for a specific index.
4. License
MIT License
5. Notes
For production, do not hardcode credentials.
For more info on MCP, see FastMCP documentation.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Connects to Elasticsearch clusters through the Model Context Protocol, enabling natural language querying and management of Elasticsearch data. Provides tools to search indices, list available indices, and retrieve index mappings.