list_workflow_templates
What it does
Returns the catalog of multi-step macros available to run_workflow. Built-ins ship with the platform; custom templates live in the workspace's workflow_templates table.
Built-ins today: ads_pipeline, content_audit, publish_approved, weekly_report, brand_kit_refresh.
Input schema
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| include_custom | boolean | optional | true |
Include workspace-scoped templates from D1. |
Example call
json{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_workflow_templates", "arguments": { "include_custom": true } } }
Response shape
json{ "ok": true, "workspace_id": "ws_lumika-team", "builtin_count": 5, "custom_count": 0, "templates": [ { "key": "ads_pipeline", "kind": "builtin", "name": "Meta Ads Pipeline", "description": "Upload Veo output, analyze, compliance-check (Meta), generate 5 caption + 5 hook variants, request review.", "input_schema": { "type": "object", "required": ["video_url"] }, "step_count": 5 } ] }
Usage from Claude Desktop
prompt"What workflows can I run right now?"
Usage from Python
pythonimport requests LUMIQA = "https://lumiqa.io/mcp/your-slug" HEADERS = {"Authorization": "Bearer lk_live_xxxxxxxxxxxx"} r = requests.post(LUMIQA, headers=HEADERS, json={ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_workflow_templates", "arguments": {} }, }) print(r.json())
Usage from Node
javascriptconst r = await fetch("https://lumiqa.io/mcp/your-slug", { method: "POST", headers: { "Authorization": "Bearer lk_live_xxxxxxxxxxxx", "Content-Type": "application/json", }, body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/call", params: { name: "list_workflow_templates", arguments: { }, }, }), }); const data = await r.json(); console.log(data);
Required env vars / integrations
- Optional D1 table
workflow_templatesfor custom templates — missing table fails soft.
Known limitations
- Custom-template authoring isn't exposed via MCP yet (it's a future
save_workflowtool); insert rows manually for now. step_countis a rough estimate —_for_eachblocks add their inner steps but iteration count is unknown until runtime.