用于连接到您的 Elasticsearch 集群的 MCP 服务器(如 Claude Desktop, Cursor)。
此服务器通过模型上下文协议将代理连接到您的 Elasticsearch 数据。它允许您通过自然语言对话与您的 Elasticsearch 索引进行交互。
elasticsearch_health: 获取 Elasticsearch 集群健康状态,可选包括索引级别的详细信息list_indices: 列出可用的 Elasticsearch 索引,支持正则表达式create_index: 创建 Elasticsearch 索引,可选设置和映射reindex: 将数据从源索引重新索引到目标索引,可选查询和脚本get_mappings: 获取特定 Elasticsearch 索引的字段映射create_mapping: 创建或更新 Elasticsearch 索引的映射结构search: 执行 Elasticsearch 查询,提供查询 DSLbulk: 批量导入数据到 Elasticsearch 索引create_index_template: 创建或更新索引模板get_index_template: 获取关于索引模板的信息delete_index_template: 删除索引模板[!TIP] 使用 Elasticsearch MCP 服务器最简单的方法是通过已发布的 npm 包。
配置 MCP 客户端
编辑配置 并添加一个新的 MCP 服务器,配置如下:{
"mcpServers": {
"elasticsearch-mcp": {
"command": "npx",
"args": [
"-y",
"@awesome-ai/elasticsearch-mcp"
],
"env": {
"ES_HOST": "your-elasticsearch-host",
"ES_API_KEY": "your-api-key"
}
}
}
}
启动对话
Elasticsearch MCP 服务器支持配置选项以连接到您的 Elasticsearch:
[!NOTE] 您必须提供 API 密钥或用户名和密码来进行认证。
| 环境变量 | 描述 | 是否必需 |
|---|---|---|
ES_HOST | 您的 Elasticsearch 实例 URL(支持单个 URL 或逗号分隔的多个 URL,也支持旧版 HOST) | 是 |
ES_API_KEY | Elasticsearch API 密钥用于认证(也支持旧版 API_KEY) | 否 |
ES_USERNAME | Elasticsearch 用户名用于基本认证(也支持旧版 USERNAME) | 否 |
ES_PASSWORD | Elasticsearch 密码用于基本认证(也支持旧版 PASSWORD) | 否 |
ES_CA_CERT | 自定义 CA 证书路径用于 Elasticsearch SSL/TLS(也支持旧版 CA_CERT) | 否 |
您可以配置多个 Elasticsearch 节点以实现高可用性和负载均衡:
{
"mcpServers": {
"elasticsearch-mcp": {
"command": "npx",
"args": [
"-y",
"@awesome-ai/elasticsearch-mcp"
],
"env": {
"ES_HOST": "https://es-node1:9200,https://es-node2: 9200,https://es-node3:9200",
"ES_API_KEY": "your-api-key"
}
}
}
}
客户端将自动处理节点之间的故障转移和负载均衡。
[!NOTE] 如果您想修改或扩展 MCP 服务器,请遵循以下本地开发步骤。
使用正确的 Node.js 版本
nvm use
安装依赖项
npm install
构建项目
npm run build
在 Claude Desktop 应用中本地运行
编辑配置 并添加一个新的 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"
}
}
}
}
在 Cursor 编辑器中本地运行
添加新的全局 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"
}
}
}
}
使用 MCP Inspector 进行调试
ES_HOST=your-elasticsearch-url ES_API_KEY=your-api-key npm run inspector
这将启动 MCP Inspector,允许您调试和分析请求。您应该看到:
正在启动 MCP inspector...
⚙️ 代理服务器正在监听端口 6277
🔍 MCP Inspector 正在运行于 http://127.0.0.1:6274 🚀
[!TIP] 这里有一些自然语言查询,您可以尝试使用您的 MCP 客户端。
如果您遇到问题,请随时在 GitHub 存储库中提交问题。