# dolphin-mcp-pilot
**Repository Path**: iflytek/dolphin-mcp-pilot
## Basic Information
- **Project Name**: dolphin-mcp-pilot
- **Description**: Operate Apache DolphinScheduler from AI agents via MCP
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2026-08-11
- **Last Updated**: 2026-09-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# dolphin-mcp-pilot
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://github.com/iflytek/dolphin-mcp-pilot/actions/workflows/ci.yml)
[English](README.md) | [简体中文](README.zh-CN.md)
Apache DolphinScheduler(小海豚调度系统)的生产级 MCP 服务器。
**dolphin-mcp-pilot** 提供 **53+ 工具**,覆盖项目管理、工作流、DAG 创建、调度、实例、资源、日志、监控以及原始 API 透传 —— 专为需要超越只读操作的 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 透传**,覆盖未封装的边缘场景
## 🚀 快速开始
### 前置条件
- 已运行的 DolphinScheduler 3.x,且其 API 可从 Docker 容器访问
- Docker 与 Compose v2(可通过 `docker compose version` 检查)
- DolphinScheduler API Token(推荐),或用户名和密码
```bash
# 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)
# DS_URL 示例:http://your-dolphinscheduler-host:12345/dolphinscheduler
# 3. 从当前源码构建并启动服务
docker compose --profile dev up -d dolphin-mcp-pilot-dev
# 4. 确认容器状态为 healthy
docker compose --profile dev ps
```
MCP 地址为 `http://localhost:8001/mcp/`(必须保留结尾斜杠)。将它加入支持
HTTP/SSE 的 MCP 客户端:
```json
{
"mcpServers": {
"dolphinscheduler": {
"type": "sse",
"url": "http://localhost:8001/mcp/",
"headers": { "X-DS-Token": "your_api_token" }
}
}
}
```
首次连接建议先进行安全的只读检查:**“列出我的 DolphinScheduler 项目和工作流,不要做任何
修改。”** 不同客户端的详细配置和用户名/密码鉴权方式请参阅[客户端配置](docs/CLIENT_CONFIG.md)。
## 💡 常见使用场景
| 场景 | 示例请求 | 主要工具 |
|---|---|---|
| 定位失败任务 | “找出最近失败的工作流,显示失败节点和日志,并给出下一步建议,不要执行修改。” | `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-*` 请求头 |
此外还可暂停、恢复、重跑、克隆和回滚工作流,管理资源,并通过原始 API 处理尚未封装的操作。
在 MCP 客户端中先调用 `ds_help(category="quickstart")`,可查看各类任务的推荐操作流程。
## 📚 文档
| 文档 | 说明 |
|---|---|
| [📦 安装指南](docs/INSTALLATION.md) | Docker Compose(dev/prod)、源码安装、包安装、运行模式 |
| [⚙️ 配置参考](docs/CONFIGURATION.md) | 环境变量、鉴权选项、Compose 可调参数 |
| [🚀 部署指南](docs/DEPLOYMENT.md) | 生产部署、Compose 参考、验证、排错 |
| [📊 功能特性](docs/FEATURES.md) | 功能对比表、工具分类 |
| [🔐 客户端配置](docs/CLIENT_CONFIG.md) | MCP 客户端接入(CodeBuddy、Claude Desktop 等)、多租户鉴权 |
| [📖 API 参考](docs/API.md) | 全部 53+ 工具、参数规范、错误处理 |
| [❓ 常见问题](docs/FAQ.md) | 常见问题与解决方案 |
## ✨ 最新动态
- **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.zh-CN.md](CONTRIBUTING.zh-CN.md);如需分享已验证的 MCP 客户端配置,请按照[示例贡献指南](examples/README.md#中文)提交。
用 dolphin-mcp-pilot 做成过真实的事?欢迎写进 [`cases/`](cases/README.md)——一个社区使用故事画廊(智能体驱动的 DolphinScheduler 运维),每个案例都附一条公开帖子链接。
## 📄 许可证
[Apache-2.0](LICENSE)
## 🙏 致谢
基于官方 [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)
构建,灵感来自 Apache DolphinScheduler 社区。