关于 dolphin-mcp-pilot
dolphin-mcp-pilot 是用于操作 Apache DolphinScheduler 的 MCP 服务,面向处理工作流与数据运维的 Agent。它涵盖工作流创建、调度、实例控制、资源、日志和 API 透传。
主要功能
- 01创建 SQL 和 DAG 工作流
- 02管理 cron 调度
- 03控制工作流实例
- 04查看日志并管理资源
- 05克隆和回滚工作流
- 06透传原始 API 调用
适用场景
- 01排查失败的工作流运行
- 02按日期范围补数
- 03创建并调度 SQL 工作流
- 04为多个 Agent 按请求提供凭据
MCP 相关
它向连接的 Agent 提供 DolphinScheduler 操作工具,包括无状态 HTTP 传输及对 MCP 1.x 客户端的兼容。HTTP 模式支持在每个请求中传入凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e DS_URL -e DS_TOKEN -e DS_USER -e DS_PASSWORD -e DS_TENANT_CODE ghcr.io/iflytek/dolphin-mcp-pilot:0.3.1DS_URLDolphinScheduler API base URL (e.g. http://localhost:12345/dolphinscheduler)DS_TOKEN密钥DolphinScheduler API token (leave empty to use DS_USER/DS_PASSWORD instead)DS_USERDolphinScheduler username (alternative to DS_TOKEN)DS_PASSWORD密钥DolphinScheduler password (used with DS_USER)DS_TENANT_CODETenant code (default: 'default')本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/iflytek/dolphin-mcp-pilot:0.3.1Streamable HTTP工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
dolphin-mcp-pilot
面向 Apache DolphinScheduler(小海豚)的生产就绪 MCP 服务。
dolphin-mcp-pilot 提供 53+ 个工具,用于项目、工作流、DAG 创建、调度、实例、资源、日志、监控和原始 API 透传,专为需要执行基础只读操作之外的 DolphinScheduler 操作的 AI Agent 设计。
🎯 为什么选择这个项目?
大多数公开的 DolphinScheduler MCP 服务仅覆盖基础的读取、列出、启动和停止场景。 本项目专为实际运维工作设计:
- ✅ 一行创建 SQL / DAG 工作流
- ✅ 管理调度(创建 / 上线 / 下线 / 删除)
- ✅ 控制流程实例(暂停 / 恢复 / 重新运行 / 从失败处重新运行)
- ✅ 查看任务日志、强制任务成功 / 跳过失败任务
- ✅ 管理资源(查看 / 更新内容)
- ✅ 回滚工作流版本、克隆工作流
- ✅ 使用原始 API 作为安全保障
- ✅ 支持按请求进行多租户身份验证
🚀 主要功能
- 53+ 个工具,覆盖大多数实用的 DS 操作
- 两种身份验证模式:API Token(
X-DS-Token)或用户名 / 密码(X-DS-User+X-DS-Password) - 多租户 HTTP 模式:每个调用方都可以使用自己的凭据
- MCP 2.0 无状态 HTTP,自动兼容 MCP 1.x 客户端
- 工作流创建:简单 SQL 和包含多种任务类型的复杂 DAG 工作流
- 调度管理(基于 cron)
- 实例生命周期控制(暂停 / 恢复 / 重新运行 / 从失败处重新运行 / 删除)
- 资源内容管理和版本回滚 / 工作流克隆
- 原始 API 透传,用于处理未覆盖的边缘情况
🚀 快速开始
前提条件
- 一个正在运行且 API 可从 Docker 访问的 DolphinScheduler 3.x 实例
- 安装了 Compose v2 的 Docker(
docker compose version) - 一个 DolphinScheduler API Token(推荐),或用户名和密码
# 1. Clone the repository
git clone https://github.com/iflytek/dolphin-mcp-pilot.git
cd dolphin-mcp-pilot
# 2. Configure environment
cp .env.example .env
# Edit .env — set DS_URL and DS_TOKEN (or DS_USER/DS_PASSWORD)
# Example DS_URL: http://your-dolphinscheduler-host:12345/dolphinscheduler
# 3. Build and start the service from this checkout
docker compose --profile dev up -d dolphin-mcp-pilot-dev
# 4. Confirm that the container is healthy
docker compose --profile dev ps
MCP 端点现为 http://localhost:8001/mcp/(必须保留末尾的斜杠)。
将其添加到支持 HTTP/SSE 的 MCP 客户端:
{
"mcpServers": {
"dolphinscheduler": {
"type": "sse",
"url": "http://localhost:8001/mcp/",
"headers": { "X-DS-Token": "your_api_token" }
}
}
}
作为安全的首次检查,请让你的 Agent:**“列出我的 DolphinScheduler 项目和工作流。不要进行任何更改。”**有关特定客户端的配置以及用户名 / 密码身份验证,请参阅客户端配置。
💡 常见用例
| 场景 | 示例请求 | 主要工具 |
|---|---|---|
| 调查失败的运行 | “找出最新失败的工作流,显示失败的任务及其日志,并在不做任何更改的情况下建议下一步操作。” | ds_list_process_instances、ds_list_task_instances、ds_get_latest_failure_log |
| 回填缺失数据 | “按顺序回填 2026-08-01 至 2026-08-07 的数据,从验证任务开始,并包含下游任务。” | ds_complement_data |
| 创建并调度工作流 | “创建一个每日运行的 SQL 工作流,添加其 cron 调度,并在上线前向我展示定义。” | ds_create_workflow、ds_set_schedule、ds_online_schedule |
| 为多个 Agent 提供受控访问权限 | 运行一个 HTTP MCP 服务,同时让每个调用方提供自己的 DolphinScheduler 凭据。 | 每个请求的 X-DS-* 标头 |
这些工具还可以暂停、恢复、重新运行、克隆和回滚工作流;管理资源;并在当前工具未涵盖的操作中回退到原始 DolphinScheduler API。请在 MCP 客户端中使用 ds_help(category="quickstart"),了解每项任务的推荐工作流。
📚 文档
| 文档 | 描述 |
|---|---|
| 📦 安装 | Docker Compose(开发/生产)、从源码安装、作为软件包安装、运行模式 |
| ⚙️ 配置 | 环境变量、身份验证选项、Compose 可调参数 |
| 🚀 部署 | 生产环境部署、Compose 参考、验证、故障排查 |
| 📊 功能 | 功能对比表、工具类别 |
| 🔐 客户端配置 | MCP 客户端设置(CodeBuddy、Claude Desktop 等)、多租户身份验证 |
| 📖 API 参考 | 全部 53+ 个工具、参数约定、错误处理(中文) |
| ❓ 常见问题 | 常见问题及解决方案(中文) |
✨ 更新内容
- MCP 2.0:支持无状态的 2026-07-28 协议,同时继续兼容旧版握手客户端和 stdio 配置。
- 引导式故障排查:
ds_list_process_instances会为 RUNNING/FAILURE 实例附加next_action提示,指引 Agent 使用ds_list_task_instances检查单个任务节点。 - 可靠的回填顺序:串行补数使用
complementStartDate/complementEndDate范围格式,以便 DolphinScheduler 按严格的逐日顺序生成实例。 - 灵活的任务参数:
ds_update_task_param同时接受snake_case和camelCase字段名,并报告被忽略的字段。
🤝 参与贡献
欢迎贡献。项目变更请参阅 CONTRIBUTING.md,或按照示例贡献指南分享经过测试的 MCP 客户端配置。
如果你曾将 dolphin-mcp-pilot 用于实际场景,欢迎在 cases/ 中写下使用经历——这里汇集了社区的使用案例(由 Agent 驱动的 DolphinScheduler 运维),每个案例都链接到一篇公开文章。
📄 许可证
🙏 致谢
本项目基于官方 MCP Python SDK 构建,并受到 Apache DolphinScheduler 社区的启发。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。