Elastic MCP Apps 入门:安装与试用

0 阅读7分钟

作者:来自 Elastic 李捷

把 Elastic 的 SOC / SRE / 仪表盘工作流,以可交互界面的形式直接搬进 Claude 对话里。本文带你从零跑通第一个 app。

  1. 这到底是什么?

MCP App 是在 Model Context Protocol 基础上的扩展:工具服务器不只返回文本,还能返回一段可交互的 HTML 界面,直接渲染在 AI 对话里。你让 Claude 调用一个工具,回来的不是一段文字,而是一块能点、能拖、能下钻的面板。

Elastic 目前开源了三个 example app:

App

仓库

解决什么

安装难度

Observabilityelastic/example-mcp-app-observability

SRE 排障:服务健康、依赖图、ML 异常、K8s 影响面

⭐ 一键 .mcpb

Securityelastic/example-mcp-app-security

SOC 工作流:告警三角、Attack Discovery、Case、检测规则、Threat Hunt

⭐ 一键 .mcpb

Dashbuilderelastic/example-mcp-dashbuilder

用自然语言生成 Kibana 仪表盘并导出

⭐ 一键 .mcpb

本文以 Observability app + Claude Desktop 为主线走一遍完整流程(最省事),最后再补上另外两个。

2. 开始前的准备

你需要:

  1.  Claude Desktop(桌面客户端)。.mcpb 一键安装只在 Desktop 上有;它自带 Node 运行时,所以走这条路你不用单独装 Node

  2.  一个 Elasticsearch 9.x 集群,已启用 Security(Elastic Cloud 默认就开了)。

  3. 集群的 API key(下一步创建)。

  4. (可选)Kibana 地址:只有用到告警规则(manage-alerts)、Cases、Attack Discovery 这些功能时才需要。

  5.  集群里有对的数据——这点最容易被忽略,见 第 7 节。Observability app 最好连一个有 OpenTelemetry 数据的集群(比如跑着 OTel Demo 的那套)。

  6. 第一步:拿到连接信息


安装过程中会让你填两样东西:Elasticsearch URL 和 API key。提前备好。

Elasticsearch URL

登录 Elastic Cloud 控制台,进入你的 Deployment,直接复制 Elasticsearch endpoint(形如 https://<deployment>.es.<region>.<csp>.elastic-cloud.com)。不要手敲域名拼,复制最稳。

API key

在 Kibana 里:Stack Management → Security → API keys → Create API key

建议给最小权限,不要图省事直接用超级用户。Security 仓库里有一份「最小权限」文档(见仓库 PR #18 / docs),列出了 app 实际会读哪些索引;Observability app 则需要对你的 APM/指标索引有读权限,若用告警还需 Kibana Alerting 的相应权限。按各自仓库的权限说明配。

Kibana URL(可选)

如果要用告警/Case/Attack Discovery,把 Kibana 的访问地址也备上。不填 Kibana,Observability 的告警工具会以只读方式运行

  1. 第二步:安装 Observability app(一键 .mcpb

  1. 下载安装包:

    `https://github.com/elastic/example-mcp-app-observability/releases/latest/download/example-mcp-app-observability.mcpb`AI写代码
    
  2. 双击 下载到的 .mcpb 文件。Claude Desktop 会弹出安装对话框。

  3. 在对话框里填入第 3 步准备好的 Elasticsearch URL 和 API key(要用告警就再填 Kibana URL)。确认安装。

  4. 装好后,在 Claude Desktop 的设置里能看到这个 MCP server 已连接。

到这里,工具已经装上了。但还差一步——技能(Skills)。

  1. 第三步:装 Skills(别漏)

.mcpb 只带了 "工具本身",没带教 Claude "什么时候、怎么调用这些工具" 的技能。技能要单独上传。

  1. 回到 release 页面,下载各个技能 zip:
    observe.zipmanage-alerts.zipml-anomalies.zipapm-health-summary.zipapm-service-dependencies.zipk8s-blast-radius.zip

  2.  在 Claude Desktop 里:Customize → Skills → Create Skill → Upload a skill,逐个上传。

  3. 以后 app 升级了新版本,记得重新上传技能——光重启 Claude 不会刷新技能内容。

  1. 第四步:试用

直接在 Claude 对话里用大白话提问,技能会引导 Claude 选对工具。几个可以照抄的起手 prompt:

先看整体健康(最适合第一条)

`"看一下我集群现在的整体健康状况。"`AI写代码

查依赖关系

`"frontend 这个服务依赖哪些下游?调用量和延迟怎么样?"`AI写代码

找异常(需要先配过 ML job)

`"过去一小时有什么异常?"`AI写代码

评估 K8s 节点下线影响(需要 kubeletstats 指标)

`"如果某个节点下线,会影响哪些服务?"`AI写代码

临时跑个查询 / 盯一个指标(不挑数据格式)

`"把过去 30 分钟 checkout 服务的 p99 延迟拉一个实时图。"`AI写代码

如果界面是空的、或提示查不到数据,先别怀疑装错了——大概率是数据格式问题,看下一节。

  1. 一个关键前提:数据格式决定你能看到什么

 这是最常见的"以为装坏了"的坑。 这些 app 的界面分两类:

一类是"专用视图"——服务依赖图、进程树、攻击链、K8s 影响面这些。它们写死了索引模式和字段名,因为这种丰富的可视化本来就建立在"假设了一套已知 schema"之上(进程树要有进程父子字段才画得出来)。你的数据不在它假设的格式里,查询返回空,界面就是白板。 这不是 bug。

Observability app 走的是"在几套已知 schema 之间回退":优先查 OTel-native 数据,没有再退到经典 APM,再退到 ECS。所以它对 OpenTelemetry 数据支持最好;纯自定义格式的日志驱动不了 apm-* 和 k8s-blast-radius 这几个工具。

Security app 是三个里最依赖固定 schema 的——它本质是 Elastic Security 解决方案的另一套 UI,需要检测告警、ECS 字段、规则和 Case。空集群上想演示,用它自带的样例数据生成工具先造一批 ECS 安全事件。

另一类是"通用视图"——Observability 的 observemanage-alerts,以及整个 Dashbuilder。它们运行时先探你的索引和字段,再现写 ES|QL,不挑数据格式,你的数据长什么样都能跑。

一句话总结:界面越"专用好看",对数据格式要求越死;越"通用灵活",越不挑数据。 装之前先想清楚你的集群里有没有对应的数据。

  1. 加装另外两个 app

Security app(同样一键 .mcpb

和 Observability 流程一样:去 Security release 页 下载 .mcpb,双击安装,填 ES URL / API key(多数功能还要 Kibana URL),再按需上传它的技能。没真实告警数据时,用它的样例生成器铺数据。

Dashbuilder(也支持一键安装)

该仓库现已提供一键安装包,无需手动拉取源码、安装依赖:

一、Claude Desktop(最简单,双击安装)
    1. 直接下载官方 .mcpb 一键包:
      github.com/elastic/exa…
    1. 双击文件,Claude Desktop 会自动安装
    1. 按提示输入你的 Elasticsearch 凭证即可使用

二、Cursor / Claude Code / VS Code(免克隆、免 npm 安装)

直接在 MCP 配置文件中指向官方发布包,无需 git clone / npm install

`

1.  {
2.    "mcpServers": {
3.      "example-mcp-dashbuilder": {
4.        "type": "stdio",
5.        "command": "npx",
6.        "args": [
7.          "https://github.com/elastic/example-mcp-dashbuilder/releases/latest/download/example-mcp-dashbuilder.tgz"
8.        ]
9.      }
10.    }
11.  }

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)
凭证配置方式(二选一)
  1. 1. 环境变量:配置 ES_NODEES_API_KEY(或 ES_USERNAME/ES_PASSWORD)、KIBANA_URL

  2. 2. 源码配置(可选):克隆仓库后执行 npm run setup 向导配置

重启 Desktop 即连。它不挑数据格式,连任何有数据的集群都能用,试一句:

"探索一下我的索引,给我建一个尽可能有洞察的仪表盘。"

  1. 常见问题排查

现象

可能原因

界面空白 / 提示无数据

集群里没有对应格式的数据,见第 7 节;或 API key 缺对应索引的读权限

双击 .mcpb 没反应

没装 Claude Desktop,或不是用 Desktop 打开

工具装了但 Claude 不主动用

技能(Skills)没上传,见第 5 节

告警 / Case / Attack Discovery 不可用

没填 Kibana URL,或 key 缺 Kibana 权限

升级后行为没变

技能要重新上传,光重启不刷新

下载 .mcpb / zip 失败

检查到 GitHub releases 的网络访问

  1. 反馈与获取帮助

  • 三个仓库的 GitHub Issues 是唯一反馈渠道,回复尽力而为。

  • 再次提醒:Technical Preview,非官方支持,不要上生产。

附:版本与链接(撰写时)

  •  Observability app:v1.0.16 · github.com/elastic/example-mcp-app-observability

  • Security app:v1.0.5 · github.com/elastic/example-mcp-app-security

  • Dashbuilder:v1.0.0 · github.com/elastic/example-mcp-dashbuilder

  • 介绍文章:elastic.co/search-labs/blog/mcp-apps-elastic

releases/latest 链接会自动指向最新版;具体版本号和资产名以 release 页面实际显示为准。

原文:Elastic MCP Apps 入门:安装与试用