通过 MCP 客户端(如 Claude Desktop),您可以直接连接到自己的 Elasticsearch 数据。本服务器借助 Model Context Protocol (MCP) 将代理连接至 Elasticsearch 数据,支持您通过自然语言对话与 Elasticsearch 索引进行交互。
elasticsearch.yml 文件,添加以下内容:plugins.security.enabled: true
plugins.security.ssl.enabled: true
重启 Elasticsearch 服务以应用更改。
使用 MCP 客户端(如 Claude Desktop)连接到 Elasticsearch。
本服务器提供了以下工具,方便您与 Elasticsearch 进行交互:
list_indices:列出所有可用的 Elasticsearch 索引。get_mappings:获取特定 Elasticsearch 索引的字段映射。搜索:使用提供的查询 DSL 执行 Elasticsearch 搜索。get_shards:获取所有或特定索引的分片信息。⚠️ 重要提示 避免使用集群管理员权限。创建具有最小权限的专用 API 密钥,并在索引级别应用细粒度访问控制以防止未经授权的数据访问。
您可以创建一个具有有限权限的专用 Elasticsearch API 密钥:
POST /_security/api_key
{
"name": "es-mcp-server-access",
"role_descriptors": {
"mcp_server_role": {
"cluster": [
"monitor"
],
"indices": [
{
"names": [
"index-1",
"index-2",
"index-pattern-*"
],
"privileges": [
"read",
"view_index_metadata"
]
}
]
}
}
}
如果遇到问题,请在 GitHub 仓库中打开一个 issue。
本项目采用 Apache License 2.0 许可协议。