Back to MCP directory
publicPublicdnsLocal runtime

elasticsearch-mcp

Elasticsearch MCP Server是一个通过Model Context Protocol(MCP)连接Elasticsearch集群的服务,支持自然语言交互操作ES数据。

article

README

🚀 Elasticsearch MCP 服务器

Elasticsearch MCP 服务器是一款用于管理 Elasticsearch 集群的工具,支持集群健康检查、索引管理等多种操作。通过与 MCP 客户端集成,用户能以自然语言便捷交互,高效管理集群,提升工作效率。

🚀 快速开始

先决条件

  • Elasticsearch 集群正常运行且可访问。
  • Node.js 环境已配置到位。
  • npm 已安装并可用。

安装与设置

  1. 使用 npm 包

    npm install elastic-mcp-server
    
  2. 配置 MCP 客户端

    • 打开你的编辑器,进入 MCP 设置界面。
    • 添加新的全局 MCP 服务器,指定以下配置:
      {
        "mcpServers": {
          "elasticsearch-mcp": {
            "command": "node",
            "args": [
              "/path/to/your/project/dist/index.js"
            ],
            "env": {
              "ES_HOST": "your-elasticsearch-host",
              "ES_API_KEY": "your-api-key"
            }
          }
        }
      }
      

✨ 主要特性

可用功能

  • 集群管理:查看和监控 Elasticsearch 集群的整体状态。
  • 索引操作:创建、删除和查询索引信息。
  • 映射配置:定义和修改索引字段类型。
  • 数据操作:执行复杂查询、聚合分析以及批量导入数据。
  • 模板管理:管理和维护索引模板。

如何工作

MCP 客户端通过发送请求到 MCP 服务器,后者解析并执行相应的 Elasticsearch 操作。用户可以通过自然语言或命令行与 MCP 客户端交互,完成对 Elasticsearch 集群的管理任务。

💻 使用示例

本地开发

基础用法

# 使用正确的 Node.js 版本
nvm use
# 安装依赖
npm install
# 启动 MCP 服务器
node index.js

示例查询

集群管理

  • “我的 Elasticsearch 集群的健康状态如何?”
  • “集群中有多少个活跃节点?”

索引操作

  • “我有哪些 Elasticsearch 索引?”
  • “创建名为 'users' 的新索引,设置 3 个分片和 1 个副本。”
  • “从 'old_index' 重新索引数据到 'new_index'。”

映射配置

  • “查看 'users' 索引的映射信息。”
  • “为 'age' 字段添加整数类型约束。”

数据操作

  • “查找所有年龄大于 30 的用户。”
  • “统计过去一周用户的登录次数。”
  • “批量导入一批新用户数据。”

模板管理

  • “列出所有当前的索引模板。”
  • “应用指定的模板到新建索引。”

🔧 技术细节

配置选项

以下环境变量可配置 MCP 服务器的行为:

| 环境变量 | 描述 | 示例值 | |-------------------|------------------------------------|---------------------------| | ES_HOST | Elasticsearch 主机地址 | "http://localhost:9200" | | ES_API_KEY | Elasticsearch 认证密钥 | "your_api_key_here" |

通过这些功能,Elasticsearch MCP 服务器为用户提供了一种高效、便捷的方式来管理和操作 Elasticsearch 集群。无论是开发人员还是运维工程师,都可以从中受益,提升工作效率。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client