Skip to content
Agentmart
Submit a tool

Dolphin MCP Pilot

AI agent interface to Apache DolphinScheduler: 58 MCP tools for workflow orchestration & data ops.

Connector by iflytek · GitHub account verified by the MCP Registry

IndexedApache-2.0Remote (HTTP)★ 20
Write a review

Install

Pick your client. Read the repository before you give any tool access to your data.

No install instructions from the source yet. Check the repository for setup steps.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

AI agent interface to Apache DolphinScheduler: 58 MCP tools for workflow orchestration & data ops.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
19 read · 24 write · 8 delete · 7 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Docker image

Tools by what they do 58

Read from the source code; the running server may list different tools.

Read 19 · Look things up without changing anything.

  • ds_get_latest_failure_log
  • ds_get_resource_by_name
  • ds_get_task_detail
  • ds_get_task_log
  • ds_get_workflow
  • ds_list_datasources
  • ds_list_process_instances
  • ds_list_projects
  • ds_list_resources
  • ds_list_schedules
  • ds_list_task_instances
  • ds_list_tenants
Show 7 more tools
  • ds_list_users
  • ds_list_workflow_versions
  • ds_list_workflows
  • ds_monitor_masters
  • ds_monitor_workers
  • ds_raw_get
  • ds_view_resource

Write 24 · Create, change, send or run things.

  • ds_clone_workflow
  • ds_create_dag_workflow
  • ds_create_folder
  • ds_create_project
  • ds_create_workflow
  • ds_download_resource
  • ds_offline_schedule
  • ds_online_create_file
  • ds_online_schedule
  • ds_raw_post
  • ds_raw_put
  • ds_release_workflow
Show 12 more tools
  • ds_rename_project
  • ds_rename_resource
  • ds_rerun_from_failure
  • ds_rerun_process_instance
  • ds_run_workflow
  • ds_set_schedule
  • ds_stop_process_instance
  • ds_update_resource_content
  • ds_update_schedule_cron
  • ds_update_task_param
  • ds_update_workflow
  • ds_upload_file

Delete 8 · Delete, drop, revoke or wipe things.

  • ds_delete_process_instance
  • ds_delete_project
  • ds_delete_resource
  • ds_delete_schedule
  • ds_delete_workflow
  • ds_modify_workflow_dag
  • ds_raw_delete
  • ds_rollback_workflow_version

Not yet classified 7 · We could not tell from the name and description.

  • ds_complement_data
  • ds_force_task_success
  • ds_help
  • ds_pause_process_instance
  • ds_resume_process_instance
  • ds_skip_task
  • ds_test_connection

Network hosts it talks to 2

  • github.com · found in code
  • glama.ai · found in code

Files it touches

  • Any path the agent passes to its tools

Tools (58)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • ds_clone_workflow

    Clone/copy a workflow. Args: project_name: Project name source_workflow_code: Source workflow code new_name: New workflow name description: New workflow description (empty = copy source description) auto_online: Auto-release after cloning Returns: { 'success': True, 'workflow_code': int, # New workflow code 'source_code': int, 'name': str, ... }

  • ds_complement_data

    Backfill (complement) workflow data for date range or single partition. Recommended usage (v2.0.14): - Single partition: partition_date="2024-01-01" (clearer semantics, recommended) - Date range: start_date + end_date (multi-partition backfill) - From specific task: start_task_names + task_depend_type="TASK_POST" - Single task only: start_task_names + task_depend_type="TASK_ONLY" ⚠️ Important (v2.0.19): 1. Default mode: RUN_MODE_SERIAL (one partition at a time, safer) 2. Parallel mode: run_mode="RUN_MODE_PARALLEL" (multiple partitions concurrently, higher risk) 3. Before backfill: check depe…

  • ds_create_dag_workflow

    Create a generic DAG workflow supporting any task type (SQL/SHELL/PYTHON/DEPENDENT/SUB_PROCESS/HTTP etc.). Args: project_name: Project name name: Workflow name tasks: Task definition list (see examples below) relations: Dependency list [{"from": "taskA", "to": "taskB"}]; empty "from" = start node description: Description schedule: Whether to create a schedule schedule_cron: Cron expression (7-field Quartz style) locations: Optional node coordinates [{"task_name": "check", "x": 100, …

  • ds_create_folder

    Create a folder in the resource area. Args: name: Folder name (no path prefix, e.g. "scripts") current_dir: Parent directory path, default root "/" resource_type: FILE or UDF

  • ds_create_project

    Create a new project owned by the current user. Fails if a project with the same name already exists; check with ds_list_projects first. Use ds_rename_project to change it later. Args: name: Project name, unique in DolphinScheduler description: Optional description Returns: {"id": int, "code": int, "name": str}; other tools take the project by name.

  • ds_create_workflow

    Create a workflow (supports simple SQL mode and complex DAG mode). Mode 1 - Simple SQL (backward compatible): - Provide sql_statements + datasource_id - Multiple SQL separated by ";;;" are executed serially Mode 2 - Complex DAG: - Provide tasks_json + relations_json - tasks_json: JSON array string, each task contains name, taskType, taskParams etc. - relations_json: JSON array string defining task dependencies (preTaskName -> postTaskName) Args: project_name: Project name name: Workflow name description: Description sql_statements: [Mode 1] SQL, multiple separated by ";;;" …

  • ds_delete_process_instance

    Permanently delete a finished workflow instance and its task records. Irreversible. DolphinScheduler rejects deleting a RUNNING instance; stop it first with ds_stop_process_instance. Does not affect the workflow definition. Args: project_name: Project name process_instance_id: Instance ID (from ds_list_process_instances) Returns: {"process_instance_id": int, "status": "deleted"}

  • ds_delete_project

    Delete an entire project, cascading to all workflows, schedules and instances. This is irreversible - use with caution.

  • ds_delete_resource

    Delete a resource (file or folder). ⚠️ Warning: Deletion is irreversible. Resources referenced by workflow tasks will cause those tasks to fail on next execution. DS behavior: Deleting a non-empty folder returns error 20018. Use recursive=True to delete children first, then the folder. Args: resource_id: Resource ID recursive: Delete children recursively (for folders, default False) Returns: {"resource_id", "status", "deleted_children"}

  • ds_delete_schedule

    Delete a schedule (takes it offline first).

  • ds_delete_workflow

    Delete workflow(s) by code (takes offline first). Supports single or batch delete. v2.0.12: merged ds_batch_delete_workflows. - workflow_code=12345: delete single workflow - workflow_code=[12345, 67890]: batch delete (each independent; one failure doesn't block others) Args: project_name: Project name workflow_code: Process-definition code (int for single, list for batch) Returns: Single: {"workflow_code": int, "status": "deleted"} Batch: {"total": int, "deleted": int, "failed": int, "deleted_codes": [...], "failed_details": [...]}

  • ds_download_resource

    Download a resource file (supports binary, e.g. jar, zip). Args: resource_id: Resource ID save_to: Optional local save path (accessible to MCP server process). If empty, returns base64-encoded content. Returns: If save_to provided: {"resource_id", "saved_to", "size"} Otherwise: {"resource_id", "size", "content_base64"}

  • ds_force_task_success

    Force mark a task as success (dangerous — bypasses actual execution). ⚠️ Warning: Use only when task is stuck/failed but you've verified data correctness. This does NOT rerun the task — it only changes the state flag.

  • ds_get_latest_failure_log

    One-click fetch of all failed task logs from the latest failed instance. Combines 3 common troubleshooting steps (list instances → list tasks → fetch logs). v2.0.10: Added per-step error handling — returns partial diagnostic info even if some steps fail. Args: project_name: Project name workflow_code: Process-definition code log_limit: Lines of log to fetch per failed task (default 500) Returns: { "workflow_code": int, "instance_id": int, # Latest failed instance ID "instance_state": "FAILURE", "start_time": str, "failed_…

  • ds_get_resource_by_name

    Find a resource (file or folder) by full path, returning id and metadata. Implementation: uses /resources/list recursive search (avoids /resources/query-by-name due to known DS bug). Args: full_name: Full resource path, e.g. "public/test.py" or "scripts" resource_type: Resource type, default FILE

Show 43 more tools
  • ds_get_task_detail

    Read full parameters of a single task (returns only that task, not the whole DAG). Added in v2.0.12 for the "verify a task change took effect" scenario, avoiding pulling a huge DAG payload. Args: project_name: Project name workflow_code: Process-definition code task_name: Task name (exact match) Returns: { "task_code": int, "task_name": str, "task_type": str, "task_params": {...}, # Full taskParams (preStatements/postStatements/sql/script etc.) "description": str, "fail_retry_times": int, "timeout": int, ... …

  • ds_get_task_log

    Fetch task execution log (supports pagination). Args: task_instance_id: Task instance ID (from ds_list_task_instances) skip_line_num: Skip first N lines (for pagination) limit: Max lines to fetch (default 1000) Returns: { "task_instance_id": int, "log": str, "line_start": int, "line_count": int, "hint": str }

  • ds_get_workflow

    Read a single workflow definition (DAG, global params, node coordinates, etc.). Args: project_name: Project name workflow_code: Process-definition code (from ds_list_workflows) compact: Compact mode (default False). When True, returns only metadata and task summary without full taskParams/SQL, greatly reducing token usage. Suitable when you only need to understand DAG structure.

  • ds_help

    Interactive guide to DolphinScheduler MCP tools. Call without arguments to see all categories, or pass a category name to view tools and workflows for that category. Available categories: - quickstart: New user onboarding guide with common scenarios - project: Project CRUD (list/create/rename/delete) - workflow: Basic workflow operations (create/list/get/update/delete/release/run) - workflow_advanced: DAG editing, task updates, version management, cloning - instance: Process instance management, log retrieval, failure troubleshooting - schedule: Schedule configuration (cron/online/offline/de…

  • ds_list_datasources

    List the data sources of one type that the current user can see (read-only). Pass the returned ``id`` as ``datasource_id`` of SQL tasks, e.g. in ds_create_workflow or ds_create_dag_workflow. Args: ds_type: Data source type in DolphinScheduler's upper-case form, e.g. HIVE (default), MYSQL, POSTGRESQL, SPARK, CLICKHOUSE. Returns: [{"id": int, "name": str, "type": str}, ...]; empty if none match.

  • ds_list_process_instances

    List process instances (filter by workflow_code, state). v2.0.12: merged ds_list_workflow_instances. - workflow_code=0 (default): list all recent instances in the project - workflow_code=<value>: list instances for that specific workflow Troubleshooting / Progress Tracking (v2.0.18): After getting instances, to understand execution details (which tasks running/failed/stuck), use ds_list_task_instances(process_instance_id=<id>, include_full=True) to view task states: - RUNNING_EXECUTION: instance running but no details → check task list for dispatched/running tasks (RUNNING instance with em…

  • ds_list_projects

    List all projects. Returns [{id, code, name, description}].

  • ds_list_resources

    List resources (files and folders) at a given path. Args: resource_type: Resource type — FILE / UDF / ALL (default, lists both) full_name: Path prefix filter; empty = list everything from root

  • ds_list_schedules

    List schedule configurations (optionally filtered by workflow_code). v2.0.12: merged ds_list_schedules_in_project and ds_get_workflow_schedule. - workflow_code=0 (default): list all schedules in the project - workflow_code=<value>: list schedules for that specific workflow - simplify=True: return a summary dict with has_schedule/cron/release_state Args: project_name: Project name workflow_code: Process-definition code (0 = no filter) simplify: Return summary dict instead of raw list page_no: Page number page_size: Items per page

  • ds_list_task_instances

    List task instances for a process instance (filter by state, optionally include full details). v2.0.18: Added include_full parameter for detailed troubleshooting. Args: project_name: Project name process_instance_id: Process instance ID state: State filter (FAILURE / SUCCESS / RUNNING_EXECUTION, empty = no filter) include_full: When True, returns full taskParams/SQL/script for each task (useful for detailed analysis but consumes more tokens) Returns: List of task instances with: - Basic info: id, name, taskType, state, startTime, endTime, retryTimes…

  • ds_list_tenants

    List all tenants (useful for debugging workflow tenant_id foreign key issues).

  • ds_list_users

    List all DS users (useful for debugging workflow user_id foreign key issues).

  • ds_list_workflow_versions

    List saved versions of a workflow definition (read-only). Each save of the workflow creates a version. Use the returned version number with ds_rollback_workflow_version. Args: project_name: Project name workflow_code: Workflow (process-definition) code from ds_list_workflows page_size: Maximum number of versions to return (first page, default 20) Returns: [{"version": int, "description": str, "createTime": str, "updateTime": str}, ...]

  • ds_list_workflows

    List workflow definitions with pagination, search and exact-match support. v2.0.12: merged ds_list_workflows_simple and ds_get_workflow_by_name. - Default: paginated API (auto-falls back to simple-list on failure) - search="xx": case-insensitive fuzzy match on name + description - name="xxx": exact name match (single-element list or empty list) - use_simple=True: use /process-definition/simple-list (bypasses pagination SQL) Args: project_name: Project name page_no: Page number, starting at 1 page_size: Items per page (max recommended 100) search: Fuzzy search keyword (name + …

  • ds_modify_workflow_dag

    Modify existing workflow DAG (add/delete/update tasks + adjust dependencies). Implementation: read current DAG → apply operations → write back. ⚠️ Risk warning: - Modifications create a new version; old versions preserved and rollback-able - If workflow is running, it will be taken offline first (auto_offline=True by default) - Auto-re-online after modification (auto_online=True by default) - DS has no native "add single task" API; this tool simulates it via "read → modify → full update" Args: project_name: Project name …

  • ds_monitor_masters

    Check DS master node status (verify scheduler is alive).

  • ds_monitor_workers

    Check DS worker node status (verify task executors are alive).

  • ds_offline_schedule

    Take a schedule offline so it stops triggering new runs. Keeps the schedule and running instances; bring it back with ds_online_schedule, or remove it with ds_delete_schedule. Args: project_name: Project name schedule_id: Schedule ID (from ds_list_schedules) Returns: {"schedule_id": int, "status": "OFFLINE"}

  • ds_online_create_file

    Create a text file inline (no upload required). Args: file_name: Filename without extension (e.g. "my_script") suffix: File extension without dot (e.g. "py" / "sh" / "sql") content: Text content to write current_dir: Parent directory path, default root "/" description: File description resource_type: FILE or UDF

  • ds_online_schedule

    Bring a schedule online so it starts triggering workflow runs. Needed after ds_set_schedule, which creates schedules offline. The workflow itself must be online (ds_release_workflow). Reverse with ds_offline_schedule. Args: project_name: Project name schedule_id: Schedule ID (from ds_set_schedule or ds_list_schedules) Returns: {"schedule_id": int, "status": "ONLINE"}

  • ds_pause_process_instance

    Pause a RUNNING workflow instance (reversible; not a stop). Tasks already running finish, no new tasks are started, and the instance ends in PAUSE state. Use ds_resume_process_instance to continue it, or ds_stop_process_instance to kill it instead. Args: project_name: Project name process_instance_id: Instance ID (from ds_list_process_instances) Returns: {"process_instance_id": int, "executeType": "PAUSE", "status": "submitted"}; the request is asynchronous, so check the state with ds_list_process_instances.

  • ds_raw_delete

    Send a raw DELETE request to the DolphinScheduler API (escape hatch). Deletes are irreversible. Prefer the dedicated ds_delete_* tools; use this only for endpoints they do not cover. Args: path: API path starting with / and excluding the /dolphinscheduler prefix, with any query string, e.g. "/projects/123/schedules/7" Returns: DolphinScheduler's response as-is ({"code", "msg", "data", ...}); code 0 means success.

  • ds_raw_get

    Pass GET through to DolphinScheduler API (path must start with /, excluding the /dolphinscheduler prefix).

  • ds_raw_post

    Pass POST through to DolphinScheduler API. Args: path: API path (starting with /) form_data_json: form-urlencoded params as a JSON string (choose one) json_body_json: JSON body as a JSON string (choose one)

  • ds_raw_put

    Send a raw PUT request to the DolphinScheduler API (escape hatch). Prefer the dedicated update tools (e.g. ds_update_workflow, ds_update_schedule_cron); use this only for endpoints they do not cover. Args: path: API path starting with / and excluding the /dolphinscheduler prefix, e.g. "/projects/123/schedules/7" form_data_json: form-urlencoded params as a JSON object string, e.g. '{"crontab": "0 0 2 * * ? *"}' (set this or json_body_json) json_body_json: JSON body as a JSON string (set this or form_data_json) Returns: DolphinScheduler's response as-is ({"code…

  • ds_release_workflow

    Bring a workflow online or offline. When bringing online (online=True), auto_online_schedule will also re-activate the associated schedule if it was taken offline (DS takes schedules offline when the workflow goes offline). Args: project_name: Project name workflow_code: Process-definition code online: True=online, False=offline auto_online_schedule: Auto-reactivate associated schedule when going online (default True) Returns: { "workflow_code": int, "releaseState": "ONLINE" / "OFFLINE", "schedule_action": str, "schedule_id": int, }

  • ds_rename_project

    Rename a project. Args: old_name: Current project name new_name: New project name description: Optional new description; keeps the existing one if omitted

  • ds_rename_resource

    Rename a resource file or folder. ⚠️ Warning: DS may implement rename as delete + recreate, which changes the resource_id. If this resource is referenced by workflow tasks, the reference will become invalid after renaming. Check references with ds_list_workflows before proceeding. Args: resource_id: Resource ID new_name: New name (filename or folder name only, no path prefix) description: Description resource_type: FILE or UDF

  • ds_rerun_from_failure

    Resume from failed tasks (rerun only failed and pending tasks, skip succeeded ones).

  • ds_rerun_process_instance

    Rerun entire workflow instance (from the beginning).

  • ds_resume_process_instance

    Resume a workflow instance that is in PAUSE state. Continues from where ds_pause_process_instance stopped it. Not for failed or stopped instances: use ds_rerun_from_failure or ds_rerun_process_instance. Args: project_name: Project name process_instance_id: Instance ID (from ds_list_process_instances) Returns: {"process_instance_id": int, "executeType": "RECOVER_SUSPENDED_PROCESS", "status": "submitted"}; the request is asynchronous.

  • ds_rollback_workflow_version

    Roll back a workflow to a specific historical version. Args: project_name: Project name workflow_code: Process-definition code version: Target version number (from ds_list_workflow_versions)

  • ds_run_workflow

    Manually trigger a workflow run (brings it online first). Args: project_name: Project name workflow_code: Process-definition code start_task_names: Optional list of task names to start from (including their downstream tasks). Leave empty to run the entire workflow. Example: ["partition_check"] starts from that task and all its successors.

  • ds_set_schedule

    Create a schedule for a workflow (created OFFLINE; activate with ds_online_schedule). v2.0.12: cron is now required (no default) to prevent silent misuse. Args: project_name: Project name workflow_code: Process-definition code cron: Quartz 7-field expression (required, e.g. "0 0 6 * * ? *") start_time: Start time yyyy-MM-dd HH:mm:ss; defaults to today 00:00:00 end_time: End time; defaults to 2030-12-31 23:59:59

  • ds_skip_task

    Skip a task (mark as success without running). ⚠️ Warning: Use only for non-critical tasks (e.g., notifications). Downstream tasks will proceed as if this task succeeded.

  • ds_stop_process_instance

    Stop a running workflow instance (force kill).

  • ds_test_connection

    Test DolphinScheduler login and connectivity.

  • ds_update_resource_content

    Update resource file content (text files only). ⚠️ Changes take effect immediately. Workflows referencing this script will use the new version on their next execution. Args: resource_id: Resource ID content: New file content description: Update note (optional)

  • ds_update_schedule_cron

    Update only the cron expression of a schedule (keeps all other settings). Flow: read current state → offline if needed → update → re-online (default). v2.0.10: queries the target schedule directly instead of scanning the full list. Args: project_name: Project name schedule_id: Schedule ID (from ds_list_schedules) cron: New Quartz 7-field expression start_time: New start time yyyy-MM-dd HH:mm:ss (keep original if empty) end_time: New end time (keep original if empty) auto_online: Re-activate after update (default True) Returns: { "schedule_id": int, …

  • ds_update_task_param

    Lightweight single-task parameter update — no need to pass full DAG definition. This tool is a convenience wrapper around ds_modify_workflow_dag's update_task, automatically handling the "read → modify → write → online/offline" flow. Use case: Change a single task's SQL/script/name/retry params without constructing a full operations list. Args: project_name: Project name workflow_code: Workflow code task_name: Task name to modify (exact match) updates: Fields to update (flat dict, field names same as update_task's updates) auto_offline: Auto-offline before modification (…

  • ds_update_workflow

    Update workflow definition (PUT method, preserves code, auto-increments version). This is a fallback when ds_modify_workflow_dag cannot handle the change. Supports full task definition override with complete replacement. Args: project_name: Project name workflow_code: Process-definition code task_definitions: Task definition list (list or JSON string) task_relations: Task relation list (list or JSON string) locations: Node coordinates (list or JSON string, default "[]") name: Workflow name (empty = keep original) description: Description (empty = keep original) …

  • ds_upload_file

    Upload a file to the resource area (supports binary, e.g. jar / zip). Two ways to provide file content: Method 1: local_path — path to a file accessible by the MCP server process Method 2: file_name + file_content_base64 — base64-encoded content Args: local_path: Local file path (Method 1) file_name: Filename with extension (Method 2) file_content_base64: Base64-encoded file content (Method 2) current_dir: Parent directory path, default root "/" resource_type: FILE or UDF

  • ds_view_resource

    View resource file content (paginated, text files only). Args: resource_id: Resource ID (from ds_list_resources or ds_get_resource_by_name) skip_line_num: Number of lines to skip limit: Max lines to read

Signals

Stars
20
Forks
17
Open issues
3
Contributors
9
Last commit
Oct 9, 2026 (19 days ago)
Last release
Aug 31, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.iflytek/dolphin-mcp-pilot
Version
0.3.1
Auth
No auth
Packages
oci ghcr.io/iflytek/dolphin-mcp-pilot:0.3.1
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from iflytek

Cite this page

Dolphin MCP Pilot. Agent Mart. https://agentmart.dev/connectors/iflytek-dolphin-mcp-pilot (last updated 2026-10-24)