Elastic MCP
Interact with an Elasticsearch cluster via the Model Context Protocol (MCP), enabling clients to query, manage, and analyze data.
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
pipfor dependency management
Install dependencies
Using uv package manager:
uv pip install -r requirements.txt
2. Running the MCP Server
Test using MCP Inspector
ELASTIC_URL="http://localhost:9200" ELASTIC_USERNAME="your_username" ELASTIC_PASSWORD="your_password" fastmcp dev tools/elastic_tool.py
or
Run the mcp server by
ELASTIC_URL="http://localhost:9200" ELASTIC_USERNAME="elastic" ELASTIC_PASSWORD="hKsXqDsd" python3 tools/elastic_tool.py
and run mcp client in another terminal by
python3 mcp_client.py
or
Add to the Claude Desktop by editing the claude_desktop_config.json and add the following code snippet
{
"mcpServers": {
"Elastic MCP Server": {
"command": "uv",
"args": [
"run",
"--with-requirements",
"<absolute path to requirements.txt>",
"fastmcp",
"run",
"<absolute path to elastic_tool.py>"
],
"env": {
"ELASTIC_URL": "http://localhost:9200",
"ELASTIC_USERNAME": "your_username",
"ELASTIC_PASSWORD": "your_password"
}
}
}
}
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.
Related Servers
JDBC Explorer
A server that enables LLMs to connect and interact with databases via JDBC, built using the Spring AI MCP framework.
StarRocks
Interact with StarRocks
CData Google Sheets MCP Server
A read-only MCP server for Google Sheets, enabling LLMs to query live data using the CData JDBC Driver.
Fresha
Access the Fresha Data Connector through Snowflake.
Apple Health Data with Elasticsearch
A Python-based MCP server that connects to an Elasticsearch index with Apple HealthKit data.
MCP Database Server
Connects to and interacts with various database systems like SQLite, PostgreSQL, SQL Server, and MongoDB.
MCP Variance Log
Logs statistical variations and unusual events in conversation structures to a SQLite database.
LoanPro MCP Server
An MCP server providing read-only access to LoanPro financial data.
Tabular MCP Server
An MCP server for local Tabular Models like PowerBI. It allows LLM clients to debug, analyze, and compose DAX queries by connecting to a local Tabular model instance.
SimpleDB MCP
A secure MCP server for accessing and exploring relational databases like MySQL, PostgreSQL, Salesforce, and AWS Glue.