| name | cc-workflow-ai-editor |
| description | AI workflow editor for CC Workflow Studio. Create and edit visual AI agent workflows through interactive conversation using MCP tools (get_workflow_schema, get_current_workflow, apply_workflow, update_nodes). Use when the user wants to create a new workflow, modify an existing workflow, or edit the workflow canvas in CC Workflow Studio via the built-in MCP server. |
- Call
get_workflow_schema via cc-workflow-studio MCP server
- Call
get_current_workflow via cc-workflow-studio MCP server
- Ask the user what to create or modify
- Generate workflow JSON: use built-in sub-agents (builtInType: explore/plan/general-purpose) by default. Only call
list_available_agents when the user explicitly asks to use an existing custom sub-agent.
- Apply changes via
cc-workflow-studio MCP server:
- New workflow or structural changes (add/remove nodes/connections): use
apply_workflow
- Partial updates to existing nodes (change name, position, or data): use
update_nodes (more token-efficient)
- Fix errors if any
- Ask for feedback, repeat from step 4
Group Node
Group nodes are visual containers for organizing related nodes on the canvas. They do NOT affect workflow execution.
Rules
- Group nodes have
type: "group" and require data.label (display name)
- Group nodes must have
style: { width, height } to define their visual area
- Group nodes CANNOT have connections (no edges to/from group nodes)
- To place a node inside a group, set the child node's
parentId to the group's id
- Child node
position is relative to the group's top-left corner (not the canvas origin)
- The
name field on group nodes is not validated (can be empty or omitted)
Example
{
"nodes": [
{
"id": "group-1",
"type": "group",
"name": "",
"position": { "x": 100, "y": 100 },
"style": { "width": 400, "height": 300 },
"data": { "label": "Data Processing" }
},
{
"id": "node-1",
"type": "subAgent",
"name": "fetch-data",
"parentId": "group-1",
"position": { "x": 50, "y": 50 },
"data": { "description": "Fetch data from API", "outputPorts": 1 }
}
]
}