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
A-Share MCP
Provides A-share stock market data, including basic info, historical K-lines, financial indicators, and macroeconomic data using Baostock.
DuckDB Knowledge Graph Memory
An MCP memory server that uses a DuckDB backend for persistent knowledge graph storage.
OrionBelt Analytics
Analyzes relational database schemas (PostgreSQL, Snowflake, and Dremio) and automatically generates comprehensive ontologies in RDF/Turtle format with direct SQL mappings.
Ashare-MCP
A stock market data service for querying A-share market data from Sina and Tencent Finance.
Hasura GraphQL
Interact with a Hasura GraphQL endpoint, enabling schema introspection, queries, mutations, and data aggregation.
Gremlin
Interact with any Gremlin-compatible graph database using natural language, with support for schema discovery, complex queries, and data import/export.
Fantasy Premier League
Access Fantasy Premier League (FPL) data and tools, including player information, team details, and gameweek data.
Nile Postgres
Manage and query databases, tenants, users, auth using LLMs
PostgreSQL MCP
A Model Context Protocol (MCP) server that provides AI assistants (like Claude) with tools to directly interact with PostgreSQL databases securely.
MySQL MCP Tools
Provides tools for querying and managing a MySQL database.