CWL Workflow Check
Guest access is available after setup. Full account linking verified by PowMCP: Claude only.
Use in your browser
Get the real cwltool verdict on a CWL document: SALAD reference resolution and cross-step type wiring, not a YAML syntax parse. Compare a baseline and a revised document to see which findings changed.
Guest includes 50 lifetime app requests. Create a free account for 100 app requests each calendar month. One allowance across every app, in your browser and your agent.One allowance across every app, in your browser and your agent. Manage usage
Guest access is available after setup. Full account linking verified by PowMCP: Claude only.
Connect this app on its own. Add other PowMCP apps whenever your agent needs another job done.
Open the apps workspace
Choose your agent. Each button opens a new tab with only this app's endpoint ready to add.
Copy one ready-to-send prompt for any agent that supports remote MCP connections.
For clients that require manual configuration, use this app-only endpoint, its JSON entry, or one terminal command.
ChatGPT: enable Developer mode in Settings → Security and login, then add this MCP endpoint from the Plugins page. Availability depends on your account and workspace policy. PowMCP has not yet verified ChatGPT account linking. OpenAI setup guide
https://powmcp.com/cwl-workflow-check/mcp {
"mcpServers": {
"powmcp-cwl-workflow-check": {
"type": "http",
"url": "https://powmcp.com/cwl-workflow-check/mcp"
}
}
}Terminal agents add this app with one command:
claude mcp add --transport http powmcp-cwl-workflow-check https://powmcp.com/cwl-workflow-check/mcpcodex mcp add powmcp-cwl-workflow-check --url https://powmcp.com/cwl-workflow-check/mcpgemini mcp add --transport http powmcp-cwl-workflow-check https://powmcp.com/cwl-workflow-check/mcpManage, disable, or remove this connection in your agent's own MCP settings. PowMCP does not label an external connection as installed without confirmation from that client.
Proof
Validate a hosted Common Workflow Language document with the reference cwltool --validate engine: real SALAD reference resolution and cross-step type wiring, not a YAML syntax parse
Validate one public Common Workflow Language document (single-file, packed, or multi-file resolving over HTTP) against the pinned cwltool --validate engine (SALAD reference resolution plus cross-step input/output type compatibility) with exact rule, location, and message evidence, or compare two documents of the same CWL version family, with a clear structural-validity-versus-scientific-correctness boundary.
Request cost1 completed result
Guests get 50 lifetime app requests. Free accounts get 100 each calendar month.
cwl_check
Validates one directly hosted public Common Workflow Language document (a single-file CommandLineTool, a packed $graph workflow, or a multi-file workflow whose relative run:/$import references are fetched over HTTP from the same base host under a ~5 MB / 25-reference cap), or a pasted self-contained/packed CWL body, with the pinned cwltool --validate engine run offline in a no-network sandbox. cwltool performs SALAD linked-data reference resolution and CWL cross-step input/output type checking, the kind a naive YAML graph walk gets wrong on optional coercion and scatter array-lifting. Returns valid/invalid, the cwltool engine version, findings grouped by rule class (reference-unresolved, type-mismatch, missing-required-field, unsupported-version, schema-violation) with location and message, a structural inventory (steps/inputs/outputs/requirements and any resolved relative refs), and distinguished states (not-yaml-or-json vs not-cwl vs a cwl-invalid document; supported vs unsupported-version; single-file vs multi-file-resolved vs multi-file-paste-unresolved-refs; no-findings vs not-checked). Use for one-document validity and diagnosis: 'is this CWL valid', 'do its step references resolve', 'do its input/output types wire correctly'. A pass means only that the document is valid CWL at the named engine version. It never means the workflow is scientifically correct, that its tools run correctly, or that the pipeline is well-designed. Detection is by cwlVersion presence, never MIME type. Fetches a live document (and its relative refs) and typically returns in a few seconds. Tell the user before calling.
cwl_compare
Runs the identical pinned cwltool --validate validation over exactly two directly hosted public CWL documents (or two pasted self-contained/packed bodies), baseline first, revised second, sequentially under one shared deadline, then reports which findings regressed or were resolved. Select it whenever the user gives two CWL documents and asks what validity changed, whether an edit broke the step wiring, or which document has fewer findings: two edits, two hosts, or a before/after version. You do NOT need to pre-check that the two share a CWL version: the tool validates both and reports the pair as not-comparable if they are not the same CWL version family, rather than failing. Returns per-document hashes, detected CWL versions, validity verdicts and rule-class counts; a comparability note; a difference table of finding groups introduced (regressions) and resolved keyed by rule class and location; and a ranking by validity then fewer error-severity findings. The ranking orders automated structural validity only (it never means one document is more scientifically correct, better designed, or that its tools run), and human review remains required for both. Fetches two live documents and typically returns in a few seconds.
Other apps for the jobs next to CWL Workflow Check.
Scope and boundaries for CWL Workflow Check.
Validate the hosted OGC SISTER trait-estimate CWL document, including same-host relative run and $import references, or compare two published Dockstore workflow versions as baseline and revision.
Start with documentState, versionState, checkState, and valid. Valid is meaningful only when cwltool ran; non-CWL, unsupported-version, and unresolved-paste states are not validity verdicts. Fix the top reference, type, required-field, version, or schema finding, or submit a hosted URL for relative references; treat cap hits as incomplete and use comparison differences only when comparable is true.
Validation proves structural CWL validity at the named engine version, not that referenced command-line tools execute, the workflow produces scientifically correct results, or the pipeline is well designed. Pasted bodies must be self-contained or packed, while hosted reference fetching is same-host and bounded.