Elastic MCP
Enables querying, managing, and analyzing Elasticsearch data through natural language interactions, providing tools to search indices, list available indices, and retrieve index mappings.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Elastic MCP search the logs index for recent error messages"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.txtRelated MCP server: Elasticsearch MCP Server
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.pyor
Run the mcp server by
ELASTIC_URL="http://localhost:9200" ELASTIC_USERNAME="elastic" ELASTIC_PASSWORD="hKsXqDsd" python3 tools/elastic_tool.pyand run mcp client in another terminal by
python3 mcp_client.pyor
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.
Available Tools
3 toolsget_index_mappingsC
Get the mappings of a specific Elasticsearch index.
Inputs: index (required).
list_indicesB
List all indices in the Elasticsearch cluster.
Inputs: no named parameters.
search_indexC
Search an Elasticsearch index with a simple query string.
Inputs: index (required), query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: get_index_mappings retrieves schema information for a specific index, list_indices enumerates all indices, and search_index performs queries on an index. There is no overlap in functionality, making it easy for an agent to select the correct tool.
All tool names follow a consistent verb_noun pattern (get_index_mappings, list_indices, search_index) with clear, descriptive verbs and nouns. This uniformity enhances readability and predictability.
With only 3 tools, the server feels thin for an Elasticsearch domain, which typically involves more operations like creating/deleting indices, updating mappings, or complex queries. While the tools cover basic inspection and search, the scope is limited.
The tool set is severely incomplete for Elasticsearch operations. It lacks essential CRUD actions such as creating or deleting indices, updating mappings, and handling documents (e.g., index, update, delete). This will cause agent failures when trying to perform common tasks beyond listing and searching.
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
List datasets, schemas, run APL queries, and use prompts for exploration, anomalies, and monitoring.
A Model Context Protocol server for Wix AI tools
Ingest and search LogsLoom logs from coding agents.
Related MCP Servers
- AlicenseBqualityAmaintenanceFacilitates interaction with Elasticsearch clusters by allowing users to perform index operations, document searches, and cluster management via a Model Context Protocol server and natural language commands.20317Apache 2.0
- AlicenseBqualityCmaintenanceConnects agents to Elasticsearch data using the Model Context Protocol, allowing natural language interaction with Elasticsearch indices through MCP Clients like Claude Desktop and Cursor.1168 npm24MIT
- AlicenseBqualityDmaintenanceConnects to Elasticsearch databases using the Model Context Protocol, allowing users to query and interact with their Elasticsearch indices through natural language conversations.49 npmApache 2.0
- AlicenseNot gradedqualityDmaintenanceConnects agents to Elasticsearch data using the Model Context Protocol, allowing natural language interaction with Elasticsearch indices through tools for listing indices, getting field mappings, performing searches, and viewing shard information.4,140 npmApache 2.0