PluginBench
MCP Server
Active
Apache-2.0

io.github.iflytek/dolphin-mcp-pilot MCP Server

io.github.iflytek/dolphin-mcp-pilot

AI agent interface to Apache DolphinScheduler with 53+ tools for workflow orchestration, scheduling, and data operations.

What is the io.github.iflytek/dolphin-mcp-pilot MCP server?

The dolphin-mcp-pilot MCP server exposes 53+ tools for Apache DolphinScheduler, enabling AI agents to create workflows, manage schedules, control process instances, view logs, and perform advanced operations beyond basic read-only access. It supports multi-tenant authentication and provides both high-level workflow operations and raw API passthrough for edge cases.

dolphin-mcp-pilot is a production-ready MCP server that gives AI agents comprehensive control over Apache DolphinScheduler. It covers project and workflow management, DAG creation, schedule lifecycle (create/online/offline/delete), instance control (pause/resume/rerun/rerun-from-failure), resource management, log viewing, and monitoring. Use it to automate complex data pipeline operations, investigate failures, backfill missing data, and manage multi-tenant DolphinScheduler deployments.

How to install io.github.iflytek/dolphin-mcp-pilot

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • DS_URL
    required

    DolphinScheduler API base URL (e.g. http://localhost:12345/dolphinscheduler)

  • DS_TOKEN

    DolphinScheduler API token (leave empty to use DS_USER/DS_PASSWORD instead)

  • DS_USER

    DolphinScheduler username (alternative to DS_TOKEN)

  • DS_PASSWORD

    DolphinScheduler password (used with DS_USER)

  • DS_TENANT_CODE

    Tenant code (default: 'default')

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "dolphin-mcp-pilot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/iflytek/dolphin-mcp-pilot:0.3.1"
      ],
      "env": {
        "DS_URL": "<YOUR_DS_URL>",
        "DS_TOKEN": "<YOUR_DS_TOKEN>",
        "DS_USER": "<YOUR_DS_USER>",
        "DS_PASSWORD": "<YOUR_DS_PASSWORD>",
        "DS_TENANT_CODE": "<YOUR_DS_TENANT_CODE>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • ds_list_process_instances — List workflow process instances with filtering and guidance hints for troubleshooting
  • ds_list_task_instances — List task instances within a workflow run
  • ds_get_latest_failure_log — Retrieve logs from the latest failed task
  • ds_create_workflow — Create SQL or DAG workflows
  • ds_set_schedule — Configure cron-based schedules for workflows
  • ds_online_schedule — Activate a workflow schedule
  • ds_offline_schedule — Deactivate a workflow schedule
  • ds_delete_schedule — Delete a workflow schedule
  • ds_complement_data — Backfill data for a date range with serial or parallel execution
  • ds_pause_process_instance — Pause a running workflow instance
  • ds_resume_process_instance — Resume a paused workflow instance
  • ds_rerun_process_instance — Rerun a workflow instance
  • ds_rerun_from_failure — Rerun a workflow from the point of failure
  • ds_delete_process_instance — Delete a workflow instance
  • ds_force_task_success — Force a task to mark as successful
  • ds_skip_failed_task — Skip a failed task in a workflow
  • ds_update_task_param — Update task parameters with flexible field naming
  • ds_manage_resources — View and update resource content
  • ds_rollback_workflow_version — Rollback a workflow to a previous version
  • ds_clone_workflow — Clone an existing workflow

Use cases

  • Investigate failed workflow runs by retrieving task logs and failure details, then suggest remediation without making changes
  • Backfill missing data for a date range by creating and running complement instances serially or in parallel
  • Create and schedule new SQL or DAG workflows with cron expressions, then activate them for automated execution
  • Manage multi-tenant DolphinScheduler access by running a single HTTP MCP service with per-request credential headers
  • Pause, resume, rerun, or rerun-from-failure workflow instances to handle operational issues and recovery scenarios

io.github.iflytek/dolphin-mcp-pilot MCP server FAQ

What is the dolphin-mcp-pilot MCP server?

It is a production-ready MCP server that exposes 53+ tools for Apache DolphinScheduler, enabling AI agents to create workflows, manage schedules, control instances, view logs, and perform advanced data pipeline operations.

Is dolphin-mcp-pilot free?

Yes, it is open-source under the Apache 2.0 license.

How do I install it in Cursor or Claude?

Run the Docker Compose setup to start the HTTP MCP endpoint at http://localhost:8001/mcp/, then add it to your MCP client config with type 'sse' and your DolphinScheduler API token in the X-DS-Token header.

What authentication methods does it support?

It supports API Token (X-DS-Token header) or username/password (X-DS-User and X-DS-Password headers), with multi-tenant per-request authentication.

Do I need a running DolphinScheduler instance?

Yes, you need a reachable Apache DolphinScheduler 3.x instance with an accessible API endpoint.

What are the main tool categories?

Projects and workflows, DAG creation, schedules, process instances, task instances, resources, logs, monitoring, and raw API passthrough.

README (reference)

Source of truth, from the repository.

dolphin-mcp-pilot

<div align="center">

License Python CI Ask DeepWiki

English | 简体中文

</div>

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.

Related MCP servers

Connect Claude Code to Vim/Neovim - query state, execute commands, search help, record macros

3
JavaScript
View repository →

Rails development skills and workflows for AI agents via MCP.

23
Shell
MIT
View repository →
AUAuseklis Astrology logo

Astrology from a real ephemeris: natal charts, transits, synastry, eclipses, returns. No API keys.

1
TypeScript
MIT
View repository →

Query and manage your Copilot Money personal finances locally with AI — zero network reads, optional authenticated writes.

74
TypeScript
MIT
View repository →

Working memory for AI agents: digest-indexed episodes on a git shelf, recalled a section at a time.

0
Python
MIT
View repository →
SESEAR logo

SEAR

Active

Benchmark-first release surface with a read-only MCP endpoint and operator CLI.

1
TypeScript
View repository →