Skip to main content
Use the quickstart first. Every call uses the active brand and normal MCP sign-in and access rules. Checked 2026-11-09: 17 query actions and 19 management actions. These are contract entries, not a promise that every source format or client can execute them. Fetch only the action you need with 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.
render_preview is a preflight, not a pixel render. Inspect saved delivery settings: omitted settings inherit. Show the person the rows, destinations and any spend before confirming. Use the exact confirmationToken returned by the Forge action.

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 expectedRevision is different from a template revision UUID.
  • Ambiguous template key: select the discovered bindingId; do not guess a workspace.
  • Insufficient role: preserve needs_role or PERMISSION_DENIED and request the appropriate brand role. final=true and 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.overrides names it and the person explicitly accepts that specific problem. Other refusals remain blocking.
  • Partial or failed batch: inspect each job. done=true means 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.
No Forge webhook subscription or cancellation action is established by this catalog. Your host application starts MCP calls and retains their identifiers.

Example call sequences

These are sequential MCP tools/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.
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.
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.
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.