用途:对你自己已运行的 Elasticsearch 集群做只读日志搜索,不安装集群、不建索引,只查询已有数据。服务器为 elasticsearch-mcp(docker.elastic.co/mcp/elasticsearch,Apache-2.0,镜像按 digest 固定),共 5 个工具。
主要能力与工具:list_indices 查看索引及文档数(参数 index_pattern,用 *);get_mappings 查字段名与类型(参数 index);search 用 Query DSL 取回匹配文档(参数 index、query_body);esql 用于计数、聚合、分组、排序(参数 query);get_shards 在结果不完整时查分片健康。参数名为 snake_case,写错会直接报反序列化错误。
关键限制:裸 search 的总数上限为 10000,且会丢弃 total relation 的 gte 标记,直接显示 Total results: 10000,看起来像精确值。任何“有多少、多频繁、哪个最多”等会被采信的数字,应改用 esql 的 STATS COUNT(*) 或在 query_body 中加 "track_total_hits": true;裸 search 只用于取示例文档。查询前先用 get_mappings 确认字段,文本字段常用 foo 加 foo.keyword,分组、排序和精确匹配用 .keyword。返回空只代表该查询没命中,不等于事件未发生,报告时应写“在 <index> 的 <range> 内无匹配事件”。
配置:ES_URL(容器内可达地址,本机集群用 http://host.docker.internal:9200)、ES_API_KEY(优先)或 ES_USERNAME/ES_PASSWORD、ES_SSL_SKIP_VERIFY(仅实验环境跳过证书校验)。全部工具只读,无写入动词,建议使用仅有 read/view_index_metadata 权限的 API key。该服务器已被 Elastic 弃用,仅接收关键安全更新;替代方案 Agent Builder 的 MCP 端点自管理版属企业版。若日志不在 Elasticsearch,应改用对应后端技能,不要盲查多个后端。