IE

imlewc/elasticsearch7-mcp-server

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

11 stars 8 forks 품질 61 트렌드 8Apache-2.0

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 username
  • ELASTIC_PASSWORD: Elasticsearch password
  • MCP_PORT: (Optional) MCP server listening port, default 9999

Using Docker Compose

  1. Create a .env file and set ELASTIC_PASSWORD:
ELASTIC_PASSWORD=your_secure_password
  1. 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 connection
  • es-info: Get Elasticsearch cluster information
  • es-search: Search documents in Elasticsearch index

Search API Examples

# 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
            }
GitHub에서 전체 README 보기

설치

npx -y @smithery/cli install @imlewc/elasticsearch7-mcp-server --client claude
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →