Skip to main content
Glama
imlewc

Elasticsearch 7.x MCP Server

by imlewc

Elasticsearch 7.x MCP 서버

대장간 배지

Elasticsearch 7.x 버전과의 호환성을 제공하는 Elasticsearch 7.x용 MCP 서버입니다.

특징

  • Elasticsearch 7.x와 상호 작용하기 위한 MCP 프로토콜 인터페이스를 제공합니다.

  • 기본적인 Elasticsearch 작업(ping, info 등)을 지원합니다.

  • 집계 쿼리, 강조 표시, 정렬 및 기타 고급 기능을 포함한 완전한 검색 기능을 지원합니다.

  • 모든 MCP 클라이언트를 통해 Elasticsearch 기능에 쉽게 액세스하세요

Related MCP server: Elasticsearch MCP Server

요구 사항

  • 파이썬 3.10+

  • Elasticsearch 7.x(7.17.x 권장)

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop에 Elasticsearch 7.x MCP 서버를 자동으로 설치하려면:

지엑스피1

수동 설치

pip install -e .

환경 변수

서버에는 다음과 같은 환경 변수가 필요합니다.

  • ELASTIC_HOST : Elasticsearch 호스트 주소(예: http://localhost:9200 )

  • ELASTIC_USERNAME : Elasticsearch 사용자 이름

  • ELASTIC_PASSWORD : Elasticsearch 비밀번호

  • MCP_PORT : (선택 사항) MCP 서버 수신 포트, 기본값 9999

Docker Compose 사용

  1. .env 파일을 만들고 ELASTIC_PASSWORD 설정합니다.

ELASTIC_PASSWORD=your_secure_password
  1. 서비스 시작:

docker-compose up -d

이렇게 하면 3노드 Elasticsearch 7.17.10 클러스터, Kibana 및 MCP 서버가 시작됩니다.

MCP 클라이언트 사용

MCP 서버에 연결하려면 모든 MCP 클라이언트를 사용할 수 있습니다.

from mcp import MCPClient

client = MCPClient("localhost:9999")
response = client.call("es-ping")
print(response)  # {"success": true}

API 문서

현재 지원되는 MCP 방법:

  • es-ping : Elasticsearch 연결 확인

  • es-info : Elasticsearch 클러스터 정보 가져오기

  • es-search : Elasticsearch 인덱스에서 문서 검색

검색 API 예제

기본 검색

# Basic search
search_response = client.call("es-search", {
    "index": "my_index",
    "query": {
        "match": {
            "title": "search keywords"
        }
    },
    "size": 10,
    "from": 0
})

집계 쿼리

# 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 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"]
})

개발

  1. 저장소를 복제합니다

  2. 개발 종속성 설치

  3. 서버를 실행합니다: elasticsearch7-mcp-server

특허

[LICENSE 파일의 라이센스]

중국어 문서

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/imlewc/elasticsearch7-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server