Skip to content

· iFLYTEK Open Source Team · tech · 7 min read

Dolphin MCP Pilot:让 AI Agent 真正操作 DolphinScheduler

Dolphin MCP Pilot 是一个面向 Apache DolphinScheduler 的生产级 MCP Server,提供 58 个工具覆盖工作流创建、调度管理、实例控制、资源操作等实战场景,让 AI Agent 从"看数据"升级到"做调度"。

Dolphin MCP Pilot:让 AI Agent 真正操作 DolphinScheduler

AI Agent 正在渗透到企业的每一个角落,而大数据调度平台作为数据基础设施的核心,长期停留在”人看大屏、手动点按钮”的模式。能不能让 Agent 直接操作 DolphinScheduler——一句话建工作流、一键改调度、出问题自动排查?

科大讯飞开源的 Dolphin MCP Pilot 给出了答案:一个面向 Apache DolphinScheduler 的生产级 MCP Server,提供 58 个工具,覆盖从项目、工作流、调度、实例到资源、日志、监控的全链路操作。它不是又一个”只读列表”演示品,而是为真实运维场景而生。

为什么要做这个项目?

社区里已有一些 DolphinScheduler 的 MCP 实现,但大多停留在基础读写:列项目、启停工作流、看看日志。一旦涉及真实的调度运维——创建 SQL 工作流、管理 Cron 调度、补数据、强制成功失败任务、回滚版本——这些工具就无能为力了。

Dolphin MCP Pilot 从第一天就瞄准 real operations work

  • 一句话创建 SQL 或 DAG 工作流
  • 调度生命周期全管理(创建 / 上线 / 下线 / 删除)
  • 流程实例精细控制(暂停 / 恢复 / 重跑 / 从失败处重跑)
  • 任务级干预(强制成功 / 跳过失败节点)
  • 资源内容管理与版本回滚
  • 原始 API 透传作为安全阀

技术方案

Dolphin MCP Pilot 基于 Model Context Protocol (MCP) 构建,暴露标准的 HTTP + SSE 接口,任何支持 MCP 的 AI Agent(Claude Desktop、Cursor、Cline、CodeBuddy,或自研 Agent)都能即插即用。

工具矩阵

58 个工具按职责分为七大类:

类别覆盖场景典型工具
项目管理租户 / 项目 CRUD、权限控制ds_create_projectds_list_projects
工作流编排SQL / DAG 工作流创建、任务节点管理、版本控制ds_create_workflowds_update_task_paramds_clone_workflow
调度管理Cron 调度创建 / 上线 / 下线、补数据ds_set_scheduleds_online_scheduleds_complement_data
实例控制运行 / 暂停 / 恢复 / 重跑 / 删除,任务级干预ds_rerun_process_instanceds_force_task_success
资源管理文件上传 / 下载 / 内容查看 / 更新ds_list_resourcesds_update_resource_content
日志监控任务日志、实例状态、next_action 引导排查ds_get_task_logds_list_task_instances
API 透传未覆盖接口的安全阀ds_raw_get / ds_raw_post / ds_raw_put / ds_raw_delete

双认证模式

支持两种认证方式,适配不同部署场景:

  • API TokenX-DS-Token):适合单租户 / 服务间调用
  • 用户名 + 密码X-DS-User + X-DS-Password):适合多租户按需认证

多租户 HTTP 模式下,每个调用方可携带自己的凭据,MCP Server 自动透传给 DolphinScheduler,无需修改 Agent 端逻辑。

智能引导

工具返回结果中内嵌 next_action 提示,引导 Agent 进行下一步操作。例如,查询流程实例时,对 RUNNING 和 FAILURE 状态的实例会自动附加提示,指向 ds_list_task_instances 以检查具体任务节点——让 Agent 从”看到状态”自然过渡到”定位问题”。

快速开始

# 1. 克隆仓库
git clone https://github.com/iflytek/dolphin-mcp-pilot.git
cd dolphin-mcp-pilot

# 2. 配置环境
cp .env.example .env
# 编辑 .env,至少设置 DS_URL 和 DS_TOKEN(或 DS_USER/DS_PASSWORD)

# 3. 启动服务
docker compose --profile dev up -d dolphin-mcp-pilot-dev

服务默认运行在 http://localhost:8001/mcp/

接入 AI Agent

以 Claude Desktop 为例,在配置文件中添加:

{
  "mcpServers": {
    "dolphin-scheduler": {
      "url": "http://localhost:8001/mcp/",
      "headers": {
        "X-DS-Token": "your-dolphin-token"
      }
    }
  }
}

现在你可以对 Agent 说:

“帮我在 data-team 项目下创建一个 SQL 工作流,每天凌晨 2 点执行 SELECT * FROM user_behavior WHERE dt = '${bizdate}',失败自动重试 3 次。”

Agent 会自动调用 ds_create_workflowds_set_scheduleds_online_schedule,完成从建流到上线的完整闭环。

典型场景

场景 1:一句话建调度

“创建补数任务,把 7 月 1 号到 7 月 31 号的日报表全部重跑一遍。”

Agent 调用 ds_complement_data,串行补数使用 complementStartDate / complementEndDate 范围格式,确保 DolphinScheduler 按天严格顺序生成实例。

场景 2:故障自动排查

“昨天的 ETL 任务为什么失败了?”

Agent 先调用 ds_list_process_instances 找到失败实例,根据返回的 next_action 提示,继续调用 ds_list_task_instances 定位到具体失败节点,最后调用 ds_get_task_log 拉取日志——整个排查链路无需人工介入。

场景 3:版本回滚

“把 user_analysis 工作流回滚到上一个版本。”

Agent 调用 ds_rollback_workflow_version,自动定位历史版本并恢复,避免手动在 UI 上翻找。

路线图

Dolphin MCP Pilot 刚刚起步,后续计划聚焦:

  • 更多 DolphinScheduler 版本兼容:覆盖 3.x 与 2.x 的接口差异
  • 更丰富的 DAG 模板:预置常见数据 pipeline 模式(CDC、特征工程、报表分发)
  • Agent 协作编排:多个 MCP Server 联动,让调度 Agent 与数据质量 Agent、告警 Agent 协同工作

快速体验

Dolphin MCP Pilot 把 DolphinScheduler 从一个”人操作的调度平台”变成”Agent 可直接调用的工作流引擎”。如果你的团队正在用 DolphinScheduler 管理数据 pipeline,欢迎接入体验并一起共建。

Related Posts

View All Posts »