Elasticsearch/OpenSearch MCP Server

Elasticsearch/OpenSearch MCP Server

site icon
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

安装教程

  1. 启动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"。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。