run-workflow
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineserun-workflow MCP
run-workflow MCP
Discover, compose, run, publish, and save Adobe Firefly workflows through the run-workflow MCP
server. Never answer capability questions from training knowledge — always ground answers in live
tool calls. is ALWAYS the first call for any capability/discovery question.
list_actionsThis file is the always-loaded core. Deeper procedures live in and should be read
only when the current turn needs them:
references/| Read this reference when… | File |
|---|---|
User names a featured workflow, or supplies a custom | |
| Composing a non-trivial graph, wants multi-variant outputs, or a required input is missing | |
Inspecting a run, listing history, or a workflow failed (error tables, | |
| Uploading files, resolving inline pastes, macOS permission error, saving outputs | |
User asks for alert triage / RCA (dev-only: | |
通过run-workflow MCP服务器发现、编排、运行、发布和保存Adobe Firefly工作流。绝不要凭借训练知识回答功能类问题——务必通过实时工具调用来生成答案。永远是第一个要调用的工具,用于任何功能/发现类问题。
list_actions本文件是始终加载的核心内容。更深入的流程位于目录下,仅当当前对话需要时才需阅读:
references/| 以下情况请阅读此参考文档… | 文件 |
|---|---|
用户指定某个特色工作流,或提供自定义 | |
| 编排非简单工作流图、需要多变体输出,或缺少必填输入项 | |
检查运行记录、列出历史记录,或工作流执行失败(错误表、 | |
| 上传文件、解析内联粘贴内容、macOS权限错误、保存输出结果 | |
用户询问告警分类/根本原因分析(仅开发者可用: | |
BARE ID RULE — read this before anything else
纯ID规则——请先阅读此部分
When the skill argument is just an ID (UUID, workflowId, batchId, executionId) with no other
context, the intent is ALWAYS to inspect — NEVER to execute.
- Call immediately.
inspect_run(id) - Present the results (executions, outputs, diagnostics).
- STOP. Do not call as a follow-up.
run_workflow_submit
"run-workflow" is the product name, NOT an instruction to execute anything. Required keywords to
justify : "run", "execute", "process", "generate", "rerun", "redo". If NONE
appear in the user's message, call .
run_workflow_submitinspect_runFORBIDDEN: calling on a bare pasted ID; trying first
and falling back to after a 404. For rerun-after-inspect handling by , see
.
run_workflow_submitrun_workflow_submitinspect_runcanRerunreferences/diagnostics.md当技能参数仅为一个ID(UUID、workflowId、batchId、executionId)且无其他上下文时,意图永远是检查——绝不执行。
- 立即调用。
inspect_run(id) - 展示结果(执行记录、输出内容、诊断信息)。
- 停止操作。后续请勿调用。
run_workflow_submit
"run-workflow"是产品名称,而非执行操作的指令。 调用需满足的关键词:"run"、"execute"、"process"、"generate"、"rerun"、"redo"。若用户消息中未出现这些关键词,请调用。
run_workflow_submitinspect_run禁止操作:对粘贴的纯ID调用;先尝试,失败(404)后再回退到。关于检查后的重跑处理(),请查看。
run_workflow_submitrun_workflow_submitinspect_runcanRerunreferences/diagnostics.mdWhen to use
适用场景
TRIGGER when the user: asks what actions/capabilities exist; wants to process images/video/3D
through a Firefly workflow; wants to build/compose/execute a workflow; asks about past runs or
history; pastes any run-workflow ID (→ ); asks "why did my workflow fail"; wants to
publish a workflow as an API; wants to save a workflow to Workflow Builder.
inspect_runDO NOT TRIGGER when: the user wants to call the Firefly REST API directly without MCP (use
); the user is building/debugging the run-workflow server itself.
firefly-api-specs触发条件:当用户询问存在哪些操作/功能;想要通过Firefly工作流处理图像/视频/3D内容;想要构建/编排/执行工作流;询问过往运行记录或历史;粘贴任何run-workflow ID(→调用);询问“我的工作流为何失败”;想要将工作流发布为API;想要将工作流保存到Workflow Builder时。
inspect_run请勿触发:当用户想要直接调用不带MCP的Firefly REST API(请使用);用户正在构建/调试run-workflow服务器本身时。
firefly-api-specsTool routing
工具路由
| User intent | Tool |
|---|---|
| "What actions are available?" / "What can this MCP do?" / "Show me the catalog" | |
| "What parameters does action X accept?" | |
| "Build / compose / create a workflow for…" | |
| Upload a local file to get a URL | |
Execute a workflow — only with explicit run/execute keywords. Returns a | |
Check whether a running execution is done — always pass | |
| Abort a running batch by batchId | |
| "List my workflows" / "Show my recent runs" (multiple) | |
| "Last workflow I ran" / "Most recent run" (single, by recency) | |
| Per-action outputs/logs/errors for a run; "why did it fail?"; any pasted ID | |
| Look up known-good examples to debug a failed compose | |
| Reload examples after editing JSON files on disk | |
| Publish workflow as a reusable API endpoint with curl | |
| Save workflow to user's ACP cloud / Workflow Builder UI | |
| Generate a curl command for a published workflowId | |
| Display output images inline in chat | |
| See newly registered actions (catalog stale) | |
| Run a named/featured workflow (retargeting, banners, localization, packaging…) | |
Single vs. multiple: one ID / "the last one" / "that workflow" → (full details).
A list/history request with no named target → (summaries only). See
.
inspect_runlist_workflow_historyreferences/diagnostics.md| 用户意图 | 工具 |
|---|---|
| "有哪些可用操作?" / "这个MCP能做什么?" / "展示我的目录" | |
| "操作X接受哪些参数?" | |
| "为…构建/编排/创建工作流" | |
| 上传本地文件以获取URL | |
执行工作流——仅当存在明确的run/execute关键词时。立即返回 | |
检查正在运行的执行是否完成——每次轮询务必传入 | |
| 通过batchId终止正在运行的批处理 | |
| "列出我的工作流" / "展示我最近的运行记录"(多条) | |
| "我上次运行的工作流" / "最近一次运行记录"(单条,按时间排序) | |
| 某条运行记录的单操作输出/日志/错误;“为何失败?”;任何粘贴的ID | |
| 查询已知可用示例以调试失败的编排 | |
| 编辑磁盘上的JSON文件后重新加载示例 | |
| 将工作流发布为可复用的API端点(含curl命令) | |
| 将工作流保存到用户的ACP云/Workflow Builder界面 | |
| 为已发布的workflowId生成curl命令 | |
| 在聊天中内联展示输出图像 | |
| 查看新注册的操作(目录已过时) | |
| 运行指定/特色工作流(重定向、横幅、本地化、包装…) | |
单条 vs 多条:单个ID / "上一个" / "那个工作流" → (完整详情)。无指定目标的列表/历史请求 → (仅摘要)。详情请查看。
inspect_runlist_workflow_historyreferences/diagnostics.mdWorkflow pattern
工作流模式
1. upload_asset — upload local files; get back URLs for use as inputs
1b. get_action_schema — if you can identify 1–3 target action types, fetch schemas BEFORE
composing and inject them into the compose message (see references/compose.md).
Skip for simple/obvious single-action workflows.
2. compose_workflow — describe the desired processing in natural language; the AI graph agent
designs the graph. DO NOT manually specify actions or connections.
3. run_workflow_submit — execute with inputs; pass session_id from step 2. Pass ALL images in ONE
call. Returns a batchId immediately (async); does NOT block on completion.
4. run_workflow_get_status — poll the batchId; ALWAYS pass includeOutputs: true. On completion,
present ALL output URLs verbatim and STOP (see post-completion sequence).
5. download_output — ONLY after the user asks; saveTo a folder they choose.
6. publish_workflow — publish for API reuse OR save_workflow_to_acp — save for UI editing.1. upload_asset — 上传本地文件;获取可作为输入的URL
1b. get_action_schema — 若能确定1-3个目标操作类型,请在编排前获取模式并注入到编排消息中(见references/compose.md)。简单/明确的单操作工作流可跳过此步骤。
2. compose_workflow — 用自然语言描述所需处理流程;AI图智能体将设计工作流图。请勿手动指定操作或连接关系。
3. run_workflow_submit — 使用输入执行工作流;传入步骤2的session_id。将所有图像一次性传入。立即返回batchId(异步);不会等待执行完成。
4. run_workflow_get_status — 轮询batchId;务必传入includeOutputs: true。执行完成后,原样展示所有输出URL并停止操作(见完成后流程)。
5. download_output — 仅当用户要求时执行;保存到用户选择的文件夹。
6. publish_workflow — 发布为可复用API 或 save_workflow_to_acp — 保存以便在界面中编辑。Async polling
异步轮询
CRITICAL — Presigned URLs must NEVER be retyped or reconstructed. Azure SAS / AWS S3 presigned
URLs are HMAC-signed over every character. Changing one character invalidates the signature
(). Always copy fields verbatim from responses.
asset_download_failedurlAfter , poll every ~5s with
(the server short-circuits the flag while running — zero extra cost). Report progress using
and from the response directly — do not estimate elapsed time
yourself:
run_workflow_submitrun_workflow_get_statusincludeOutputs: trueelapsedSecondspercentageRunning — 3/10 assets complete (30%) · 45s elapsed
- If a poll includes , display those immediately (labelled in-progress) while continuing to poll.
downloadedPreviewOutputs - When , outputs are already in the response — no second call. Responses are slim by default; pass
status === "completed"only if you need the full per-node asset tree.includeProvenance: true - If , call
status === "failed"on the failed execution, summarize, and stop — do not auto-retry or re-wire. Seeinspect_run.references/diagnostics.md
For output extraction paths and inline-display rules, see
.
references/asset-input.md关键注意事项——预签名URL绝不能重新输入或重构。 Azure SAS / AWS S3预签名URL是基于每个字符进行HMAC签名的。修改任意字符都会使签名失效(触发)。请始终原样复制响应中的字段。
asset_download_failedurl调用后,每约5秒轮询一次,并传入(服务器在运行时会忽略该标志——无额外成本)。直接使用响应中的和报告进度——请勿自行估算耗时:
run_workflow_submitrun_workflow_get_statusincludeOutputs: trueelapsedSecondspercentage运行中 — 3/10个资产已完成(30%)· 已耗时45秒
- 若轮询结果包含,请立即展示这些内容(标记为进行中),同时继续轮询。
downloadedPreviewOutputs - 当时,输出内容已在响应中——无需再次调用。响应默认精简;仅当需要完整的节点资产树时,才传入
status === "completed"。includeProvenance: true - 若,对失败的执行记录调用
status === "failed",总结结果后停止操作——请勿自动重试或重新配置。详情请查看inspect_run。references/diagnostics.md
关于输出提取路径和内联展示规则,请查看。
references/asset-input.mdPresenting outputs — strict 3-step sequence
输出展示——严格遵循三步流程
Once reports , run these steps in order, one message each,
each gated on the user's reply. Never merge them or skip ahead.
run_workflow_get_statuscompleted- Present the raw presigned URLs only. Every output from every output node, verbatim, full URL,
never truncated or placeholdered (is forbidden). URLs expire in ~1 hour. Group terminal outputs under Final outputs, pipeline artifacts under Intermediate outputs. For featured workflows, surface the merge-data banners (1080×1080, 300×600, etc.) as Final outputs. Nothing else in this message — no download/save/publish offer.
[presigned URL] - Ask about local download — whether to download locally and to which folder. Only if yes, call
with their chosen
download_outputand report the exact saved paths.saveTo - Ask about next steps — save to Workflow Builder (), publish as an API (
save_workflow_to_acp), or start a new workflow.publish_workflow
当报告后,请按顺序执行以下步骤,每步对应一条消息,且需等待用户回复后再进行下一步。请勿合并步骤或跳过。
run_workflow_get_statuscompleted- 仅展示原始预签名URL。每个输出节点的所有输出,原样展示完整URL,绝不截断或使用占位符(禁止使用)。URL约1小时后过期。将最终输出归类到最终输出下,管道产物归类到中间输出下。对于特色工作流,将合并数据横幅(1080×1080、300×600等)作为最终输出展示。此消息中不得包含其他内容——不得提供下载/保存/发布选项。
[presigned URL] - 询问本地下载需求——是否需要本地下载以及保存到哪个文件夹。仅当用户同意时,调用并传入用户选择的
download_output,然后报告准确的保存路径。saveTo - 询问后续操作——保存到Workflow Builder()、发布为API(
save_workflow_to_acp),或开始新的工作流。publish_workflow
Key rules
核心规则
- session_id — and
compose_workflowboth return one. Retain it for the whole conversation; pass it toget_featured_workflow,run_workflow_submit,publish_workflowinstead of re-serializing actions/connections. The server holds it for 2 hours.save_workflow_to_acp - Batch inputs — pass ALL images/assets into a SINGLE call (use the
run_workflow_submitarray on the input node). Never make separate calls per image.content - publish vs save — creates a reusable API endpoint (
publish_workflow+ curl): use for "publish", "make it callable", "create an API".workflowIdsaves to the user's Adobe cloud for Workflow Builder: use for "save", "keep editing", "open in the UI". If ambiguous, ask before proceeding.save_workflow_to_acp - History — for a single item;
inspect_runfor lists. Never read locallist_workflow_history/workflow.json. Details ininputs.json.references/diagnostics.md - Missing required input — never silently resolve it (no substituting a simpler action, no
auto-generating a placeholder/mask, no scripted workaround). Stop and present options. See
.
references/compose.md
- session_id — 和
compose_workflow都会返回session_id。在整个对话中保留该ID;将其传入get_featured_workflow、run_workflow_submit、publish_workflow,而非重新序列化操作/连接关系。服务器会保留该ID2小时。save_workflow_to_acp - 批处理输入——将所有图像/资产一次性传入调用(使用输入节点的
run_workflow_submit数组)。绝不要为每张图像单独调用。content - 发布 vs 保存——创建可复用的API端点(
publish_workflow+ curl命令):适用于“发布”、“使其可调用”、“创建API”场景。workflowId将工作流保存到用户的Adobe云以便在Workflow Builder中编辑:适用于“保存”、“继续编辑”、“在界面中打开”场景。若用户需求不明确,请先询问。save_workflow_to_acp - 历史记录——单条记录使用;多条记录使用
inspect_run。绝不要读取本地的list_workflow_history/workflow.json。详情请查看inputs.json。references/diagnostics.md - 缺少必填输入项——绝不要静默处理(不得替换为更简单的操作、自动生成占位符/掩码、使用脚本 workaround)。停止操作并提供选项。详情请查看。
references/compose.md
Anti-patterns
反模式
- Answering capability questions from training knowledge instead of calling .
list_actions - Composing non-trivial actions without injecting context (see compose.md).
get_action_schema - Using parallel nodes for multi-variant outputs — use one node with an array parameter (compose.md).
- Manually wiring actions in — describe intent in natural language.
compose_workflow - Separate calls per image — pass all inputs in one call.
run_workflow_submit - Reading local files for history — /
list_workflow_historyare authoritative.inspect_run - Confusing publish and save — publish = API endpoint; save = Workflow Builder. Ask if ambiguous.
- Calling on a bare pasted ID — inspect, present, stop.
run_workflow_submit - Auto-rerunning after inspect, or auto-retrying/patching a failed workflow — always stop and ask.
- Silently resolving a missing input (blank mask, placeholder, simpler action) — stop and ask first.
- Trying to display outputs inline in Claude Desktop (exceeds the 1MB cap) — present text URLs; use
display_assetwithdownload_outputto save locally.saveTo - Listing only local paths without the full presigned URLs — always include both.
- Recommending AWS/S3 upload to work around errors — Azure ADLS is the only supported user path.
- 凭借训练知识回答功能类问题,而非调用。
list_actions - 编排非简单操作时未注入上下文(见compose.md)。
get_action_schema - 使用并行节点生成多变体输出——应使用带数组参数的单个节点(见compose.md)。
- 在中手动配置操作连接——请用自然语言描述意图。
compose_workflow - 为每张图像单独调用——将所有输入一次性传入。
run_workflow_submit - 读取本地文件获取历史记录——/
list_workflow_history是权威来源。inspect_run - 混淆发布和保存——发布=API端点;保存=Workflow Builder。若不明确请询问。
- 对粘贴的纯ID调用——应检查、展示结果、停止操作。
run_workflow_submit - 检查后自动重跑,或自动重试/修复失败的工作流——始终停止操作并询问用户。
- 静默处理缺少的输入项(空白掩码、占位符、更简单的操作)——先停止操作并询问用户。
- 尝试在Claude Desktop中内联展示输出(超过1MB限制)——展示文本URL;使用
display_asset并传入download_output保存到本地。saveTo - 仅展示本地路径而不提供完整预签名URL——务必同时包含两者。
- 推荐使用AWS/S3上传来解决错误——仅支持Azure ADLS用户路径。
References
参考资料
- Workflow Builder API docs
- Paired skill for direct Firefly REST calls without MCP: (not included in this plugin)
firefly-api-specs - On-demand procedures: (featured-and-templates, compose, diagnostics, asset-input, alert-rca).
references/
- Workflow Builder API文档
- 用于直接调用Firefly REST API(不带MCP)的配套技能:(未包含在此插件中)
firefly-api-specs - 按需流程:(featured-and-templates、compose、diagnostics、asset-input、alert-rca)。
references/