CWL MCP Extension
cwl-mcp-extension defines a small CWL extension for attaching MCP tool metadata to a CWL Process without duplicating standard CWL execution semantics.
This repository is a work in progress. Contributions, feedback, and discussion are welcome.
Scope
The extension introduces two records:
mcp:Toolmcp:ToolAnnotations
These records are intended for use in CWL metadata, typically under hints, to provide agent-facing guidance for deriving an MCP Tool from a CWL Process.
Namespace
The canonical namespace URI for this extension is https://eoap.github.io/cwl-mcp-extension#.
cwlmcpis the recommended prefix.- Prefixes are aliases; the namespace URI is the actual identifier.
- EOAP currently hosts the namespace because EOAP maintains this extension.
- The project intentionally does not claim an unregistered
w3id.orgnamespace at this stage. - A neutral persistent namespace may be adopted later if the extension moves toward broader CWL community standardization.
Canonical Example
cwlVersion: v1.2
class: Workflow
$namespaces:
mcp: https://eoap.github.io/cwl-mcp-extension#
hints:
mcp:Tool:
annotations:
readOnlyHint: false
destructiveHint: false
idempotentHint: false
openWorldHint: true
References
- MCP specification (2026-07-28): https://modelcontextprotocol.io/specification/2026-07-28
- MCP Tools section: https://modelcontextprotocol.io/specification/2026-07-28/server/tools
- Tool annotations background: https://blog.modelcontextprotocol.io/posts/2026-03-16-tool-annotations/