Elasticsearch/OpenSearch MCP 서버
개요
Elasticsearch와 OpenSearch 간의 상호작용을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 이 서버는 다양한 도구를 통해 문서 검색, 인덱스 분석, 클러스터 관리를 지원합니다.
Related MCP server: OpenSearch MCP Server
데모
https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15
특징
일반 운영
general_api_request: 일반적인 HTTP API 요청을 수행합니다. 전용 도구가 없는 Elasticsearch/OpenSearch API에 이 도구를 사용하세요.
인덱스 작업
list_indices: 모든 인덱스를 나열합니다.get_index: 하나 이상의 인덱스에 대한 정보(매핑, 설정, 별칭)를 반환합니다.create_index: 새로운 인덱스를 생성합니다.delete_index: 인덱스를 삭제합니다.
문서 작업
search_documents: 문서를 검색합니다.index_document: 인덱스에 문서를 생성하거나 업데이트합니다.get_document: ID로 문서를 가져옵니다.delete_document: ID로 문서를 삭제합니다.delete_by_query: 제공된 쿼리와 일치하는 문서를 삭제합니다.
클러스터 작업
get_cluster_health: 클러스터 상태에 대한 기본 정보를 반환합니다.get_cluster_stats: 클러스터 통계의 개요를 반환합니다.
별칭 작업
list_aliases: 모든 별칭을 나열합니다.get_alias: 특정 인덱스에 대한 별칭 정보를 가져옵니다.put_alias: 특정 인덱스에 대한 별칭을 만들거나 업데이트합니다.delete_alias: 특정 인덱스의 별칭을 삭제합니다.
환경 변수 구성
.env.example 파일을 .env 로 복사하고 값을 적절히 업데이트합니다.
Elasticsearch/OpenSearch 클러스터 시작
Docker Compose를 사용하여 Elasticsearch/OpenSearch 클러스터를 시작합니다.
지엑스피1
Elasticsearch의 기본 사용자 이름은 elastic 이고 비밀번호는 test123 입니다. OpenSearch의 기본 사용자 이름은 admin 이고 비밀번호는 admin 입니다.
http://localhost:5601 에서 Kibana/OpenSearch 대시보드에 액세스할 수 있습니다.
Claude Desktop과 함께 사용
옵션 1: Smithery를 통해 설치
Smithery를 통해 Claude Desktop에 Elasticsearch Server를 자동으로 설치하려면:
옵션 2: uvx 사용
uvx 사용하면 PyPI에서 패키지가 자동으로 설치되므로 로컬 저장소를 복제할 필요가 없습니다. Claude Desktop의 설정 파일 claude_desktop_config.json 에 다음 설정을 추가하세요.
옵션 3: 로컬 개발에 uv 사용
uv 사용하려면 로컬 저장소를 복제하고 소스 코드 경로를 지정해야 합니다. Claude Desktop의 설정 파일 claude_desktop_config.json 에 다음 설정을 추가하세요.
macOS의 경우:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows의 경우:
%APPDATA%/Claude/claude_desktop_config.json
새로운 MCP 서버를 로드하려면 Claude Desktop을 다시 시작하세요.
이제 Claude를 통해 다음과 같은 자연어 명령을 사용하여 Elasticsearch/OpenSearch 클러스터와 상호 작용할 수 있습니다.
"클러스터의 모든 인덱스를 나열합니다"
"학생 밥은 몇 살이에요?"
"클러스터 상태 보여주세요"
Anthropic MCP 클라이언트와 함께 사용
특허
이 프로젝트는 Apache 라이선스 버전 2.0에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.