
imlewc/elasticsearch7-mcp-server
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
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