Generate your first MCP Tool definition¶
Install the plugin and runtime, then run the commands below from this repository's root. The EOAP example includes the software application metadata required by the runtime and a complete MCP hint. Its remote schema imports require network access or a populated loader cache.
Export one process¶
transpiler-mate cwl2mcp --output build/tool.json tests/examples/eoap.cwl#main
python -m json.tool build/tool.json
The file contains one Tool with name equal to inspect_source, title equal to
Inspect Source, and inputSchema, outputSchema, annotations, and _meta.
The description comes from the CWL doc; selection guidance is in _meta.
Export the document¶
transpiler-mate cwl2mcp --output build/tools.json tests/examples/eoap.cwl
This produces a mapping with a main entry containing the Tool definition.
Neither command executes the expression in the CWL document.
Inspect the argument contract¶
The generated input schema accepts this shape:
{
"source": "https://example.org/data.tif",
"timestamp": "2026-10-18T06:00:00Z",
"point": {
"type": "Point",
"coordinates": [12.5, 41.9],
"bbox": [12.5, 41.9, 12.5, 41.9]
}
}
The source CWL arguments fixture uses
{"value": ...} records for URI and DateTime. Those wrappers are flattened by
the current schema converter, so that fixture is not a valid MCP argument object
without adaptation. The output schema similarly uses scalar source_result
and timestamp_result fields and a structured point_result field.
Read the crosswalk for current mappings, or configure the destination and metadata prefix.