
Elasticsearch/OpenSearch MCP Server

2025.04.07
104
Python搜索服务集群管理数据库
Elasticsearch/OpenSearch MCP Server 是一个基于模型上下文协议(MCP)的服务实现,专为与Elasticsearch和OpenSearch交互而设计。它提供了一系列工具,用于搜索文档、分析索引和管理集群,使得用户能够通过自然语言命令与Elasticsearch/OpenSearch集群进行交互。
View on GitHub
Overview
基本能力
产品定位
Elasticsearch/OpenSearch MCP Server 是一个中间件服务,旨在简化与Elasticsearch和OpenSearch集群的交互,提供自然语言处理能力,使得非技术用户也能轻松管理搜索集群。
核心功能
- 索引操作:包括列出索引、获取索引信息、创建和删除索引。
- 文档操作:支持搜索文档、索引文档、获取文档、删除文档及按查询删除文档。
- 集群操作:提供集群健康状态和统计信息的获取。
- 别名操作:管理索引别名,包括列出、获取、创建和删除别名。
适用场景
- 需要简化Elasticsearch/OpenSearch集群管理的场景。
- 希望通过自然语言命令与搜索集群交互的应用。
- 开发和生产环境中需要快速部署和测试Elasticsearch/OpenSearch功能的场景。
工具列表
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
:删除索引别名。
常见问题解答
- 如何启动Elasticsearch/OpenSearch集群? 使用Docker Compose命令启动集群,具体命令见安装教程。
- 如何配置环境变量?
复制
.env.example
文件到.env
并更新相应值。 - 如何通过Claude Desktop使用? 可通过Smithery自动安装或手动配置Claude Desktop的配置文件。
使用教程
使用依赖
- Docker
- Docker Compose
安装教程
- 启动Elasticsearch/OpenSearch集群 ```bash # For Elasticsearch docker-compose -f docker-compose-elasticsearch.yml up -d
# For OpenSearch
docker-compose -f docker-compose-opensearch.yml up -d
2. **通过Smithery安装**
bash
npx -y @smithery/cli install elasticsearch-mcp-server --client claude
``
3. **手动配置Claude Desktop**
编辑
claude_desktop_config.json`文件,添加相应配置。
调试方式
- 访问Kibana/OpenSearch Dashboards:http://localhost:5601
- 使用自然语言命令测试交互,如"List all indices in the cluster"。