mcpField
D
dolphin-mcp-pilot

dolphin-mcp-pilot

Local
github.com/iflytekCloud & Infra22Updated 3w ago

About dolphin-mcp-pilot

dolphin-mcp-pilot is an MCP server for operating Apache DolphinScheduler, intended for agents handling workflow and data operations. It covers workflow creation, schedules, instance control, resources, logs, and API passthrough.

Key features

  1. 01Create SQL and DAG workflows
  2. 02Manage cron schedules
  3. 03Control workflow instances
  4. 04Inspect logs and manage resources
  5. 05Clone and roll back workflows
  6. 06Pass through raw API calls

Use cases

  1. 01Investigate failed workflow runs
  2. 02Backfill data across date ranges
  3. 03Create and schedule SQL workflows
  4. 04Provide multiple agents per-request credentials

MCP support

Exposes DolphinScheduler operations as MCP tools for connected agents, including stateless HTTP transport and compatibility with MCP 1.x clients. HTTP mode supports credentials supplied per request.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"iflytek-dolphin-mcp-pilot": {
"command": "docker",
"args": [
"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.1"
],
"env": {
"DS_URL": "<DS_URL>",
"DS_TOKEN": "<DS_TOKEN>",
"DS_USER": "<DS_USER>",
"DS_PASSWORD": "<DS_PASSWORD>",
"DS_TENANT_CODE": "<DS_TENANT_CODE>"
}
}
}
}
Run commanddocker 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.1
Environment variables to set
DS_URLDolphinScheduler API base URL (e.g. http://localhost:12345/dolphinscheduler)
DS_TOKENSecretDolphinScheduler API token (leave empty to use DS_USER/DS_PASSWORD instead)
DS_USERDolphinScheduler username (alternative to DS_TOKEN)
DS_PASSWORDSecretDolphinScheduler password (used with DS_USER)
DS_TENANT_CODETenant code (default: 'default')

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/iflytek/dolphin-mcp-pilot:0.3.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

dolphin-mcp-pilot

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.

🎯 Why this project?

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

🚀 Key features

  • 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

🚀 Quick Start

Prerequisites
  • A running DolphinScheduler 3.x instance whose API is reachable from Docker
  • Docker with Compose v2 (docker compose version)
  • A DolphinScheduler API token (recommended), or a username and password
# 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

The MCP endpoint is now http://localhost:8001/mcp/ (the trailing slash is required). Add it to an HTTP/SSE-capable MCP client:

{
  "mcpServers": {
    "dolphinscheduler": {
      "type": "sse",
      "url": "http://localhost:8001/mcp/",
      "headers": { "X-DS-Token": "your_api_token" }
    }
  }
}

As a safe first check, ask your agent: “List my DolphinScheduler projects and workflows. Do not make any changes.” For client-specific configuration and username/password auth, see Client Config.

💡 Common use cases

ScenarioExample requestMain tools
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
Backfill missing data“Backfill 2026-08-01 through 2026-08-07 serially, starting from the validation task and including downstream tasks.”ds_complement_data
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
Give multiple agents controlled accessRun one HTTP MCP service while each caller supplies its own DolphinScheduler credentials.Per-request X-DS-* headers

The tools can also pause, resume, rerun, clone, and roll back workflows; manage resources; and fall back to raw DolphinScheduler APIs for uncovered operations. Start with ds_help(category="quickstart") inside your MCP client to discover the recommended workflow for each task.

📚 Documentation

DocumentDescription
📦 InstallationDocker Compose (dev/prod), from source, as package, run modes
⚙️ ConfigurationEnvironment variables, auth options, Compose tunables
🚀 DeploymentProduction deployment, Compose reference, verify, troubleshoot
📊 FeaturesFeature comparison table, tool categories
🔐 Client ConfigMCP client setup (CodeBuddy, Claude Desktop, etc.), multi-tenant auth
📖 API ReferenceAll 53+ tools, parameter conventions, error handling (中文)
❓ FAQCommon issues and solutions (中文)

✨ What's new

  • MCP 2.0: supports the stateless 2026-07-28 protocol while keeping legacy handshake clients and stdio configurations working.
  • Guided troubleshooting: ds_list_process_instances attaches a next_action hint to RUNNING/FAILURE instances, pointing agents to ds_list_task_instances to inspect individual task nodes.
  • Reliable backfill ordering: serial complement uses the complementStartDate/complementEndDate range format so DolphinScheduler generates instances in strict day-by-day order.
  • Flexible task params: ds_update_task_param accepts both snake_case and camelCase field names and reports ignored fields.

🤝 Contributing

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.

📄 License

Apache-2.0

🙏 Acknowledgments

Built with the official MCP Python SDK and inspired by the Apache DolphinScheduler community.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.