README
🚀 Elasticsearch MCP 服务器
Elasticsearch MCP 服务器是一款用于管理 Elasticsearch 集群的工具,支持集群健康检查、索引管理等多种操作。通过与 MCP 客户端集成,用户能以自然语言便捷交互,高效管理集群,提升工作效率。
🚀 快速开始
先决条件
- Elasticsearch 集群正常运行且可访问。
- Node.js 环境已配置到位。
- npm 已安装并可用。
安装与设置
-
使用 npm 包:
npm install elastic-mcp-server -
配置 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 集群。无论是开发人员还是运维工程师,都可以从中受益,提升工作效率。
Scan to join WeChat group