Skip to content

REQUEST: Create new repo: dolphin-mcp-pilot #20

Description

@Hui-of-limin

Repository Name

dolphin-mcp-pilot

Repository Description

A production-ready MCP server for Apache DolphinScheduler. Exposes 58 tools for projects, workflows, DAG creation, schedules, instances, resources, logs and monitoring, so AI agents can operate DolphinScheduler through natural language. It acts as an AI-agent integration layer over the DolphinScheduler REST API, not a replacement for it.

Visibility

Public

Project Admins

@Hui-of-limin
@charleswillicks


Additional Context

Repository Information

  • Name: dolphin-mcp-pilot
  • Visibility: Public
  • Description: Operate Apache DolphinScheduler from AI agents via MCP

Project Details

dolphin-mcp-pilot is an MCP server that exposes Apache DolphinScheduler operations
as 58 discrete tools. AI agents (Claude Desktop, CodeBuddy, Cursor and any other
MCP client) can create workflows, configure schedules, run backfills, inspect task
instances and pull failure logs without touching the REST API directly.

It does not replace the DolphinScheduler API or the scheduler core. Instead, it works
as an AI-agent integration layer: translating agent intents into validated
DolphinScheduler REST calls and returning structured, agent-friendly results.

Example:

Input (agent intent):

Backfill the daily_sales workflow for 2026-01-01 through 2026-01-05, one day at a time.

Tool call emitted:

ds_complement_data(
    project_code=...,
    workflow_code=...,
    complement_start_date="2026-01-01",
    complement_end_date="2026-01-05",
    run_mode="RUN_MODE_SERIAL"
)

Result: five instances generated in strict ascending date order.

Features:

  • 58 tools across 10 categories: connectivity, projects, datasources, workflows,
    advanced workflow ops, schedules, instances, resources, monitoring, raw API passthrough
  • ds_help for in-session tool discovery
  • next_action hints: when an instance is RUNNING or FAILURE, the response tells the
    agent to drill into task instances instead of polling the workflow-level state
  • Deterministic serial backfill: uses a date-range payload so DolphinScheduler emits
    instances day by day in order
  • Dual auth: username/password or session token, injected per request via headers
  • Three transports: stdio, SSE, streamable HTTP

Why this belongs in the iflytek org

Apache DolphinScheduler is one of the most widely adopted open source data
orchestration systems (Apache top-level project, 12k+ GitHub stars, used across
finance, internet and enterprise data platforms). iflytek is a heavy user of it.

There is currently no mature AI-agent integration for DolphinScheduler. The closest
existing projects are ocean-zhc/dolphinscheduler-mcp and lukaa077/ds-mcp; both
expose a much smaller tool surface and lack the operational fixes we needed in
production. Open sourcing this contributes our AI-plus-orchestration practice back
to the DolphinScheduler community.

iflytek Landscape

  • Board: Model & Agent System
  • Track: Toolchain (3.2.3)

Technical Profile

Item Value
Language Python 3.10+
Lines of code 5,209
Tools 58
Dependencies 5 (mcp, anyio, uvicorn, starlette, pydantic)
Tests 19 unit tests, 29 smoke checks
CI unit tests, ruff, bandit, secret scan, build

License

Apache License 2.0

  • ✅ Copyright headers applied to all 21 Python source files
  • ✅ All dependencies are MIT or BSD-3-Clause; no copyleft, no license conflict
  • ✅ 100% original code, no third-party code copied in

Compliance Self-Check

  • ✅ No confidential platform logic, model weights, training algorithms or partner-specific code
  • ✅ No internal hostnames, credentials or tokens; verified by a secret-scan CI step
  • ✅ Configuration is placeholder-only (your-ds-host, your-ds-user)
  • ✅ Intellectual property held by iFLYTEK CO., LTD.

Acknowledgements

  • ✅ I have reviewed the community guidelines
  • ✅ I will be the primary maintainer or know who will be

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions