Use in your browser

Validate your CWL workflow

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

CWL Workflow Check

Connect agent

Guest access is available after setup. Full account linking verified by PowMCP: Claude only.

CWL Check

Validate one CWL document, hosted or pasted, with the reference cwltool engine.

Usually finishes in a few seconds; a multi-file workflow that fetches its references takes longer.

CWL document source

Only the active source is sent. You can switch without losing what you entered.

One file, a packed $graph, or a workflow whose relative references sit on the same host.

Allowed range: 1–1000 · whole numbers

Most severe first. Left empty, the engine returns up to 400.

Add CWL Workflow Check to your agent

Connect this app on its own. Add other PowMCP apps whenever your agent needs another job done.

Open the apps workspace A glowing app tile clicking into a slot on a dark agent device, with the PowMCP app box behind it

Connect directly

Choose your agent. Each button opens a new tab with only this app's endpoint ready to add.

Use another agent

Copy one ready-to-send prompt for any agent that supports remote MCP connections.

Manual endpoint, JSON, and terminal commands

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 Code
claude mcp add --transport http powmcp-cwl-workflow-check https://powmcp.com/cwl-workflow-check/mcp
Codex CLI
codex mcp add powmcp-cwl-workflow-check --url https://powmcp.com/cwl-workflow-check/mcp
Gemini CLI
gemini mcp add --transport http powmcp-cwl-workflow-check https://powmcp.com/cwl-workflow-check/mcp

Manage, 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

What it does

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.

Category
Developer Tools

Request cost1 completed result

Guests get 50 lifetime app requests. Free accounts get 100 each calendar month.

Tools in this app

01

CWL Document Validity Check

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.

02

CWL Document Validity Compare

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.

CWL Workflow Check questions

Scope and boundaries for CWL Workflow Check.

01What can I check with 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.

02How should I read the result?

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.

03What are its limits?

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.