About Elasticsearch7 MCP Server
Elasticsearch7 MCP Server is an MCP server in the Search category: elasticsearch7 mcp server.
Install
git clone https://github.com/imlewc/elasticsearch7-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Elasticsearch7 MCP Server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
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
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 claude
Manual 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_password
- Start the services:
docker-compose up -d
This 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]
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.
