Elasticsearch MCP Server

by awesimon
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Connects to Elasticsearch clusters allowing interaction with indices through natural language, including listing indices, retrieving mappings, performing searches, managing index templates, bulk operations, reindexing data, and monitoring cluster health.

Elasticsearch MCP 服务器

English |中文

MCP 服务器可从任何 MCP 客户端(如 Claude Desktop、Cursor)直接连接到您的 Elasticsearch 集群。

该服务器使用模型上下文协议 (MCP) 将代理连接到您的 Elasticsearch 数据。它允许您通过自然语言对话与您的 Elasticsearch 索引进行交互。

演示

功能概述

可用功能

集群管理

  • elasticsearch_health :获取 Elasticsearch 集群健康状态,可选包括索引级详细信息

索引操作

  • list_indices :列出可用的 Elasticsearch 索引,支持正则表达式
  • create_index :使用可选设置和映射创建 Elasticsearch 索引
  • reindex :使用可选查询和脚本将数据从源索引重新索引到目标索引

地图管理

  • get_mappings :获取特定 Elasticsearch 索引的字段映射
  • create_mapping :创建或更新 Elasticsearch 索引的映射结构

搜索和数据操作

  • search :使用提供的查询 DSL 执行 Elasticsearch 搜索
  • bulk :将批量数据放入 Elasticsearch 索引中

模板管理

  • create_index_template :创建或更新索引模板
  • get_index_template :获取有关索引模板的信息
  • delete_index_template :删除索引模板

工作原理

  1. MCP 客户端分析您的请求并确定需要哪些 Elasticsearch 操作。
  2. MCP 服务器执行这些操作(列出索引、获取映射、执行搜索)。
  3. MCP 客户端处理结果并以用户友好的格式呈现。

入门

先决条件

  • Elasticsearch 实例
  • Elasticsearch 身份验证凭据(API 密钥或用户名/密码)
  • MCP 客户端(例如 Claude Desktop、Cursor)

安装和设置

使用已发布的 NPM 包

[!TIP] 使用 Elasticsearch MCP Server 最简单的方法是通过已发布的 npm 包。

  1. 配置 MCP 客户端
    • 打开您的 MCP 客户端。查看MCP 客户端列表,这里我们正在配置 Claude 桌面。
    • 前往**“设置”>“开发者”>“MCP 服务器”**
    • 单击Edit Config并添加具有以下配置的新 MCP 服务器:
    { "mcpServers": { "elasticsearch-mcp": { "command": "npx", "args": [ "-y", "@awesome-ai/elasticsearch-mcp" ], "env": { "ES_HOST": "your-elasticsearch-host", "ES_API_KEY": "your-api-key" } } } }
  2. 开始对话
    • 在您的 MCP 客户端中打开一个新对话。
    • MCP 服务器应该会自动连接。
    • 您现在可以询问有关 Elasticsearch 数据的问题。

配置选项

Elasticsearch MCP 服务器支持配置选项来连接到您的 Elasticsearch:

[!NOTE] 您必须提供 API 密钥或用户名和密码进行身份验证。

环境变量描述必需的
ES_HOST您的 Elasticsearch 实例 URL(也支持旧版HOST是的
ES_API_KEY用于身份验证的 Elasticsearch API 密钥(也支持旧版API_KEY
ES_USERNAME用于基本身份验证的 Elasticsearch 用户名(也支持旧版USERNAME
ES_PASSWORD用于基本身份验证的 Elasticsearch 密码(也支持旧版PASSWORD
ES_CA_CERTElasticsearch SSL/TLS 的自定义 CA 证书路径(也支持旧版CA_CERT

本地开发

[!NOTE] 如果您想修改或扩展 MCP 服务器,请按照这些本地开发步骤操作。

  1. 使用正确的 Node.js 版本
    nvm use
  2. 安装依赖项
    npm install
  3. 构建项目
    npm run build
  4. 在 Claude 桌面应用程序中本地运行
    • 打开Claude 桌面应用程序
    • 前往**“设置”>“开发者”>“MCP 服务器”**
    • 单击Edit Config并添加新的 MCP 服务器,其配置如下:GXP5
  5. 在 Cursor Editor 中本地运行
    • 打开光标编辑器
    • 前往**“光标设置”>“MCP”**
    • 点击Add new global MCP Server ,并添加一个新的 MCP 服务器,配置如下:GXP6
  6. 使用 MCP Inspector 进行调试
    ES_HOST=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspector
    这将启动 MCP 检查器,允许您调试和分析请求。您应该看到:
    Starting MCP inspector... ⚙️ Proxy server listening on port 6277 🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

示例查询

[!TIP] 您可以使用 MCP 客户端尝试以下一些自然语言查询。

集群管理

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

索引操作

  • “我的 Elasticsearch 集群中有哪些索引?”
  • “创建一个名为‘用户’的新索引,其中包含 3 个分片和 1 个副本。”
  • “将数据从‘old_index’重新索引到‘new_index’。”

地图管理

  • “显示‘产品’索引的字段映射。”
  • “在‘产品’索引中添加一个名为‘标签’的关键字类型字段。”

搜索和数据操作

  • “查找上个月所有超过 500 美元的订单。”
  • “哪些产品获得最多五星评价?”
  • “将这些客户记录批量导入到‘客户’索引中。”

模板管理

  • “为模式为‘logs-*’的日志创建索引模板。”
  • “显示我的所有索引模板。”
  • “删除‘outdated_template’索引模板。”

如果您遇到问题,请随时在 GitHub 存储库上打开问题。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

使用模型上下文协议将代理连接到 Elasticsearch 数据,允许通过 MCP 客户端(如 Claude Desktop 和 Cursor)与 Elasticsearch 索引进行自然语言交互。

  1. Demo
    1. Feature Overview
      1. Available Features
      2. How It Works
    2. Getting Started
      1. Prerequisites
      2. Installation & Setup
      3. Configuration Options
    3. Local Development
      1. Example Queries
        1. Cluster Management
        2. Index Operations
        3. Mapping Management
        4. Search & Data Operations
        5. Template Management
      ID: p1bzvj7dt9