mcpField
E
Elasticsearch MCP 服务器

Elasticsearch MCP 服务器

本地服务
github.com/macgaf数据库473 周前更新

关于 Elasticsearch MCP 服务器

Elasticsearch MCP 服务器为使用 Elasticsearch 7 或 8 的开发者提供索引和集群查询工具。它支持 stdio 与 SSE 传输,并附带用于验证服务器的客户端。

主要功能

  1. 01列出集群索引
  2. 02获取索引字段映射
  3. 03执行支持高亮的搜索
  4. 04查看集群健康与统计
  5. 05兼容 Elasticsearch 7 和 8
  6. 06支持 stdio 与 SSE

适用场景

  1. 01检查 Elasticsearch 集群索引
  2. 02查看字段映射并搜索文档
  3. 03监控集群健康和运行状态

MCP 相关

该 MCP 服务向客户端提供索引列表、映射、搜索和集群状态工具,并支持 stdio 与 SSE。项目还包含可连接 SSE 服务的验证客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"es-mcp-server-macgaf": {
"command": "uvx",
"args": [
"es-mcp-server"
]
}
}
}
启动命令uvx es-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypies-mcp-server

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

Elasticsearch MCP 服务器

基于 Model Context Protocol (MCP) 的 Elasticsearch 工具服务器,提供索引查询、映射获取、搜索等功能。

其他语言版本: 🇺🇸 English | 🇫🇷 Français | 🇩🇪 Deutsch | 🇯🇵 日本語

项目目录结构

.
├── es_mcp_server/         # 服务器代码
│   ├── __init__.py        # 包初始化
│   ├── server.py          # 服务器主程序
│   ├── config.py          # 配置管理
│   ├── client.py          # ES客户端工厂
│   └── tools.py           # ES MCP工具实现
├── es_mcp_client/         # 客户端代码
│   ├── __init__.py        # 包初始化
│   └── client.py          # 客户端测试程序
├── test/                  # 单元测试
│   ├── __init__.py        # 测试包初始化
│   └── test_server.py     # 服务器单元测试
├── claude_config_examples/ # Claude配置示例
│   ├── elasticsearch_stdio_config.json # stdio模式配置
│   └── elasticsearch_sse_config.json   # sse模式配置
├── .vscode/               # VSCode配置
│   └── launch.json        # 调试配置
├── docs/                  # 文档
│   └── requires.md        # 需求文档
├── pyproject.toml         # 项目配置文件
├── README.md              # 中文说明文档
├── README.en.md           # 英文说明文档
├── README.fr.md           # 法语说明文档
├── README.de.md           # 德语说明文档
├── README.jp.md           # 日语说明文档
├── .gitignore             # Git忽略文件
└── LICENSE                # MIT许可证

服务器功能和使用说明

Elasticsearch MCP 服务器提供以下工具:

  1. list_indices - 显示 ES 集群的所有索引
  2. get_mappings - 返回指定索引的字段映射信息
  3. search - 在指定索引中执行搜索查询,支持高亮显示
  4. get_cluster_health - 获取 ES 集群的健康状态信息
  5. get_cluster_stats - 获取 ES 集群的运行状态统计信息
安装
# 从PyPI安装
pip install es-mcp-server

# 或从源码安装
pip install .

# 安装开发依赖
pip install ".[dev]"
配置

服务器通过环境变量或命令行参数进行配置:

环境变量说明默认值
ES_HOSTES 主机地址localhost
ES_PORTES 端口9200
ES_USERNAMEES 用户名无
ES_PASSWORDES 密码无
ES_API_KEYES API 密钥无
ES_USE_SSL是否使用 SSLfalse
ES_VERIFY_CERTS是否验证证书true
ES_VERSIONES 版本 (7 或 8)8
启动服务器
stdio 模式 (与 Claude Desktop 等客户端集成)
# 使用默认配置
uvx es-mcp-server

# 自定义 ES 连接
uvx es-mcp-server --host 192.168.0.13 --port 9200 --es-version 8
SSE 模式 (Web 服务器模式)
# 启动 SSE 服务器
uvx es-mcp-server --transport sse --host 192.168.0.13 --port 9200

客户端使用说明

项目包含一个用于验证服务器功能的客户端程序。

启动客户端
# 连接到默认 SSE 服务器 (http://localhost:8000/sse)
uvx es-mcp-client

# 自定义 SSE 服务器地址
uvx es-mcp-client --url http://example.com:8000/sse

对接其他工具

与 Claude Desktop 集成

Claude Desktop 可以通过 MCP 协议使用本服务,以便访问 Elasticsearch 数据。

stdio 模式配置

在 Claude Desktop 中添加以下配置:

{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "uvx",
      "args": ["es-mcp-server"],
      "env": {
        "ES_HOST": "your-es-host",
        "ES_PORT": "9200",
        "ES_VERSION": "8"
      }
    }
  }
}
SSE 模式配置

如果您已经启动了 SSE 模式的服务器,可以使用以下配置:

{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "url": "http://localhost:8000/sse"
    }
  }
}

单元测试

运行单元测试以验证功能:

pytest

开发调试

本项目包含 VSCode 调试配置,打开 VSCode 后可直接使用调试功能启动服务器或客户端。

注意事项

  • 本项目同时支持 Elasticsearch 7 和 8 版本的 API
  • 服务器默认使用 stdio 传输模式,适合与 Claude Desktop 等客户端集成
  • SSE 模式适合作为独立服务启动

许可证

MIT License


本项目的大部分代码、文档、配置示例都是用cursor的claude-3.7-sonnet根据需求文档 生成出来的(提示词:基于本文件生成项目所有程序)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。