使用说明

项目简介

Elasticsearch MCP Server 是一个 Model Context Protocol (MCP) 服务器的实现,它充当 LLM 客户端和 Elasticsearch 集群之间的桥梁。该服务器将 Elasticsearch 的功能以 MCP 工具的形式暴露出来,使 LLM 能够利用 Elasticsearch 进行信息检索和集群管理。

主要功能点

  • 索引操作: 列出 Elasticsearch 集群中的所有索引、获取指定索引的 Mapping 配置和 Settings 配置。
  • 文档操作: 使用 Elasticsearch Query DSL 在指定索引中搜索文档。
  • 集群操作: 获取 Elasticsearch 集群的健康状态和集群统计信息。

安装步骤

  1. 启动 Elasticsearch 集群: 按照仓库 README 文件的指引,使用 Docker Compose 启动本地 Elasticsearch 集群。
  2. 安装 MCP 服务器: 根据 README 文件,可以选择以下方式安装 Elasticsearch MCP Server:
    • 选项 1 (Smithery): 如果使用 Claude Desktop,可以通过 Smithery 自动安装。
    • 选项 2 (uvx): 使用 'uvx' 从 PyPI 安装,无需本地克隆仓库。
    • 选项 3 (uv - 本地开发): 克隆仓库到本地,并使用 'uv' 运行本地代码。

服务器配置 (MCP 客户端配置,例如 Claude Desktop)

以下 JSON 配置信息用于配置 MCP 客户端(如 Claude Desktop)连接 Elasticsearch MCP Server。请将以下配置添加到 Claude Desktop 的配置文件 'claude_desktop_config.json' 中。

{
  "mcpServers": {
    "elasticsearch-mcp-server": {  // 服务器名称,可以自定义
      "command": "uvx",           // 运行服务器的命令,uvx 用于从 PyPI 安装的包
      "args": [
        "elasticsearch-mcp-server" // 命令参数,这里是 uvx 要执行的包名
      ],
      "env": {                   // 服务器运行需要的环境变量
        "ELASTIC_HOST": "https://localhost:9200",   // Elasticsearch 主机地址
        "ELASTIC_USERNAME": "elastic",    // Elasticsearch 用户名
        "ELASTIC_PASSWORD": "test123"     // Elasticsearch 密码
      }
    }
  }
}

基本使用方法

完成安装和配置后,即可在 LLM 客户端中使用自然语言指令与 Elasticsearch 集群交互。例如,您可以提问:

  • "列出集群中的所有索引"
  • "在索引 'my_index' 中搜索关键词 'example' 的文档"
  • "集群的健康状态如何?"

注意: 请根据实际 Elasticsearch 集群的地址、用户名和密码修改 'ELASTIC_HOST', 'ELASTIC_USERNAME', 'ELASTIC_PASSWORD' 环境变量的值。

信息

分类

数据库与文件