MCP 服务接入

更新时间:
复制 MD 格式

实时计算 Flink 版 MCP 服务基于阿里云 OpenAPI MCP Server 托管承载,将实时计算 Flink 版对外开放的 OpenAPI 封装为 MCP(Model Context Protocol)工具,供 AI Agent 直接调用。

功能概述

实时计算 Flink 版对外开放的 OpenAPI 分为两套,均可封装为 MCP 工具:

  • 售卖面:产品码 foasconsole,API 版本 2021-10-28,覆盖工作空间购买、变配、续费与计费查询。

  • 管控面:产品码 ververica,API 版本 2022-07-18,覆盖作业开发、运维、诊断、集群管理、元数据与数据查询。

支持的接入客户端包括 Qoder、Cursor、通义灵码、Claude Code 等 AI 客户端,以及 Dify、AgentScope 等企业自建 Agent 平台。

架构概览

image

核心能力

两套 OpenAPI 覆盖以下能力域,勾选对应 API 即可封装为 MCP 工具。

能力域

说明

代表 API

售卖与成本管理

工作空间购买、变配、续费、计费模式转换与价格查询(售卖面 foasconsole)

CreateInstance、DescribeInstances、ModifyInstanceSpec、RenewInstance、QueryModifyInstancePrice、ConvertHybridInstance

作业定位与查询

浏览与搜索已部署作业,查看实例状态

ListDeployments、GetDeploymentsByName、ListJobs、GetJob

作业开发与发布

草稿创建与编辑、SQL 校验、部署上线

CreateDeploymentDraft、ValidateDeploymentDraftAsync、DeployDeploymentDraftAsync

作业运维

启动与停止实例、运行时热更新参数与资源

StartJobWithParams、StopJob、HotUpdateJob

智能诊断

返回反压、资源不足、代码异常等异常诊断项

GetJobDiagnosis、GetLatestJobStartLog、GetEvents

快照与检查点

Savepoint 创建、查询与删除,支撑故障恢复

CreateSavepoint、ListSavepoints、GetSavepoint

Session 集群管理

Session 集群生命周期管理

CreateSessionCluster、StartSessionCluster、StopSessionCluster、ListSessionClusters

元数据与数据查询

浏览 Catalog、数据库与数据表,执行查询 SQL 并取回结果

GetCatalogs、GetDatabases、GetTables、StartSqlExecution、FetchSqlExecutionResult

数据血缘

查询作业与数据血缘信息

GetLineageInfo

UDF 与连接器

UDF 与自定义连接器注册管理

CreateUdfArtifact、RegisterUdfFunction、ListCustomConnectors

调度与自动调优

定时计划与自动调优策略管理

CreateScheduledPlan、GetAutopilotPolicy、ListAutopilotTuningHistories

  • 官方推荐的故障诊断场景包(本文示例均基于此)由其中的诊断类 API 组合而成,见「创建 MCP Server」。作业运维、数据查询等场景包按相同方法勾选对应 API 即可,见「API 选择建议」。

  • 除上述能力域外,智能助手对话(ChatAiAgent)、智能巡检(ListPatrolReports、TriggerPatrol 等 5 个 API)与 AI 服务管理(GetFlinkAiService 等,售卖面 foasconsole)相关 API 也已开放,可按相同方式勾选封装,见「AI 智能运维」。

典型场景

作业诊断

适用场景:作业运行失败、频繁 Failover 与重启、启动失败、性能劣化等问题的根因定位。

示例提问:我有一个 Flink 作业今天上午开始频繁重启,帮我定位一下原因。

诊断链路如下。

步骤

模型调用的工具

获取的信息

1

ListDeployments / GetDeploymentsByName

定位目标作业

2

ListJobs

实例状态、失败时间点

3

GetJobDiagnosis

异常诊断项(反压、资源不足、代码异常等)

4

GetLatestJobStartLog(如启动失败)

启动异常堆栈

5

GetEvents

Failover 事件时间线

诊断结论包含以下三部分。

  • 根因分类:反压、资源不足、代码异常、外部依赖等,取自 GetJobDiagnosis 的诊断项。

  • 证据引用:诊断项描述、启动日志关键行或事件时间线,需可回溯到上述工具的返回内容。

  • 处置建议:优先采用诊断项自带的修复建议,并结合 ListSavepoints 确认恢复点与检查点健康度。

若证据不足,可要求模型补充调用 ListSavepoints 或 ListAutopilotTuningHistories,还原完整上下文。

AI 智能运维

实时计算 Flink 版的 AI 智能助手与智能巡检能力已通过 OpenAPI 开放,相关 API 可按相同方式勾选封装为 MCP 工具,适用于将 AI 运维能力集成进企业自建 Agent 与流程。两项能力在控制台亦有对应入口,无需接入即可直接使用。

能力

说明

典型用法

AI 智能助手

以自然语言对话完成作业全链路运维:一句话生成 Flink SQL 并上线、作业异常多步推理诊断(含外部依赖根因定位)、产品知识与连接器用法问答

在 AI Native Ops 对话中使用 /草稿开发 一句话创建作业,或 @ 引用作业发起 /作业诊断

智能巡检

7×24 小时无人值守巡检,支持全量、按标签或指定作业圈选;巡检报告自动生成并定时送达,健康分趋势异常提前预警

一句话配置「每天凌晨 6:00 巡检全量作业」,报告自动沉淀、随时回溯

管控面 ververica 提供智能助手对话与智能巡检全套 API。

API 名称

功能

读写属性

ChatAiAgent

发起智能助手对话(流式):自然语言输入、多轮会话(sessionId)、引用作业与技能(refs)、工具调用与 HITL 审批事件流式返回

对话/执行

ListPatrolReports

查询巡检报告列表(按时间、状态、巡检范围、触发类型筛选)

只读

GetPatrolReportDetail

获取巡检报告详情

只读

GetPatrolConfig

获取巡检配置(调度 Cron、时区与巡检范围)

只读

TriggerPatrol

触发一次巡检(全量 ALL、按标签 TAGS、指定作业 DEPLOYMENTS)

写操作

UpdatePatrolConfig

更新巡检配置(调度 Cron、时区与巡检范围)

写操作

AI 能力依赖 Flink AI 服务,其开通状态、关闭保护与免费额度用量通过 OpenAPI(售卖面 foasconsole)开放,可勾选封装为 MCP 工具,便于在企业自有流程中统一查询与管理。

API 名称

功能

读写属性

GetFlinkAiService

获取 Flink AI 服务当前状态

只读

GetFlinkAiServiceFreeQuota

获取 Flink AI 服务免费额度使用情况

只读

OpenFlinkAiService

开通 Flink AI 服务

写操作

CloseFlinkAiService

关闭 Flink AI 服务

写操作

ModifyAiServiceProtection

修改 Flink AI 服务关闭保护设置

写操作

  • 两条 AI 使用路径互补:MCP 封装适合将 AI 运维能力整合进企业自建 Agent 与可观测体系;控制台入口融合平台专家经验与内置 Skill,直接可用。

  • 智能助手与智能巡检按 Token 用量计费,正式商用前提供免费体验额度,额度与计费详情以控制台 AI 服务页面为准。

前提条件

  • 已拥有阿里云账号,且账号下已创建实时计算 Flink 版工作空间。

  • 已获取目标工作空间 ID 与项目空间(Namespace)名称,供调用时填写。

  • 用于授权的 RAM 用户具备所选 API 的调用权限,建议只读。

  • 使用静态凭证接入时,已安装 Python(3.13 及以上)与 uv,并已为 RAM 用户授予系统权限策略 AliyunOpenAPIMCPServerStaticCredentialAccess。

  • 禁止使用主账号 AK。

使用限制

  • 单个 MCP Server 建议选择的 API 数量不超过 30 个。

  • API 调用是否成功以发起授权的 RAM 用户权限为准。

  • 全量 OpenAPI 包含启停、部署、删除等写操作 API,可按场景勾选封装。本文推荐的故障诊断场景包为纯只读组合,不含变更操作。

  • 诊断结论由 AI 基于诊断项、日志与事件时间线生成,关键变更操作仍需人工确认。

接入方式对比

使用场景

接入方式

说明

桌面 AI 客户端,支持浏览器 OAuth(Qoder、Cherry Studio、Cursor、通义灵码等)

OAuth 直连

无需配置 AccessKey,浏览器授权即用。推荐使用

企业统一 Agent 平台、CI/CD、无人值守集成

静态凭证(AK)+ mcp-proxy

通过 RAM 用户 AK 接入,遵循最小权限原则

自建平台拥有自有 OAuth 体系(Dify、AgentScope 等)

自定义 OAuth

创建 MCP Server 时配置自定义 OAuth 凭据后对接

API 选择建议

创建 MCP Server 时勾选的 API 决定 Agent 可调用的工具范围。建议一个场景一个 Server,便于权限隔离与工具列表聚焦,并可按需组合「核心能力」中的能力域 API。本文示例使用的故障诊断场景包,其 API 清单与 MCP 指令见「创建 MCP Server」。

场景包

建议勾选 API

读写属性

说明

故障诊断(本文示例)

见「创建 MCP Server」

只读

安全默认,适合首次接入与展示

作业运维

ListDeployments、StartJobWithParams、StopJob、HotUpdateJob、ListSessionClusters

含写操作

Agent 执行变更前需用户确认

数据查询与分析

GetCatalogs、GetDatabases、GetTables、StartSqlExecution、FetchSqlExecutionResult

查询/执行

面向取数与分析问答场景

集群与资源观察

ListSessionClusters、GetSessionCluster、ListDeploymentTargets、GetAutopilotPolicy、ListAutopilotTuningHistories

只读

面向集群资源水位与调优分析

重要

含写操作的场景包务必创建独立 MCP Server,并在 RAM 侧单独审批授权,避免与只读诊断能力混用。

创建 MCP Server

以故障诊断场景包为例。先确定勾选的 API 与 MCP 指令,再在控制台创建服务。

推荐 API 清单

以下为官方首推的故障诊断场景包:9 个 API 均为只读接口,覆盖「定位作业 → 实例状态 → 根因诊断 → 事件还原」完整诊断链路。

API 名称

功能

在诊断流程中的作用

ListDeployments

获取已部署作业列表

浏览与筛选目标作业

GetDeploymentsByName

按名称搜索作业

精确定位目标作业

ListJobs

获取作业实例列表

确认实例状态、启动时间与失败时间点

GetJob

获取作业实例详情

查看当前状态与异常信息

GetJobDiagnosis

获取作业诊断详情

核心工具:智能诊断,返回异常诊断项

GetLatestJobStartLog

获取最新作业实例启动日志

排查启动失败原因

GetEvents

获取运行事件

还原 Failover 事件时间线

ListAutopilotTuningHistories

查询自动调优历史

判断实例变化是否由自动扩缩容引起

ListSavepoints

获取快照与系统检查点列表

评估故障恢复点与 Checkpoint 健康度

说明

勾选的 API 直接作为工具暴露,命名格式为 <产品码>-<API 版本去掉连字符>-<API 名称>。实测该场景包返回 ververica-20220718-ListDeployments、ververica-20220718-GetJobDiagnosis 等 9 个工具,客户端工具列表以该名称为准。

MCP 指令模板

MCP 指令用于引导大模型按既定工作流调用工具,需客户端支持 Instructions 字段。故障诊断场景包的指令模板如下,创建 MCP Server 时粘贴至 MCP 指令 框。

你是实时计算 Flink 版作业诊断助手。诊断作业问题时按以下流程:
1) 用 ListDeployments 或 GetDeploymentsByName 定位目标作业;
2) 用 ListJobs 获取实例列表,确认失败实例与时间点;
3) 对失败实例调用 GetJobDiagnosis,读取异常诊断项(反压、资源不足、代码异常、网络等);
4) 若作业启动失败,调用 GetLatestJobStartLog 查看启动日志中的异常堆栈;
5) 结合 GetEvents 的事件时间线还原 failover 过程,必要时参考 ListAutopilotTuningHistories 判断是否受自动调优影响;
6) 输出结论:根因分类 + 证据(引用诊断项或日志关键行)+ 处置建议。
本 MCP 仅提供只读能力,不执行启停等变更操作。

创建步骤

  1. 登录 OpenAPI MCP 服务控制台,在左侧导航栏单击自定义 > 创建。

  2. 参照下表完成配置。

配置项

建议取值

说明

名称

flink_diagnosis

3~16 位,支持小写字母、数字、_、-

文档语言

中文

决定工具描述所使用的语言

OAuth 配置

阿里云官方 OAuth

接入自建平台时改选自定义 OAuth

云产品与 API 列表

选择实时计算 Flink 版,勾选「推荐 API 清单」中的 9 个 API

每个选定的 API 将作为一个 MCP 工具暴露

MCP 指令

粘贴 MCP 指令模板

引导大模型按诊断工作流调用工具

  1. 单击创建并确认风险提示。

  2. 创建完成后,页面显示 Streamable HTTP Endpoint 与 SSE Endpoint,复制并保存。服务地址格式如下。

https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/<账号ID>/custom/<MCP服务名称>/id/<服务ID>/mcp
说明

VPC 环境请优先使用页面中显示的 VPC 端点,域名形如 openapi-mcp-cn.vpc-proxy.aliyuncs.com,路径规则与公网地址一致。公网访问默认开启,关闭后仅支持从白名单 VPC 内访问。

配置 MCP 客户端

OpenAPI MCP 服务控制台的服务端点页面提供一键配置模板,覆盖 Cherry Studio、通义灵码、Cursor、Windsurf、VSCode、Claude Code、Codex 等常见客户端,可直接生成对应配置。以下按手动配置说明。

OAuth 直连

客户端支持直接添加远程 MCP 服务(如 Qoder)时,在客户端的 MCP 设置中添加远程服务,地址填入 Streamable HTTP Endpoint。支持显式指定传输类型的客户端选择 streamable-http 或 sse;Qoder IDE 按 URL 自动识别传输类型,无需单独指定。

{
  "mcpServers": {
    "flink_diagnosis": {
      "type": "streamable-http",
      "url": "<你的 Streamable HTTP Endpoint>"
    }
  }
}

客户端仅支持 STDIO(如 Cursor、通义灵码)时,通过 mcp-remote-alibaba-cloud 桥接。

{
  "mcpServers": {
    "flink_diagnosis": {
      "command": "npx",
      "args": [
        "mcp-remote-alibaba-cloud",
        "<你的 Streamable HTTP Endpoint>"
      ]
    }
  }
}

Cursor 请粘贴至 ~/.cursor/mcp.json 或项目根目录 .cursor/mcp.json;通义灵码请在插件 MCP 工具页面按 STDIO 类型添加。

首次连接时弹出浏览器授权页,使用 MCP Server 所属阿里云账号下的 RAM 用户登录并确认授权。系统会校验发起授权的用户与 MCP Server 属于同一主账号,校验通过后客户端才能列出并调用工具。

重要

企业共享设备上使用浏览器 OAuth 时,请确认登录的是已授权的目标 RAM 用户,避免使用个人账号授权导致权限不符。

静态凭证

通过 alibabacloud.mcp-proxy 本地代理,使用 RAM 用户 AK 接入远程 MCP Server。先执行预检查,确认代理与权限就绪。

uvx alibabacloud.mcp-proxy@latest --server-url <MCP 连接地址> pre-check

若本地已完成阿里云 CLI 登录(aliyun configure),代理会自动复用 CLI 凭据,可省略环境变量配置。

在客户端中按 STDIO 类型添加 MCP 服务,配置项如下。

配置项

取值

类型

STDIO

命令

uvx

参数

alibabacloud.mcp-proxy@latest --server-url <Streamable HTTP Endpoint>

环境变量

ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET

警告

请勿将 AK 硬编码到纳入版本控制的配置文件中,建议通过环境变量或密钥管理服务注入。

验证连接

接入完成后,在客户端发送以下问题验证:列出我在实时计算 Flink 版上的作业,并检查最近失败的作业原因。

预期行为:模型依次调用作业列表、实例查询与诊断工具,输出失败实例的根因分析与处置建议。

所有工具均要求 workspace(工作空间 ID)与 namespace(项目空间名称)参数,建议在提问中直接给出。故障诊断场景包不含工作空间发现接口,如需 Agent 自行定位,可额外勾选售卖面 DescribeInstances 与 DescribeNamespaces。

安全注意事项

  • 最小权限:为 MCP 接入创建专用 RAM 用户,仅授予所选只读 API 的调用权限;静态凭证接入需额外授予 AliyunOpenAPIMCPServerStaticCredentialAccess。

  • 禁用主账号 AK:静态凭证接入必须使用 RAM 用户的 AK,禁止使用主账号 AK,并仅授予所需的最小权限。

  • 只读边界:本文推荐的故障诊断场景包仅包含只读查询 API,无法执行启停、扩缩容等变更操作。

  • 写操作隔离:如需智能运维(启停、扩缩容)场景,另行创建 MCP Server 并在 RAM 侧单独审批授权,避免诊断与变更权限混杂。

  • 多租户隔离:MCP 可查询授权范围内全部工作空间的作业信息,多租户场景请在 RAM 策略中按需隔离。

常见问题

连接时报 401 Authorization header is missing?

远程端点需要认证,属正常防护。OAuth 方式请重新发起连接并完成浏览器授权;静态凭证方式请确认 mcp-proxy 环境变量已正确注入 AK,并已执行 pre-check 预检查。

查询到的作业与预期地域不符?

MCP 服务地址位于 cn-hangzhou。未显式指定地域时,默认访问华东 1(杭州)的资源。查询其他地域的作业时,在提问中要求模型设置 x_mcp_region_id,例如「查询 regionId 为 cn-shenzhen 的作业列表,并设置 x_mcp_region_id」。

大模型调用 API 返回权限不足?

调用是否成功取决于发起授权的 RAM 用户的权限。请为该 RAM 用户补齐实时计算 Flink 版对应 API(建议只读)的授权策略。

创建时在产品列表中找不到实时计算 Flink 版?

确认选择的产品为实时计算 Flink 版(OpenAPI 产品码 ververica,API 版本 2022-07-18)。

企业 Agent 平台不支持浏览器 OAuth 弹窗?

两种方式:创建 MCP Server 时改用自定义 OAuth,按平台流程注册凭据;或使用静态 AK 加 alibabacloud.mcp-proxy 本地代理方式接入。

相关链接