
imlewc/elasticsearch7-mcp-server
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
elasticsearch7 mcp server
Обзор
An MCP server for Elasticsearch 7.x, providing compatibility with Elasticsearch 7.x versions. - 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 - Python 3.10+ - Elasticsearch 7.x (7.17.x recommended) To install Elasticsearch 7.x MCP Server for Claude Desktop automatically via Smithery: The server requires the following environment variables: - ELASTIC_HOST: Elasticsearch host address (e.g., http://localhost:9200) - ELASTIC_USERNAME: Elasticsearch username - ELASTIC_PASSWORD: Elasticsearch password - MCP_PORT: (Optional) MCP server listening port, default 9999 1. Create a .env file and set ELASTIC_PASSWORD: This will start a three-node Elasticsearch 7.17.10 cluster, Kibana, and the MCP server.
README
Показан фрагмент оригинального 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
}
Установка
npx -y @smithery/cli install @imlewc/elasticsearch7-mcp-server --client claude