A production-ready MCP server for Apache DolphinScheduler.
dolphin-mcp-pilot exposes 53+ tools for projects, workflows, DAG creation, schedules, instances, resources, logs, monitoring and raw API passthrough — designed for AI agents that need to operate DolphinScheduler beyond basic read-only usage.
Most public DolphinScheduler MCP servers only cover basic read/list/start/stop scenarios. This project is designed for real operations work:
- ✅ Create SQL / DAG workflows in one line
- ✅ Manage schedules (create / online / offline / delete)
- ✅ Control process instances (pause / resume / rerun / rerun-from-failure)
- ✅ View task logs, force task success / skip failed task
- ✅ Manage resources (view/update content)
- ✅ Roll back workflow versions, clone workflows
- ✅ Use raw API as a safety valve
- ✅ Support multi-tenant per-request auth
- 53+ tools covering most practical DS operations
- Two auth modes: API Token (
X-DS-Token) or User/Password (X-DS-User+X-DS-Password) - Multi-tenant HTTP mode: each caller can use its own credentials
- MCP 2.0 stateless HTTP with automatic compatibility for MCP 1.x clients
- Workflow creation: simple SQL and complex DAG workflows with multiple task types
- Schedule management (cron-based)
- Instance lifecycle control (pause/resume/rerun/rerun-from-failure/delete)
- Resource content management and version rollback / workflow clone
- Raw API passthrough for uncovered edge cases
# 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 — at minimum set DS_URL and DS_TOKEN (or DS_USER/DS_PASSWORD)
# 3. Start the service (dev mode)
docker compose --profile dev up -d dolphin-mcp-pilot-dev✅ Service will be available at http://localhost:8001/mcp/ (note the trailing slash)
| Document | Description |
|---|---|
| 📦 Installation | Docker Compose (dev/prod), from source, as package, run modes |
| ⚙️ Configuration | Environment variables, auth options, Compose tunables |
| 🚀 Deployment | Production deployment, Compose reference, verify, troubleshoot |
| 📊 Features | Feature comparison table, tool categories |
| 🔐 Client Config | MCP client setup (CodeBuddy, Claude Desktop, etc.), multi-tenant auth |
| 📖 API Reference | All 53+ tools, parameter conventions, error handling (中文) |
| ❓ FAQ | Common issues and solutions (中文) |
- MCP 2.0: supports the stateless 2026-07-28 protocol while keeping legacy handshake clients and stdio configurations working.
- Guided troubleshooting:
ds_list_process_instancesattaches anext_actionhint to RUNNING/FAILURE instances, pointing agents tods_list_task_instancesto inspect individual task nodes. - Reliable backfill ordering: serial complement uses the
complementStartDate/complementEndDaterange format so DolphinScheduler generates instances in strict day-by-day order. - Flexible task params:
ds_update_task_paramaccepts bothsnake_caseandcamelCasefield names and reports ignored fields.
Contributions are welcome. See CONTRIBUTING.md for project changes, or follow the example contribution guide to share a tested MCP client configuration.
Used dolphin-mcp-pilot for something real? Write it up in cases/ — a gallery of
community usage stories (agent-driven DolphinScheduler ops), each linked to a public post.
Built with the official MCP Python SDK and inspired by the Apache DolphinScheduler community.