Skip to main content
Glama
iflytek

dolphin-mcp-pilot

Official
by iflytek

ds_update_task_param

Update a single task's SQL, script, name, or retry parameters in a DolphinScheduler workflow without a full DAG definition. Automates read-modify-write flow with optional offline/online and schedule restoration.

Instructions

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 (default True) auto_online: Auto-online after modification (default True) auto_online_schedule: Auto-restore schedule after onlining (default True, v2.0.11)

Supported updates fields (snake_case and camelCase both accepted): Common: name, description, fail_retry_times(failRetryTimes), fail_retry_interval(failRetryInterval), timeout, timeout_flag(timeoutFlag), timeout_notify_strategy(timeoutNotifyStrategy), worker_group(workerGroup), task_priority(taskPriority), delay_time(delayTime), flag SQL: sql, datasource_id(datasource), sql_type, sql_type_select(sqlType), pre_statements(preStatements), post_statements(postStatements), local_params(localParams), resource_list(resourceList) SHELL/PYTHON: script(rawScript), resource_list(resourceList), local_params(localParams)

⚠️ Unrecognized fields are reported in the return value's ignored_fields (not silently dropped).

Returns: { "workflow_code": int, "task_name": str, "schedule_action": str, "status": "updated", }

Examples: # Change a single task's retry params ds_update_task_param( project_name="my_project", workflow_code=21583255237888, task_name="check_partition", updates={"fail_retry_times": 8, "fail_retry_interval": 1} )

# Rename a task (v2.0.11)
ds_update_task_param(
    project_name="my_project", workflow_code=..., task_name="old_sql",
    updates={"name": "new_sql_v2"}
)

# Change SQL only
ds_update_task_param(
    project_name="my_project", workflow_code=..., task_name="sql1",
    updates={"sql": "SELECT * FROM new_table WHERE dt='$[yyyyMMdd-1]'"}
)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
updatesYes
task_nameYes
auto_onlineNo
auto_offlineNo
project_nameYes
workflow_codeYes
auto_online_scheduleNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full transparency burden. It discloses the automatic 'read → modify → write → online/offline' flow, including the auto_offline, auto_online, and auto_online_schedule toggles and their defaults. It also warns about unrecognized fields being reported in ignored_fields and shows the return structure, making side effects predictable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured, leading with a one-line purpose and then using sections for Args, supported fields, warnings, return value, and examples. The front-loading of the purpose and the clear section headers compensate for length, and the extensive field list is essential because the `updates` object has no schema definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description fully covers the invocation context: it explains the return format with a concrete example, documents all parameter defaults, lists valid update fields, and notes version-specific behavior (v2.0.11). It is complete enough for an agent to call the tool correctly without additional lookups.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only provides titles and types, with 0% description coverage, so the description must explain parameters. It does so with an Args block covering all 7 parameters, and it expands the opaque `updates` object with supported field names, snake_case/camelCase aliases, and categories (Common, SQL, SHELL/PYTHON). This goes far beyond the schema and enables correct use.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Lightweight single-task parameter update — no need to pass full DAG definition,' clearly identifying a specific verb (update), resource (single task parameter), and distinguishing it from ds_modify_workflow_dag by calling itself a convenience wrapper. It also states the exact use case, making purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly frames the tool as a wrapper around ds_modify_workflow_dag's update_task and states 'Use case: Change a single task's SQL/script/name/retry params without constructing a full operations list,' which tells when to use it. It contrasts with the full DAG modification tool and provides multiple examples showing typical invocations. This gives clear guidance on when to choose this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/iflytek/dolphin-mcp-pilot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server