随着大语言模型在企业级研发和运维工作流中的深度普及,研发与 SRE 团队日常的排障、研发动作正在快速向企业协同终端收拢。在腾讯内部,WorkBuddy(腾讯工作伙伴) 已经成为了连接员工与日常开发、运维系统的核心 AI 协同端。
在传统的运维和检索架构中,如果你想要在本地终端(如 WorkBuddy 客户端、Cursor 或 VS Code)中调度部署在 Elastic Cloud 上的智能体,或者直接利用 Elasticsearch
强大的日志和指标分析能力,你必须编写繁琐的中间件、手动转发 API,或者频繁在 Kibana 界面和工作软件之间来回切换。这不仅严重割裂了工作流,也推高了整体的研发和运维响应时间。
Kibana 官方最新推出的 Agent Builder MCP Server(Serverless / Stack GA 9.3+)彻底终结了这一痛点。
通过原生实现 Model Context Protocol(MCP,模型上下文协议),Kibana 直接充当了高可用的 MCP 远程服务端。用户可以直接使用 WorkBuddy 作为 MCP 客户端,通过一条安全通道,将云端
Elasticsearch(例如我的演示集群 lex-demo)上的各种分析工具直接挂载到本地会话中。
本文将作为一份详尽的、生产级可复制的用户指南,为你彻底剖析 Kibana MCP Server 的底层原语,手把手教你如何完成安全特权签发、本地客户端挂载。
在着手配置之前,我们必须首先理清一个核心的技术概念:“在 WorkBuddy 等客户端中,大模型是如何感知并调用 Elastic 远程能力的?”
许多人在进行技术验证时,会产生一个直觉上的误区,认为 MCP 协议应该能直接向客户端传递一个名叫 “SRE Agent” 或 “Log Agent” 的智能体实体。但事实上,如果你查阅 Anthropic 牵头制定的标准 MCP
开源规范,你会发现标准 MCP 协议层面完全没有原生的 “Agent” 概念。
MCP 在设计之初,为了保证协议的极简性、状态的解耦性以及跨客户端的通用性,仅仅定义了三种核心交互原语:
postgres://db/table 或 elastic://streams/logs)。由于协议层面只有这三种原语,这意味着**本地客户端的大脑(如 WorkBuddy 内部运行的大模型)在连接到 Kibana MCP Server 时,它看到的仅仅是一个“摊开的、无状态的工具和资源库”,而不是一个活生生的、有自主思考能力的
Agent。**
那么,如果我们希望在本地 WorkBuddy 中一键执行复杂的、包含多轮思考、需要自主调度各种子工具的“Agent 级”诊断任务,该怎么办?
答案是:在 Kibana 服务端,利用 Workflow(工作流)将复杂的多步 Agentic 逻辑进行封装,并将其对外“伪装”成一个符合标准 MCP Primitives 的普通单次调用工具(Tools)。
┌─────────────────────────────────────────────────────────────────────────┐
│ WorkBuddy 客户端 (MCP Client) │
│ │
│ 发起了单次的、确定性的工具调用请求: │
│ tools/call -> run_rca_diagnostic_workflow(service_name="checkout") │
└────────────────────────────────────┬────────────────────────────────────┘
│ (标准 JSON-RPC 2.0 报文)
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Kibana 远程安全沙箱 (MCP Server 端) │
│ │
│ 在服务端内部,该“工具”启动了一个完整、复杂的 Agentic Workflow 状态机: │
│ │
│ [Step 1: 拉取最近日志] ──► [Step 2: 过滤 Error] ──► [Step 3: 调用 Agent] │
│ (执行诊断与知识库匹配) │
│ │ │
│ [返回标准结构化 JSON 报告] ◄──────────────────────────────────┴───────┘ │
└────────────────────────────────────┬────────────────────────────────────┘
│ (单次、确定的结构化输出)
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ WorkBuddy 客户端 (MCP Client) │
│ │
│ 优雅、低成本、高可控地在聊天框中渲染最终的 RCA 故障结论 │
└─────────────────────────────────────────────────────────────────────────┘lex-demo 上签发 MCP 专属凭证要让本地的 WorkBuddy 安全、顺畅地连入你的 lex-demo 远程 Elasticsearch 集群,你必须签发一个专用的安全 API Key。由于 Kibana 负责 MCP 路由与应用层工具的管理,直接使用普通的
Elasticsearch 数据 API Key 会遇到 403 Forbidden 报错。
我们必须为 API Key 赋予 Kibana 应用级特权(Application Privileges)。
打开你的 Kibana 开发者工具(Dev Tools),运行以下 POST /_security/api_key 请求。这是一个生产级的、遵循最小权限原则(Least Privilege)的凭证模版:
POST /_security/api_key
{
"name": "workbuddy-mcp-sre-key",
"expiration": "30d",
"role_descriptors": {
"mcp-sre-accessor": {
"cluster": ["monitor_inference"],
"indices": [
{
"names": [
".ds-logs-apm.error-*",
".ds-metrics-hostmetricsreceiver.otel-*",
"logs-abnormal_demo_*"
],
"privileges": ["read", "view_index_metadata"]
}
],
"applications": [
{
"application": "kibana-.kibana",
"privileges": [
"feature_agentBuilder.read",
"feature_actions.read"
],
"resources": [
"space:default"
]
}
]
}
}
}cluster: ["monitor_inference"]:必选特权。允许该 Key 调用部署在 Elastic Inference Service (EIS) 上的 AI
语言模型及向量模型,用于工作流内部的语义理解和推理。indices:数据安全红线。在这里,我们将 API Key 的访问范围严格限定在 APM
错误日志流(.ds-logs-apm.error-*)、主机性能指标流(.ds-metrics-hostmetricsreceiver.otel-*)以及应用异常日志(logs-abnormal_demo_*)上。即使该 Key
丢失,攻击者也绝对无法查询你集群上的其他核心业务索引。application: "kibana-.kibana":最关键的 Kibana 专属特权通道。 必须精确指向 kibana-.kibana,向 Kibana 注册:feature_agentBuilder.read:允许客户端读取并列出 Agent Builder 中定义的所有工具与工作流。feature_actions.read:允许客户端触发和执行这些工作流工具。resources: ["space:default"]:将工具库隔离在 Kibana 的 default(默认)工作空间中,防止跨 Space 越权。运行该请求后,ES 会返回如下响应,请妥善保存其中的 api_key(即 Base64 编码后的凭证):
{
"id": "TGpIcFBad0JsSFdTVzFkT2dtLWU",
"name": "workbuddy-mcp-sre-key",
"expiration": 1786502400000,
"api_key": "xxxxx=="
}在 WorkBuddy 中,所有的外部工具扩展都需要通过配置文件进行挂载。整个过程非常简单,只需要在
WorkBuddy 中添加连接器,别填入正确的 mcpServer信息即可

在你的本地 WorkBuddy 安装目录下的 MCP 配置文件中,加入以下配置块。将第一步生成的 ApiKey 精准写入 Header 头:
{
"mcpServers": {
"lex-demo-agent-builder": {
"command": "npx",
"args": [
"mcp-remote",
"https://lex-demo.kb.ap-east-1.aws.elastic-cloud.com/s/default/api/agent_builder/mcp",
"--header",
"Authorization:ApiKey V1Rob1dwOEJIT2laX2lPQWhxWE06cjAwbzJwN0RuTzJMQXNSeWptd29PZw=="
],
"disabled": false
}
}
}npx:在本地无需手动全局安装任何依赖,npx 会自动、无感地拉取并执行 mcp-remote。它会作为本地的一个子进程(stdio 模式运行),将本地大模型的 stdio
标准输入输出,无缝打包成标准 JSON-RPC 2.0 报文,通过 HTTPS 协议代理发送到远程。/s/default/ 路径:Kibana 采用 Space(空间)隔离路由。如果你的 Agent 部署在特定空间(例如名字叫 sre-space),请务必将路径修改为
/s/sre-space/api/agent_builder/mcp。--header 注入:这是通过安全认证的唯一通道。请确保格式为 ApiKey <Base64_Key>,注意 ApiKey 与密钥之间有一个空格。配置保存后,彻底重启你的 WorkBuddy 客户端。在对话窗口中,你会看到工具栏中新增了来自 lex-demo-agent-builder 的工具注册,这标志着连接已经完美建立!

在 AI 时代的微服务和数据架构中,我们不要被酷炫的“Agent”外表蒙蔽,而要回归系统工程学的本质。
通过本文的实战,我们明确了:
Tools / Resources / Prompts,没有 Agent 原语。lex-demo 集群最深度、最安全、最省钱的 SRE 故障斩首排查。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。