링크된 문서
Elasticsearch
Elasticsearch
Elasticsearch MCP 서버는 LLM이 Elasticsearch 및 OpenSearch 데이터와 직접 상호작용할 수 있게 해주는 Model Context Protocol 서버입니다. 이 서버를 통해 자연어 대화로 Elasticsearch 인덱스를 검색하고 분석할 수 있습니다.
특징
- Elasticsearch 및 OpenSearch 클러스터와의 완벽한 통합
- 자연어 대화를 통한 데이터 검색 및 분석
- 인덱스 목록 조회 및 관리
- 필드 매핑 검사
- 복잡한 쿼리 DSL 검색 실행
- 샤드 정보 검색
- API 키 기반 인증 지원
- 역할 기반 접근 제어
주요 도구
인덱스 관리 도구
- list_indices: 사용 가능한 모든 Elasticsearch 인덱스 목록 조회
- get_shards: 모든 또는 특정 인덱스의 샤드 정보 검색
- get_mappings: 특정 Elasticsearch 인덱스의 필드 매핑 정보 검색
검색 도구
- search: 제공된 쿼리 DSL로 Elasticsearch 검색 수행
- simple_search: 텍스트 기반 간단한 검색 수행
- semantic_search: 임베딩 기반 시맨틱 검색 수행
- highlight_search: 자동 텍스트 하이라이팅 기능이 있는 검색 수행
API 관리 도구
- general_api_request: 전용 도구가 없는 Elasticsearch/OpenSearch API에 일반 HTTP API 요청 수행
설치 및 사용 방법
Claude Desktop 구성
Claude Desktop에서 Elasticsearch MCP 서버를 사용하기 위한 구성:
{
"mcpServers": {
"elasticsearch-mcp-server": {
"command": "npx",
"args": [
"-y",
"@elastic/mcp-server-elasticsearch"
],
"env": {
"ES_URL": "your-elasticsearch-url",
"ES_API_KEY": "your-api-key"
}
}
}
}
또는 사용자 이름과 비밀번호로 인증:
{
"mcpServers": {
"elasticsearch-mcp-server": {
"command": "npx",
"args": [
"-y",
"@elastic/mcp-server-elasticsearch"
],
"env": {
"ES_URL": "your-elasticsearch-url",
"ES_USERNAME": "your-username",
"ES_PASSWORD": "your-password"
}
}
}
}
OpenSearch 구성
OpenSearch를 사용하는 경우:
{
"mcpServers": {
"opensearch-mcp-server": {
"command": "uvx",
"args": [
"elasticsearch-mcp-server"
],
"env": {
"OPENSEARCH_HOSTS": "https://localhost:9200",
"OPENSEARCH_USERNAME": "admin",
"OPENSEARCH_PASSWORD": "admin"
}
}
}
}
보안 권장 사항
최소 권한의 원칙에 따라 전용 API 키 생성:
POST /_security/api_key
{
"name": "es-mcp-server-access",
"role_descriptors": {
"mcp_server_role": {
"cluster": [
"monitor"
],
"indices": [
{
"names": [
"index-1",
"index-2",
"index-pattern-*"
],
"privileges": [
"read",
"view_index_metadata"
]
}
]
}
}
}
프롬프트 예시
Elasticsearch MCP 서버와 상호작용하기 위한 예시 프롬프트:
- "내 Elasticsearch 클러스터에 어떤 인덱스가 있나요?"
- "'products' 인덱스의 필드 매핑을 보여주세요"
- "지난 달 $500 이상의 모든 주문을 찾아주세요"
- "가장 많은 5점 리뷰를 받은 제품은 무엇인가요?"
- "뉴욕 지역의 모든 고객 목록을 보여주세요"
- "지난 주 로그 인덱스에서 오류 메시지를 검색해주세요"
- "products 인덱스의 카테고리별 제품 수를 계산해주세요"
- "users 인덱스에서 최근에 가입한 상위 10명의 사용자를 찾아주세요"
연결된 구성 요소
- MongoDB - NoSQL 문서 기반 데이터베이스 서버
- Neo4j - 그래프 데이터베이스 서버
- Redis - 키-값 저장소 데이터베이스 서버
- PostgreSQL - 관계형 데이터베이스 서버