Skip to main content
AI SRE 面向 On-call 专业版及以上订阅的账户开放,无需申请。自 2026 年 9 月 16 日 8 点(北京时间)起,需在控制台开通后使用,并按实际用量计费,详见计费规则。

概述


MCP(Model Context Protocol)让 AI SRE Agent 接入外部工具与数据源。每台 MCP 服务器是一个对外暴露一组工具(函数)的标准化端点,例如查询 GitHub Issue、向 Slack 发消息、读取 Kubernetes 资源、检索可观测平台指标等。 在控制台里配置好 MCP 服务器并启用后,Agent 会在排障故障时自主判断何时需要外部能力,并直接调用对应工具,无需您手工搬运数据。
本页讲的是 AI SRE 控制台里的「MCP」——也就是Agent 去调用的第三方 MCP 服务器(您把外部工具接进来给 Agent 用)。这与开发者文档里的 Flashduty MCP Server 是两回事:后者是 Flashduty 自家对外暴露的 MCP 服务,供您把 Flashduty 的能力接入到第三方 AI 客户端(如 Claude、Cursor)。一个是「Agent 调外部」,一个是「外部调 Flashduty」,方向相反,不要混淆。

什么是 MCP


MCP(Model Context Protocol,模型上下文协议)是一套开放协议,用统一的方式描述「一台服务器对外提供哪些工具、每个工具接收什么参数、返回什么结果」。它就像 AI Agent 世界的「USB 接口」——任何遵循 MCP 的服务器都能被 Agent 即插即用地发现和调用,无需为每个外部系统单独写适配代码。 在 AI SRE 中,MCP 的作用是把 Agent 的能力从「内置工具」扩展到「任意外部系统」:
  • 您在控制台添加一台 MCP 服务器(声明它的端点、传输方式与认证)。
  • 会话开始时,已启用且在当前作用域可见的服务器即对 Agent 可见、可调用。
  • Agent 在需要时即可发现该服务器提供的工具并直接调用。
MCP 与 Skill 的区别:MCP 提供外部工具的接入能力,Skill 提供如何编排这些工具完成一类任务的方法论。Skill 可以在 SKILL.md 中以 mcp:服务名/工具名 的形式声明它需要哪台 MCP 服务器的哪个工具。详见 Skill。

从市场安装 MCP 服务器


进入 自定义 → 插件 → 概览 页面,即可看到 Flashduty 精选的第三方 MCP 模板目录。目录按类别分页签展示(全部 / 可观测 / 云与基础设施 / 数据库与中间件 / 代码与协作 / Skill),右上角的搜索框按名称或描述过滤。 目录上方的 推荐 区(说明文字:「按告警来源和常用程度推荐。连接后,AI SRE 排查时能直接用。」)按您账户已配置的告警集成挑出匹配的模板(按近 30 天告警量排序),再补上当前语言的精选项,最多展示 3 个;已安装、需要 Runner、或您无权安装的模板不会出现在推荐里。
1

找到要连接的模板

目录每一行展示模板名称与简介;同一屏里混有 MCP / App / Skill 多种类型时,还会带一个类型标签。未安装的行右侧有一个圆形 + 按钮:点击 + 或点击整行,都会打开「连接」对话框。模板需要自托管 Runner、而当前账户又没有可用 Runner 时,行的标签会显示 需要自托管 Runner;您无权安装的模板,行上不显示 +、整行也不可点击。
2

核对模板信息并填写连接参数

对话框先展示模板信息:供应商(如「Datadog 官方 · MCP」或「社区版 · MCP」)、官方文档链接、简介,以及一组「连接后可以这样问」示例问题。随后是模板声明的连接参数字段——URL / 端点占位符与环境变量等;共享字段(服务授权模式下全账号共用)下方标注「全账号共用。」。若模板是「成员授权(密钥)」模式,另有「你的 API Token」字段(密码输入框),下方标注「只给你自己用,其他成员第一次使用时各自填写。」,并在字段旁给出「如何获取」文档链接。
3

选择运行环境并提交

在「运行环境」里选择这次连接从哪个环境发起——默认在会话所在的环境里连接;模板需要自托管 Runner 时,提示「〈名称〉只在内网能访问时,选内网里的自托管 Runner。」。主按钮是 连接;若模板是「成员授权(OAuth)」模式,主按钮为「去〈名称〉授权」,点击后先创建连接器、再打开浏览器授权窗口(OAuth 的发现、动态客户端注册与令牌交换都从所选环境发起)。
4

确认连接结果

提交后系统创建连接器并对它执行一次连接测试。通过则显示「〈名称〉已连接」与示例问题,点 完成 关闭对话框,或直接点某个示例问题新建一条已预填该问题的对话(不会自动发送)。不通过则显示「连接测试没通过」与原始错误:可点 重试 重跑测试;需要 Runner 的模板在非云端环境下还会给出「让 AI SRE 在 Runner 上装好」入口,新建一条不含任何令牌的对话,让 Agent 到自托管 Runner 上安装缺失的命令行工具(如 npx 对应的 Node.js、uvx 对应的 uv)。
对话框只在首次提交时创建连接器。提交后其中的连接参数即被锁定,并提示「连接器已创建,参数以首次提交为准;如需修改,请到「插件 → MCP」编辑。」。名称与账户内已有连接器冲突时,不再回显后端错误,而是提示「这个账号里已经有名为「〈名称〉」的连接器。要用的就是它,请到「插件 → MCP」完成授权;否则需要账户所有者或管理员先在那里改名或删除,再回来连接。」。
安装完成的 MCP 服务器会在其配置中记录 source_template_name,指向来源模板名称,便于日后追溯其原始出处。市场安装的 MCP 服务器固定为共享范围(即账户级,team_id 为 0),账户内所有成员可用,安装时不提供团队归属选择;同一模板在同一账户内只能安装出一个实例。
需要 BYOC Runner 的模板(详情中的 requires_runner 标识)只能在您自己部署了 Runner 的运行环境中使用,云 Sandbox 不支持。requires_runner 与传输方式相互独立,当前市场的 50 个模板里两种都有:23 个是 HTTP 流式、不需要 Runner,另外 27 个是 stdio、需要 Runner——包括阿里云 OpenAPI、阿里云可观测、夜莺 Nightingale、Gitee、GreptimeDB、Prometheus、Grafana (Self-Hosted)、Kafka (Confluent)、AWS、ClickHouse、MySQL、PostgreSQL、阿里云 RDS、Redis、MongoDB 等。这些 stdio 模板以 uvx / npx 命令在各环境上本地启动,云 Sandbox 无法启动本地子进程,因此安装前请确认您的账户已配置可用的 BYOC Runner,详见 运行环境(BYOC)。

只能由 Monitors 查询的系统

目录里还有一类行,代表只有 Monitors 能查询的系统(当前是 Loki、VictoriaLogs、Oracle):它们列在对应类别下(可观测 / 数据库);同一屏混有 MCP / App / Skill 等多种类型时,行上带 Monitors 类型标签。它们不是可以通过市场接入的连接器,只是「在 Monitors 里添加数据源之后,AI SRE 就能查这个系统」的入口,因此不会出现在上方的 推荐 区(推荐区是可连接模板的清单)。 点击这样的一行(或它右侧的 +,两者打开的是同一个面板)后,面板里没有「连接」按钮,只有:
  • 账户里该类型的数据源清单与状态,形如「已接入 N 个 · 走告警引擎,不用地址、令牌和 Runner」;还没有这类数据源时,显示「还没有 〈类型〉 数据源 · 在 Monitors 里添加后就能查,不用 Runner」。行右侧的 + 只在账户还没有该类型数据源、且你有添加数据源权限时才出现,否则该位置显示「已接入 N 个」或「由 Monitors 管理员添加」。
  • 已经接入该类型数据源时,主按钮是 在对话里试试:用你的数据源预填一条提问并新建会话(不会自动发送)。
  • 还没有这类数据源时,给出 去 Monitors 添加更多 →,新开一页到 Monitors → 数据源 → 添加(类型已选好);没有添加权限的成员只看到「由 Monitors 管理员添加后,这里自动更新」,不给出这个动作。
有些 MCP 模板同时支持「直连 MCP」和「走 Monitors」两条路(例如 Prometheus、MySQL、PostgreSQL、ClickHouse、Elasticsearch、SLS),这类行的标签会写成 MCP · Monitors,连接对话框里多一个「接入方式」二选一。
行名与模板名共用同一套命名空间:如果某个系统已经有同名模板,就只显示模板行(模板行才是带连接参数的那一行)。私有化部署若不含 Monitors 模块,上述行不会列出,模板的对话框里也不提供 Monitors 这一路——列表接口会返回 monit_available: false,控制台据此隐藏相关入口。

添加 MCP 服务器


进入 自定义 → 插件 → MCP 页面,列表页右上角有两个入口:
  • 添加 MCP:点击后弹出表单,手工定义一台 MCP 服务器(字段见下文「基础字段」)。
  • 在对话中添加:新建一条 AI SRE 会话,并预填提示词「我想添加一个 MCP。先问我是接入自己的服务,还是找现成的来装。找现成的就问我要接什么系统,插件目录里有就直接装,没有再上网搜几个给我挑,我选好再装。」——由 Agent 先问您要接入自己的服务还是装现成的;装现成的先查插件目录,目录里没有再联网搜索候选给您挑,选好后再完成接入(不会自动发送,您可以先修改提示词)。该按钮只在有明确可写入范围时显示:您能授权到账户范围时始终显示,否则需要当前范围筛选恰好只选中一个您所属的团队(或您只属于一个团队)。

基础字段

MCP 服务器还有一个 AI 描述:Agent 首次列出某服务器的工具后,系统会根据工具清单自动生成一段服务器能力摘要并展示在列表中。它随工具集变化自动刷新,无需您手工维护。

传输方式

stdio 仅适用于 BYOC 运行环境(Runner 部署在您自己的机器上)。云 Sandbox 不能启动本地子进程;如果使用云端运行环境,请改用 HTTP 流式或 SSE,并确保该 MCP 服务器对 Sandbox 网络可达。运行环境的区别见 运行环境(BYOC)。
stdio 服务器的命令在 Runner 所在机器上运行,而不是配置者本人的电脑。共享配置要求命令与参数对机器通用——不要写个人机器路径(如 /Users/你的用户名/...、/home/你的用户名/...),并确保执行环境中已安装命令所需的运行时(如 uv / uvx / node / npx);运行时缺失会导致服务器连接失败。
连接与调用各有一个默认超时:连接超时默认 10 秒,工具调用超时默认 60 秒。
「跳过 TLS 证书校验」只在远端 HTTPS MCP 服务器使用自签证书、且网络环境受控时开启。开启后,Agent 运行环境连接该服务器时会跳过证书链和主机名校验;不要用于公网不可信端点。

认证

MCP 服务器支持三种授权模式,决定凭证如何提供给服务器:
所有会话以同一个服务身份调用。凭证直接写在服务器配置里——HTTP/SSE 传输写进 Headers(JSON)(如 { "Authorization": "Bearer xxx" }),stdio 传输写进环境变量(JSON)(如 { "API_KEY": "xxx" })。适合用账户级服务令牌访问的内部系统。凭证加密存储:保存时,键名中含 KEY、SECRET、TOKEN、PASSWORD、PASSWD、CREDENTIAL、AUTHORIZATION(不区分大小写)的项,其值会被加密后落库,读取时以掩码返回;另外,键名按非字母数字字符切分出的整段等于 PWD 或 PASS 的项同样按此处理——REDIS_PWD、db-pass 以及裸 PWD 都会命中,只是整段中包含该字样的 BYPASS、COMPASS 不受影响。不匹配上述任何一条规则的项仍按原样保存,因此请把凭证放在能被识别的键名下(如 Authorization、X-API-Key、GITHUB_TOKEN)。服务授权意味着账户内任何会话都能以这个服务身份调用该系统。若涉及成员个人数据或高危写操作,建议改用「成员授权(密钥)」或「成员授权(OAuth)」。
对于「成员授权(密钥)」与「成员授权(OAuth)」,缺失凭证时 Agent 的工具调用会暂停,并向当前成员弹出凭证录入 / 授权界面;补齐后继续。服务授权模式下不会向成员索取凭证。

MCP 服务器授权(设置页)

「成员授权(密钥)」与「成员授权(OAuth)」的凭证是按成员隔离的,因此除了上面那条「对话中按需弹出」的路径,您也可以在设置页里主动管理自己对某台 MCP 服务器的授权——两条路径写入的是同一份按成员凭证。 列表里的授权状态:MCP 列表的「成员授权」列为每台 MCP 服务器显示一个当前查看者视角的授权状态角标;文案随授权模式而异——「成员授权(密钥)」保存后系统从不校验其有效性,因此刻意不用「已连接」这个措辞:
  • 成员授权(OAuth):● 已连接(已保存有效凭证)/ ○ 未连接(尚未提供凭证)。
  • 成员授权(密钥):● 已保存(已保存密钥)/ ○ 未填写(尚未提供密钥)。
  • 两种模式通用:⚠ 已过期(凭证已过期,OAuth 令牌到期,需重新授权)。
服务授权模式的 MCP 服务器不涉及按成员授权,此处显示为「—」。对需要个人凭证的服务器,从列表的授权入口打开凭证对话框;它只管理您自己的凭证,不会修改服务器的端点、授权模式或作用域配置。 凭证对话框里的授权操作:对话框会根据其授权模式与您当前的凭证状态给出操作:
  • 成员授权(OAuth):先选择执行环境,再点击 去授权(未连接时)/ 重新授权(已连接或已过期时)。可选择云端 Sandbox 或在线的 BYOC Runner,不能选择「自动」;OAuth 的发现、动态客户端注册、令牌交换和后续刷新都从所选环境发起。每次打开时会优先预选上次成功授权且仍在线的环境,否则预选绑定且在线的 Runner,最后回退到云端 Sandbox。OAuth 服务只能从内网访问时,请选择能访问它的 BYOC Runner。浏览器随后会弹出授权窗口(经 /safari/credentials/oauth/initiate 发起,返回授权链接后在弹窗中打开)。
  • 成员授权(密钥):点击 填密钥(未连接时)/ 更新密钥(已连接时),弹出密钥录入弹窗,提交到 /safari/credentials/secret。
  • 撤销:已有凭证时可点击 撤销(经 /safari/credentials/revoke)删除自己保存的凭证,状态回到「未连接」。
OAuth 授权通过一个浏览器中转页 /oauth-callback 完成:授权服务器回调到 fc-safari,后端再 302 跳到该中转页,中转页用 postMessage 把结果回传给发起授权的窗口(设置页或对话页),随后自动关闭。整个过程无需手动复制粘贴令牌。

管理与检视


MCP 列表以表格展示每台服务器的名称(含 AI 描述)、范围(共享或团队名)、传输方式、启用开关与操作列——列表只包含您在账户中添加的 MCP 服务器;内置 Flashduty MCP 服务器由运行时自动注入,不出现在此列表中,详见下文「检视」小节。顶部的范围筛选条(ScopeBar)可在「全部 / 共享 / 团队」之间切换查看;筛选条右侧的搜索框支持按名称、描述、传输方式、URL 等关键词过滤列表。
用列表里的开关切换。只有已启用的服务器才会对 Agent 可见;禁用后 Agent 看不到、也无法调用它。已停用(状态不是 enabled)的连接器在「连接」入口里不会被当作已连接:打开它的「连接」对话框会显示「连接器已停用」与「该连接器已停用,AI SRE 暂时无法使用它。需要账户所有者或管理员在「插件 → MCP」里重新启用。」,并给出 去「插件 → MCP」 按钮直接跳到该连接器所在行。恢复方式是由账户所有者或管理员在那里用启用开关重新启用。已停用的连接器也不再出现在「插件 → 概览」的已启用区。
点击编辑按钮(或直接点击行)打开表单,可修改名称、传输方式、描述、端点 / 命令、授权模式与作用域。无编辑权限时表单以只读模式打开,并提示原因。
将 MCP 服务器从当前范围移除。依赖它的 Agent 将无法再访问其工具,正在使用它的活跃会话会随之失败。此操作有确认提示。

检视:查看某台服务器暴露的工具

一台 MCP 服务器暴露哪些工具,是在会话中由 Agent 按需发现的,而不是在控制台静态展示——因为同一台 MCP 服务器在不同运行环境(Runner)下可达性与工具集可能不同,连接状态与工具数量是「按运行环境」而非「全局」的属性。
想确认某台 MCP 服务器在某个运行环境下实际暴露了哪些工具,最直接的方式是在对话里让 Agent 列出该服务器的工具,它会把工具清单与每个工具的用法列出来。详见 对话。
Agent 读取 Flashduty 故障、告警等数据的能力是内置的:Flashduty MCP 服务器在每个会话启动时由运行时直接注入给 Agent,不经过本页的 MCP 服务器列表接口——它不会出现在上方的服务器列表中,也无需(也无法)在此手动配置、启用或查看。该能力由平台维护,随账户默认可用。

跨环境连接器

一台 MCP 服务器可以被绑定到当前会话之外的执行环境。这时该会话不能直接调用它——不同执行环境之间网络并不互通,工具调用只在会话自身的环境里发起。但 Agent 不会因此以为它不存在:
  • Agent 一开始就知道它:会话启动时,Agent 会看到已连接、但绑定在别的执行环境上的连接器清单——名称、用途,以及这台连接器在哪些执行环境里可用。同一台连接器在不同环境里可能解析出不同的名称,目录里会带上团队标注以便区分。
  • 搜索会给出它的可用环境:某次搜索正好匹配到这台连接器时,结果里会附带它能在哪些执行环境运行。
  • 点名提问不会得到「找不到」:Agent 直接按名字找这台连接器时,会得到「已连接,但绑在别的执行环境」的说明以及该怎么用,而不是当作账户里没有它。
  • 用法是派一个在那个环境里运行的子代理过去:Agent 会把任务派发给一个在目标执行环境里运行的子代理(agent_dispatch 的 environment 参数,见 Agent),由子代理在自己那一侧发现并调用这台服务器的工具,再把结果带回当前对话。
  • 只列出现在真正派得过去的环境:目录里的目标环境是账户级 Runner 加上当前会话所绑定团队的 Runner,且必须在线(以及绑定的云端环境);离线、从未连接、已删除、或属于会话不能派发的团队的环境会被标注出来并给出原因,Agent 会如实说明「现在没法派过去」,而不是假装能调。
  • 只有对话的主会话会看到这份目录:派发出去的子代理没有自己的派发能力,它只报告自己所在的环境里能直接调用的连接器;需要换环境时由子代理回报父会话处理。
反过来,如果想让某台连接器在当前环境里直接可用,把它加进该服务器的「执行环境」列表即可(前提是它对这个会话可达)。运行环境本身的区别见 运行环境(BYOC)。

作用域


MCP 与其他资源(Skill、知识、Agent、运行环境)共用同一套两级作用域模型,分为共享范围与团队范围: 编辑权限:团队级 MCP 服务器仅该团队的成员可以操作,组织管理员也需要先加入该团队;共享范围 MCP 服务器仅账户所有者或管理员可以操作;没有「创建者保留权限」这一例外。无编辑权限时,列表对应行的开关与操作显示为只读。 创建与改归属:创建新的团队级 MCP 服务器时,您必须是目标团队成员;共享范围创建仅限账户所有者或管理员。从市场安装是例外:安装固定为共享范围,由安装者发起,普通模板账户内任何成员都可以安装,不需要所有者或管理员权限。但有一类模板例外:在成员授权模式(密钥或 OAuth)下还要求填写自由格式的地址 / 主机参数时,安装者实际上决定了其他成员凭证发往哪个主机,为避免他人凭证流向安装者指定的地址,这类模板的安装与连接仅限账户 Owner 或管理员——普通成员在该模板行上看不到 +、行不可点击,直接打开「连接」对话框会提示「你没有安装权限,请联系账户所有者或管理员。」。编辑已有 MCP 服务器时,账户所有者或管理员可以把它移动到任意团队,用于恢复空团队或离职成员留下的资源;普通成员只能移动到自己所属的团队。但市场安装的 MCP 服务器不可改归属到团队——编辑表单中其作用域固定显示为共享;极少量早期遗留的团队级市场行仍可把作用域改回共享,反向则不允许。该提升操作与共享范围创建同门槛,仅限账户 Owner 或管理员:普通成员即使属于该服务器所在团队也不能自助操作,被拒绝时会提示「请管理员把它设为共享」。 运行时可见性:会话开始时,只会向 Agent 提供共享范围 MCP 服务器,以及当前会话所绑定团队的服务器。当 Agent 在排障中读取另一个团队的知识后,该团队的 MCP 服务器与 Skill 才会被按需挂载进当前会话。账户是运行时唯一的安全边界,团队只是归属与编辑的标记。

相关页面


Skill

Skill 在 SKILL.md 中以 mcp:服务名/工具名 调用 MCP 提供的工具。

Agent

Agent 与 MCP 共用同一套授权模式与作用域模型。

BYOC

stdio MCP 服务器需运行在 BYOC Runner 上;了解云 Sandbox 与自托管运行环境的区别。

控制台

在会话中观察 Agent 如何检视并调用 MCP 工具。

Flashduty MCP Server(开发者)

方向相反的能力:把 Flashduty 接入第三方 AI 客户端的官方 MCP 服务。