OpenSearch MCP Server

OpenSearch MCP Server

site icon
2025.04.28 0
PythonOpenSearch 交互数据库管理数据库
OpenSearch MCP Server 是一个通过自然语言与 OpenSearch 集群交互的服务,基于 Model Context Protocol (MCP) 协议。它提供了一系列工具,用于分析集群健康状态、批量操作文档、获取索引映射、搜索文档等功能。
View on GitHub

Overview

基本能力

产品定位

OpenSearch MCP Server 是一个用于与 OpenSearch 集群交互的中间服务,通过 MCP 协议提供自然语言操作能力。

核心功能

  1. 集群管理
  2. 获取集群健康状态 (opensearch_cluster_health)
  3. 获取集群统计信息 (opensearch_cluster_stats)
  4. 文档操作
  5. 批量写入文档 (opensearch_bulk)
  6. 获取单个文档 (opensearch_get_document)
  7. 索引管理
  8. 列出集群中的索引 (opensearch_list_indices)
  9. 创建索引 (opensearch_create_index)
  10. 删除索引 (opensearch_delete_index)
  11. 获取索引信息 (opensearch_get_index)
  12. 搜索功能
  13. 使用 DSL 查询索引 (opensearch_search)

适用场景

  • 通过自然语言快速查询 OpenSearch 集群状态
  • 批量导入或导出文档数据
  • 动态管理索引(创建、删除、查询)
  • 执行复杂的搜索查询

工具列表

  1. Cluster 工具
  2. opensearch_cluster_health:获取集群健康状态
  3. opensearch_cluster_stats:获取集群统计信息
  4. Document 工具
  5. opensearch_bulk:批量操作文档
  6. opensearch_get_document:获取单个文档
  7. Index 工具
  8. opensearch_list_indices:列出集群中的索引
  9. opensearch_create_index:创建索引
  10. opensearch_delete_index:删除索引
  11. opensearch_get_index:获取索引信息
  12. Search 工具
  13. opensearch_search:执行搜索查询

常见问题解答

  • 如何启动本地 OpenSearch 集群? 使用 docker-compose up -d 命令启动本地集群。
  • 如何停止集群? 使用 docker-compose down -v 命令停止集群。

使用教程

使用依赖

  1. 安装 Python 3.10+ 或更高版本
  2. 安装 uv

安装教程

从远程仓库运行

{
  "mcpServers": {
    "opensearch-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/loupipalien/opensearch-mcp-server",
        "opensearch-mcp-server"
      ],
      "env": {
        "OPENSEARCH_HOSTS": "your_opensearch_cluster_hosts",
        "OPENSEARCH_USERNAME": "your_opensearch_cluster_username",
        "OPENSEARCH_PASSWORD": "your_opensearch_cluster_password"
      }
    }
  }
}

从本地仓库运行

{
  "mcpServers": {
    "opensearch-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/repo/src/opensearch_mcp_server",
        "run",
        "server.py"
      ],
      "env": {
        "OPENSEARCH_HOSTS": "your_opensearch_cluster_hosts",
        "OPENSEARCH_USERNAME": "your_opensearch_cluster_username",
        "OPENSEARCH_PASSWORD": "your_opensearch_cluster_password"
      }
    }
  }
}

调试方式

  1. 启动本地 OpenSearch 集群:
export OPENSEARCH_INITIAL_ADMIN_PASSWORD=your_opensearch_cluster_password

docker-compose up -d
  1. 停止集群:
docker-compose down -v

许可证

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