Elasticsearch 7.x MCP Server
The Elasticsearch 7.x MCP Server provides an MCP protocol interface for interacting with Elasticsearch 7.x, enabling integration through any compatible MCP client.
Key capabilities:
Check connection status: Use
es-pingto verify Elasticsearch server availabilityRetrieve cluster information: Use
es-infoto get detailed information about the Elasticsearch clusterSearch documents: Use
es-searchto perform comprehensive search operationsAdvanced search features: Support for aggregation queries, highlighting, sorting, filtering, and specifying source fields
Enables interaction with Elasticsearch 7.x instances, supporting basic operations like ping and info, as well as complete search functionality including aggregation queries, highlighting, sorting, and other advanced search features.
Utilizes environment variables through .env files to configure connection details for Elasticsearch, including host address, authentication credentials, and server port settings.
Supports connection to Kibana as part of an Elasticsearch deployment through the Docker Compose setup, providing visualization and management capabilities for Elasticsearch data.
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., "@Elasticsearch 7.x MCP Server search for 'error logs' in the application index from the last 24 hours"
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.
Elasticsearch 7.x MCP Server
An MCP server for Elasticsearch 7.x, providing compatibility with Elasticsearch 7.x versions.
Features
Provides an MCP protocol interface for interacting with Elasticsearch 7.x
Supports basic Elasticsearch operations (ping, info, etc.)
Supports complete search functionality, including aggregation queries, highlighting, sorting, and other advanced features
Easily access Elasticsearch functionality through any MCP client
Related MCP server: Elasticsearch/OpenSearch MCP Server
Requirements
Python 3.10+
Elasticsearch 7.x (7.17.x recommended)
Installation
Installing via Smithery
To install Elasticsearch 7.x MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @imlewc/elasticsearch7-mcp-server --client claudeManual Installation
pip install -e .Environment Variables
The server requires the following environment variables:
ELASTIC_HOST: Elasticsearch host address (e.g., http://localhost:9200)ELASTIC_USERNAME: Elasticsearch usernameELASTIC_PASSWORD: Elasticsearch passwordMCP_PORT: (Optional) MCP server listening port, default 9999
Using Docker Compose
Create a
.envfile and setELASTIC_PASSWORD:
ELASTIC_PASSWORD=your_secure_passwordStart the services:
docker-compose up -dThis will start a three-node Elasticsearch 7.17.10 cluster, Kibana, and the MCP server.
Using an MCP Client
You can use any MCP client to connect to the MCP server:
from mcp import MCPClient
client = MCPClient("localhost:9999")
response = client.call("es-ping")
print(response) # {"success": true}API Documentation
Currently supported MCP methods:
es-ping: Check Elasticsearch connectiones-info: Get Elasticsearch cluster informationes-search: Search documents in Elasticsearch index
Search API Examples
Basic Search
# Basic search
search_response = client.call("es-search", {
"index": "my_index",
"query": {
"match": {
"title": "search keywords"
}
},
"size": 10,
"from": 0
})Aggregation Query
# Aggregation query
agg_response = client.call("es-search", {
"index": "my_index",
"size": 0, # Only need aggregation results, no documents
"aggs": {
"categories": {
"terms": {
"field": "category.keyword",
"size": 10
}
},
"avg_price": {
"avg": {
"field": "price"
}
}
}
})Advanced Search
# Advanced search with highlighting, sorting, and filtering
advanced_response = client.call("es-search", {
"index": "my_index",
"query": {
"bool": {
"must": [
{"match": {"content": "search term"}}
],
"filter": [
{"range": {"price": {"gte": 100, "lte": 200}}}
]
}
},
"sort": [
{"date": {"order": "desc"}},
"_score"
],
"highlight": {
"fields": {
"content": {}
}
},
"_source": ["title", "date", "price"]
})Development
Clone the repository
Install development dependencies
Run the server:
elasticsearch7-mcp-server
License
[License in LICENSE file]
Available Tools
3 toolsTool 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: es-info retrieves server information, es-ping checks connectivity, and es-search performs document searches. There is no overlap or ambiguity between these functions, making tool selection straightforward for an agent.
All tool names follow a consistent 'es-' prefix and underscore-separated verb pattern (es-info, es-ping, es-search). This predictable naming convention enhances readability and usability across the tool set.
With only 3 tools, the server feels thin for an Elasticsearch domain, which typically involves operations like indexing, updating, deleting, and aggregating documents. The count is too low to cover the expected scope of a database/search engine server.
The tool set is severely incomplete for Elasticsearch functionality. It lacks essential CRUD operations (e.g., create, update, delete documents), index management, and query features beyond basic search, which will likely cause agent failures in handling typical database tasks.
Maintenance
Related MCP Connectors
Agent-driven search: build, import, tune, search, and score result quality — all over MCP.
A paid remote MCP for Context7 MCP docs, built to return verdicts, receipts, usage logs, and audit-r
MCP server for searching Airweave collections with natural language queries.
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
- AlicenseBqualityDmaintenanceAn MCP server that enables interaction with Elasticsearch and OpenSearch clusters for searching documents and managing indices. It provides tools for cluster health monitoring, index configuration, and general API requests.16Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables secure and efficient interaction with Elasticsearch clusters through the Model Context Protocol, providing tools for data management, search, and export.10,054 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables read-only interaction with Elasticsearch, supporting listing indices, retrieving mappings, and executing search/aggregation queries via MCP.-