Skip to main content
Glama
iflytek

dolphin-mcp-pilot

Official
by iflytek

ds_create_workflow

Create data workflows by providing SQL statements or defining DAG tasks with dependencies. Set schedules and auto-online to automate production deployment.

Instructions

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 ";;;" datasource_id: [Mode 1] Datasource ID sql_ds_type: [Mode 1] SQL type (HIVE/MYSQL) tasks_json: [Mode 2] Task definition JSON array string relations_json: [Mode 2] Task relation JSON array string schedule: Whether to create a schedule schedule_cron: Quartz 7-field cron expression schedule_start: Schedule start time (defaults to today) schedule_end: Schedule end time (defaults to 2030-12-31) auto_online: Whether to auto-release workflow and schedule

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
scheduleNo
tasks_jsonNo
auto_onlineNo
descriptionNo
sql_ds_typeNoHIVE
project_nameYes
schedule_endNo
datasource_idNo
schedule_cronNo0 0 6 * * ? *
relations_jsonNo
schedule_startNo
sql_statementsNo
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden and does add useful disclosures: SQL statements 'executed serially', schedule_start 'defaults to today', schedule_end 'defaults to 2030-12-31', and auto_online meaning 'auto-release workflow and schedule'. However, it does not disclose failure/conflict behavior, what occurs if both mode parameter sets are supplied, or any return-value/success indicators.

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

Conciseness3/5

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

The description is front-loaded with purpose and organized into mode sections and an Args list, making it scannable. But it is verbose and redundant: the Mode 1 bullet ('Multiple SQL separated by ";;;"') is nearly repeated in the Args line for sql_statements, and the Args list itself restates the mode structure.

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

Completeness3/5

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

For a complex 13-parameter, two-mode creation tool with zero annotations, no output schema, and no nested objects, the description covers most input semantics and defaults adequately. However, with no output schema the description should explain return values/success indicators, and it does not; it also omits error scenarios or duplicate-name behavior, which are notable gaps for a mutation tool.

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

Parameters4/5

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

Schema description coverage is 0%, so the Args list in the description is the only semantic source, and it compensates well for the key parameters: the ';;;' separator for sql_statements, the JSON array structure for tasks_json/relations_json, 'Quartz 7-field cron expression' for schedule_cron, and explicit defaults. However, several entries are tautological ('project_name: Project name', 'description: Description'), and the mutual exclusivity of the two mode parameter sets is not formally stated.

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

Purpose4/5

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

The description opens with a specific verb+resource: 'Create a workflow (supports simple SQL mode and complex DAG mode)', which clearly states what the tool does. The two modes are well delineated. However, it does not distinguish itself from the sibling ds_create_dag_workflow, which likely overlaps in DAG creation, so it doesn't fully differentiate within the tool family.

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

Usage Guidelines3/5

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

The description gives explicit in-tool guidance: 'Provide sql_statements + datasource_id' for Mode 1 and 'Provide tasks_json + relations_json' for Mode 2, and notes Mode 1 is 'backward compatible', implying legacy use. However, it never references alternative sibling tools (e.g., ds_create_dag_workflow, ds_update_workflow) and provides no when-not-to-use or exclusion guidance.

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