{
  "markdown": "# dolphin-mcp-pilot\n\n<div align=\"center\">\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)\n[![Python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![CI](https://github.com/iflytek/dolphin-mcp-pilot/actions/workflows/ci.yml/badge.svg)](https://github.com/iflytek/dolphin-mcp-pilot/actions/workflows/ci.yml)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/iflytek/dolphin-mcp-pilot)\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n</div>\n\nA production-ready MCP server for Apache DolphinScheduler.\n\n**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.\n\n## 🎯 Why this project?\n\nMost public DolphinScheduler MCP servers only cover basic read/list/start/stop scenarios.\nThis project is designed for **real operations work**:\n\n- ✅ Create SQL / DAG workflows in one line\n- ✅ Manage schedules (create / online / offline / delete)\n- ✅ Control process instances (pause / resume / rerun / rerun-from-failure)\n- ✅ View task logs, force task success / skip failed task\n- ✅ Manage resources (view/update content)\n- ✅ Roll back workflow versions, clone workflows\n- ✅ Use raw API as a safety valve\n- ✅ Support **multi-tenant per-request auth**\n\n## 🚀 Key features\n\n- **53+ tools** covering most practical DS operations\n- **Two auth modes**: API Token (`X-DS-Token`) or User/Password (`X-DS-User` + `X-DS-Password`)\n- **Multi-tenant HTTP mode**: each caller can use its own credentials\n- **MCP 2.0 stateless HTTP** with automatic compatibility for MCP 1.x clients\n- **Workflow creation**: simple SQL and complex DAG workflows with multiple task types\n- **Schedule management** (cron-based)\n- **Instance lifecycle control** (pause/resume/rerun/rerun-from-failure/delete)\n- **Resource content management** and **version rollback / workflow clone**\n- **Raw API passthrough** for uncovered edge cases\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- A running DolphinScheduler 3.x instance whose API is reachable from Docker\n- Docker with Compose v2 (`docker compose version`)\n- A DolphinScheduler API token (recommended), or a username and password\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/iflytek/dolphin-mcp-pilot.git\ncd dolphin-mcp-pilot\n\n# 2. Configure environment\ncp .env.example .env\n# Edit .env — set DS_URL and DS_TOKEN (or DS_USER/DS_PASSWORD)\n# Example DS_URL: http://your-dolphinscheduler-host:12345/dolphinscheduler\n\n# 3. Build and start the service from this checkout\ndocker compose --profile dev up -d dolphin-mcp-pilot-dev\n\n# 4. Confirm that the container is healthy\ndocker compose --profile dev ps\n```\n\nThe MCP endpoint is now `http://localhost:8001/mcp/` (the trailing slash is required).\nAdd it to an HTTP/SSE-capable MCP client:\n\n```json\n{\n  \"mcpServers\": {\n    \"dolphinscheduler\": {\n      \"type\": \"sse\",\n      \"url\": \"http://localhost:8001/mcp/\",\n      \"headers\": { \"X-DS-Token\": \"your_api_token\" }\n    }\n  }\n}\n```\n\nAs a safe first check, ask your agent: **“List my DolphinScheduler projects and workflows. Do\nnot make any changes.”** For client-specific configuration and username/password auth, see\n[Client Config](docs/CLIENT_CONFIG.md).\n\n## 💡 Common use cases\n\n| Scenario | Example request | Main tools |\n|---|---|---|\n| Investigate a failed run | “Find the latest failed workflow, show the failed task and its log, and suggest the next action without changing anything.” | `ds_list_process_instances`, `ds_list_task_instances`, `ds_get_latest_failure_log` |\n| Backfill missing data | “Backfill 2026-08-01 through 2026-08-07 serially, starting from the validation task and including downstream tasks.” | `ds_complement_data` |\n| Create and schedule a workflow | “Create a daily SQL workflow, add its cron schedule, and show me the definition before putting it online.” | `ds_create_workflow`, `ds_set_schedule`, `ds_online_schedule` |\n| Give multiple agents controlled access | Run one HTTP MCP service while each caller supplies its own DolphinScheduler credentials. | Per-request `X-DS-*` headers |\n\nThe tools can also pause, resume, rerun, clone, and roll back workflows; manage resources; and\nfall back to raw DolphinScheduler APIs for uncovered operations. Start with `ds_help(category=\"quickstart\")`\ninside your MCP client to discover the recommended workflow for each task.\n\n## 📚 Documentation\n\n| Document | Description |\n|---|---|\n| [📦 Installation](docs/INSTALLATION.md) | Docker Compose (dev/prod), from source, as package, run modes |\n| [⚙️ Configuration](docs/CONFIGURATION.md) | Environment variables, auth options, Compose tunables |\n| [🚀 Deployment](docs/DEPLOYMENT.md) | Production deployment, Compose reference, verify, troubleshoot |\n| [📊 Features](docs/FEATURES.md) | Feature comparison table, tool categories |\n| [🔐 Client Config](docs/CLIENT_CONFIG.md) | MCP client setup (CodeBuddy, Claude Desktop, etc.), multi-tenant auth |\n| [📖 API Reference](docs/API.md) | All 53+ tools, parameter conventions, error handling (中文) |\n| [❓ FAQ](docs/FAQ.md) | Common issues and solutions (中文) |\n\n## ✨ What's new\n\n- **MCP 2.0**: supports the stateless 2026-07-28 protocol while keeping legacy\n  handshake clients and stdio configurations working.\n- **Guided troubleshooting**: `ds_list_process_instances` attaches a `next_action`\n  hint to RUNNING/FAILURE instances, pointing agents to `ds_list_task_instances`\n  to inspect individual task nodes.\n- **Reliable backfill ordering**: serial complement uses the `complementStartDate`/`complementEndDate`\n  range format so DolphinScheduler generates instances in strict day-by-day order.\n- **Flexible task params**: `ds_update_task_param` accepts both `snake_case` and\n  `camelCase` field names and reports ignored fields.\n\n## 🤝 Contributing\n\nContributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for project changes, or follow the\n[example contribution guide](examples/README.md#how-to-contribute) to share a tested MCP client\nconfiguration.\n\nUsed dolphin-mcp-pilot for something real? Write it up in [`cases/`](cases/README.md) — a gallery of\ncommunity usage stories (agent-driven DolphinScheduler ops), each linked to a public post.\n\n## 📄 License\n\n[Apache-2.0](LICENSE)\n\n## 🙏 Acknowledgments\n\nBuilt with the official [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)\nand inspired by the Apache DolphinScheduler community.\n",
  "bytes": 6535,
  "sha": "c1e1cb44e48bf69fa773c9bca1a08375fa3a256ac968bce9776f2d84f73cd6f4",
  "repo_slug": "iflytek/dolphin-mcp-pilot",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_iflytek_dolphin_mcp_pilot_2bd5c507/readme"
}