help_describe {tool, action}. Some connectors advertise an older action enum. If your client cannot represent an action, refresh its tool discovery or use a client that exposes the current contract; do not silently substitute another action.
The operation index supplies compact routing facts. Full inputs stay in runtime discovery. Fields marked required below include action-specific validator requirements that a flat JSON schema may omit. Successful Forge results use {status: "ok", action, result}; read the fields below inside result.
At a glance
Sources
forge_query.sources
List the brand’s uploaded template sources and parse/build state.
Schema:
help_describe {"tool":"forge_query","action":"sources"}.
forge_manage.source_begin
Create a signed-in mixed-file upload handoff.
Schema:
help_describe {"tool":"forge_manage","action":"source_begin"}.
forge_manage.source_status
Read upload readiness and classified resource IDs.
Schema:
help_describe {"tool":"forge_manage","action":"source_status"}.
forge_manage.source_figma
Import Figma frames as design templates, or list the frames in a Figma file.
Schema:
help_describe {"tool":"forge_manage","action":"source_figma"}.
Template revisions
forge_query.templates
List granted or built render templates.
Schema:
help_describe {"tool":"forge_query","action":"templates"}.
forge_query.template
Read exposed variables, required values, budgets, outputs and contractHash.
Schema:
help_describe {"tool":"forge_query","action":"template"}.
forge_query.template_tree
Read branches, revision history, publications and the default variant.
Schema:
help_describe {"tool":"forge_query","action":"template_tree"}.
forge_query.template_layers
Read editable compositions and layers of a revision.
Schema:
help_describe {"tool":"forge_query","action":"template_layers"}.
forge_query.template_revision
Read a revision and its source identity.
Schema:
help_describe {"tool":"forge_query","action":"template_revision"}.
forge_query.template_diff
Compare edits of two revisions of one template.
Schema:
help_describe {"tool":"forge_query","action":"template_diff"}.
forge_query.template_run
Read the publishing run for this exact revision source.
Schema:
help_describe {"tool":"forge_query","action":"template_run"}.
forge_manage.template_preview
Preview proposed edits without saving a revision.
Schema:
help_describe {"tool":"forge_manage","action":"template_preview"}.
forge_manage.template_save
Save edits as a new immutable revision.
Schema:
help_describe {"tool":"forge_manage","action":"template_save"}.
forge_manage.template_forge
Start or advance publication of an eligible revision source.
Schema:
help_describe {"tool":"forge_manage","action":"template_forge"}.
forge_manage.template_set_default
Choose the variant everyone opens by default.
Schema:
help_describe {"tool":"forge_manage","action":"template_set_default"}.
Render sets
forge_query.sets
List saved sets, optionally filtered by templateKey.
Schema:
help_describe {"tool":"forge_query","action":"sets"}.
forge_query.set
Read saved rows, inherited effective values and delivery settings.
Schema:
help_describe {"tool":"forge_query","action":"set"}.
forge_query.set_revisions
Read kept states of a set.
Schema:
help_describe {"tool":"forge_query","action":"set_revisions"}.
forge_query.set_diff
Compare two rows or two kept states as rendered.
Schema:
help_describe {"tool":"forge_query","action":"set_diff"}.
forge_manage.set_create
Save rows for one template.
Schema:
help_describe {"tool":"forge_manage","action":"set_create"}.
forge_manage.set_update
Update a saved set with a revision check.
Schema:
help_describe {"tool":"forge_manage","action":"set_update"}.
forge_manage.set_fork
Copy the current set or one of its kept states.
Schema:
help_describe {"tool":"forge_manage","action":"set_fork"}.
forge_manage.set_delete
Delete a saved render set.
Schema:
help_describe {"tool":"forge_manage","action":"set_delete"}.
forge_manage.suggest_rows
Draft values from a brief, documents or media.
Schema:
help_describe {"tool":"forge_manage","action":"suggest_rows"}.
forge_manage.apply_suggestions
Append selected draft rows once.
Schema:
help_describe {"tool":"forge_manage","action":"apply_suggestions"}.
forge_manage.rows_patch
Upsert or remove selected rows with a revision check.
Schema:
help_describe {"tool":"forge_manage","action":"rows_patch"}.
forge_manage.set_retarget
Pin an existing set to a published template revision.
Schema:
help_describe {"tool":"forge_manage","action":"set_retarget"}.
Rendering
forge_query.destinations
Read delivery and approval destinations.
Schema:
help_describe {"tool":"forge_query","action":"destinations"}.
forge_query.jobs
List render jobs, optionally filtered by templateKey, setId, batchId or status.
Schema:
help_describe {"tool":"forge_query","action":"jobs"}.
forge_query.job
Refresh a single render job and its output files.
Schema:
help_describe {"tool":"forge_query","action":"job"}.
forge_query.batch
Read a batch, waiting briefly for its jobs to settle.
Schema:
help_describe {"tool":"forge_query","action":"batch"}.
forge_manage.render_preview
Validate selected rows and show where each result will go.
Schema:
help_describe {"tool":"forge_manage","action":"render_preview"}.
forge_manage.render_confirm
Redeem the reviewed preflight token and queue the batch.
Schema:
help_describe {"tool":"forge_manage","action":"render_confirm"}.
Scenes
forge_query.scenes
List accessible 3D scenes and their fillable keys.
Schema:
help_describe {"tool":"forge_query","action":"scenes"}.
forge_manage.scene_fill
Fill an accessible scene from the brand and brief.
Schema:
help_describe {"tool":"forge_manage","action":"scene_fill"}.
forge_manage.scene_render
Redeem a reviewed scene fill and queue its outputs.
Schema:
help_describe {"tool":"forge_manage","action":"scene_render"}.
Recover from a refusal
- Revision conflict: re-read the set or template head, reconcile the intended change, and preview again. A set’s numeric
expectedRevisionis different from a template revision UUID. - Ambiguous template key: select the discovered
bindingId; do not guess a workspace. - Insufficient role: preserve
needs_roleorPERMISSION_DENIEDand request the appropriate brand role.final=trueand template publication need Admin or Owner. - Expired or spent token: inspect existing jobs first if submission may have succeeded. Otherwise preview/fill again and obtain a new yes; never turn an uncertain response into an automatic second render.
- Missing fonts or another overridable refusal: pass a flag only when
details.overridesnames it and the person explicitly accepts that specific problem. Other refusals remain blocking. - Partial or failed batch: inspect each job.
done=truemeans settled, including failures; it does not mean every output succeeded. Preserve job IDs and reasons. - Scene jobs: use the template’s scene history in Forge and the Library. Do not pass a scene job ID to the render-set job API without a supported contract.
Example call sequences
These are sequential MCPtools/call parameters, not an executable batch. UUIDs, tokens, template and variable keys are illustrative: substitute the exact discovered values. Populate required template fields before preflight. Obtain permission for automatic preparation/spend before completing a source upload or saving a revision; pause for the person’s yes before render confirmation. A render price estimate may be unavailable.
Keep each returned identity for the next call. After publication, rediscover the matching template key/binding and use the published revision UUID. For scenes, recheck the version before confirming; the service still reloads the current scene. Follow the individual action’s conditions above.
An existing template
An existing template
The discovered binding is 666…; set_create returns set id 555…; render_confirm returns batchId 777…. Replace each with its actual returned value. The illustrative headline key must also be replaced by an exposed variable key.
A supported source revision
A supported source revision
Upload intent: 888…. Uploaded source asset: 111…. Observed parent revision: 222…. template_save returns revision.sourceAssetId=333… and revision.id=444…. Use 333… for template_run/template_forge, and the published 444… for templateRevisionId. After publication, rediscover templateKey and bindingId (666…). The template_forge start example is CONDITIONAL: skip it if a run already exists. Wait for publication before set_create.
An accessible scene
An accessible scene
scenes supplies assetId 111… and versionId 222…. scene_fill returns the reviewed token; scene_render returns separate jobs[].jobId values. Recheck the scene before confirmation; the current service does not enforce the token’s source version at render time.
What’s next
Agent quickstart
Choose a function and execute safely.
Design systems
Check source formats and execution boundaries.