MCP server toolkit for cc-wf-studio workflows. Ships tool definitions, an IO adapter contract, and a stdio bin (ccwf-mcp) for file-mode usage.
Server defines 6 tools with explicit schemas and descriptions. Tool naming follows verb_noun patterns (get_, list_, apply_, update_, highlight_). Descriptions are generally adequate (ranging 80-400 chars) and explain what each tool does. However, several critical gaps reduce overall quality: (1) Missing output schema documentation for all tools, LLMs don't know what fields to expect in responses; (2) No parameter descriptions for optional fields in apply_workflow, update_nodes, and list_available_agents, e.g., 'revision' parameter lacks guidance on when/why to use it; (3) No explicit error handling guidance in descriptions, tools mention validation and rejection but don't guide LLM recovery steps; (4) Tool descriptions lack dependency hints and prerequisites (e.g., 'get_workflow_schema should be called first to understand node types'); (5) No pagination or result-limiting guidance despite tools returning structured data. Naming is clear and action-oriented, which is a strength. Per-tool analysis: get_current_workflow (79/100), get_workflow_schema (72/100), apply_workflow (65/100), list_available_agents (58/100), update_nodes (60/100), highlight_group_node (62/100). Average: 62/100.
Apply a workflow to the CC Workflow Studio canvas. The workflow is validated before being applied. If the user has review mode enabled, they will see a diff preview and must accept changes before they are applied. If rejected, an error with message "User rejected the changes" is returned. The editor must be open. SubAgent nodes without commandFilePath will have .md files auto-created in .claude/agents/.
Get the currently active workflow from CC Workflow Studio canvas. Returns the workflow JSON and whether it is stale (from cache when the editor is closed).
Get the workflow schema documentation in optimized TOON format. Use this to understand the valid structure for creating or modifying workflows.
Highlight a specific group node in the canvas (e.g., for showing context during AI refinement). Sets focus/scroll position.
List available .claude/agents/*.md agent files that can be referenced as sub-agent nodes in workflows. Returns both user-scope (~/.claude/agents/) and project-scope (.claude/agents/) agents.
No output schema documentation for any tool. LLMs cannot plan downstream actions or extract required fields (e.g., workflow revision ID, agent list structure, node IDs). This violates the 'Document output schema' critical check and forces agents to guess at response structure.
Optional parameters in apply_workflow ('description', 'revision') and update_nodes ('description', 'revision') lack descriptions. LLMs cannot determine when these are needed. 'revision' is especially critical for conflict detection, agents need explicit guidance on when to provide it.
list_available_agents 'includeContent' parameter has a description ('If true, include the full prompt content...') but lacks guidance on when to use it. Should explain: 'Set to true only when you need to understand agent behavior; default false reduces token consumption.' Current description doesn't guide LLM decision-making.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 48 | - | v1 |
Update specific nodes in the current workflow by ID. More efficient than apply_workflow for partial changes. Fetches the current workflow, merges the specified node changes, validates the result, and applies to the canvas. Only updates existing nodes — use apply_workflow to add or remove nodes.
No error handling guidance in descriptions. apply_workflow mentions 'User rejected the changes' error but doesn't guide LLM recovery (should say: 'Try again with a different approach or ask user for approval'). update_nodes mentions validation but not what to do on failure.
apply_workflow and update_nodes descriptions state 'The editor must be open' but don't specify what error to expect or how to recover. Should be: 'Returns error 'editor_not_open' if VS Code editor is closed. User must open the editor in VS Code before retrying.'
apply_workflow 'workflow' parameter lacks format guidance. Should specify: 'Valid JSON string representing a workflow object with nodes, edges, and metadata. Call get_workflow_schema first to understand required structure.' Current description assumes LLM knows the schema.
update_nodes 'nodes' array parameter description is extremely detailed (100+ words) but still lacks clarity on error cases (e.g., what happens if node ID doesn't exist? What if type change is invalid?). Should include explicit error scenarios and recovery guidance.
No dependency hints in tool descriptions. Should document: 'Call get_workflow_schema before apply_workflow to understand valid node types.' 'Call list_available_agents before referencing agents in apply_workflow or update_nodes.' Currently agents must discover dependencies through trial-and-error.
apply_workflow description mentions 'SubAgent nodes without commandFilePath will have .md files auto-created', this is a critical side effect that should be explicit: '⚠️ SIDE EFFECT: Creates new agent files. Ensure agent names follow naming conventions.' Current phrasing buries important context.