Skip to main content
Glama

Apply a preset

preset_apply
Destructive

Apply a curated preset as a new revision (compiles to validated scene operations). Material presets create the material (tint via color, assign via applyToObjects); lighting presets add a complete light rig + world; camera presets frame and activate a camera; render presets set the render profile. LIGHTING AND CAMERA PRESETS ARE AUTHORED FOR A 2 m SUBJECT — lights 4-7 m out at 800-1500 W, cameras 4-6 m back. On a small product that is not merely suboptimal, it is a white frame: a 42 mm subject wants roughly 1/50 the distance and 1/2500 the wattage. Pass subjectSizeM and the whole rig is rescaled for you.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorNo
presetYes
projectIdYesStable project ID returned by project_create or projects_list.
materialNameNo
subjectSizeMNoLargest dimension of the subject in METRES (watch 0.042, mug 0.12, chair 1.0, car 4.5). Rescales lighting and camera presets from their 2 m reference: distances linearly, light energy by the square. Ignored by material and render presets. Omit it and the raw 2 m rig is applied unchanged.
applyToObjectsNo
baseRevisionIdNo"HEAD" (default) targets the project's current head. Mutations MUST build on the head: passing an older revision is rejected with REVISION_CONFLICT, since history is linear. To continue from an older scene, revision_restore it forward first.HEAD
idempotencyKeyYesStable caller-chosen key for safe retries of this same request.
generatePreviewNoRender the revision thumbnail (maximum side 384px), using the active camera or scene-bounds fallback. Lit transmission uses low-sample Cycles; other lit scenes use EEVEE. Pass false when another preview is unnecessary; scene_snapshot then inherits the nearest ancestor thumbnail and says so.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobYes
operationCountYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / color / items
      Added value: +{
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / color / maxItems
      Added value: +3
    • addedInput schema / properties / color / minItems
      Added value: +3
    • removedInput schema / properties / color / prefixItems
      Removed value: -[
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  }
      -]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructive=true/non-idempotent, and the description adds real behavioral context beyond them: presets compile to validated scene operations, write a new revision, and that lighting/camera rigs are authored against a 2 m reference at 800-1500 W and 4-6 m. It doesn't explain the destructive/linear-history implication of the write (that is left to the baseRevisionId schema text), so it stops short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then organized by preset family, with the highest-risk caveat (small-subject white frame) clearly stated. The vivid 'white frame' line and the 42 mm arithmetic are dense but genuinely load-bearing; the passage is slightly longer than strictly necessary but no sentence is disposable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with an output schema and partial annotation coverage, the description supplies the missing context an agent needs: what each preset family changes, the scaling contract for subjectSizeM, and the default state when it is omitted. Return-value behavior is delegated to the output schema, so nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 56%, and the description compensates by mapping otherwise-undocumented parameters to behavior: 'tint via color, assign via applyToObjects' explains two of the bare schema properties. subjectSizeM's rescaling rule is reinforced, but materialName and the interaction of preset type with per-parameter validity remain unaddressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a precise verb+resource ('Apply a curated preset as a new revision') plus a parenthetical on what that produces ('compiles to validated scene operations'). It then enumerates the four preset families and their distinct effects, which lets an agent separate this from scene_apply, material_recipe, or presets_list without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete when-to-use guidance for the key parameter ('Pass subjectSizeM and the whole rig is rescaled for you') and an explicit failure mode for omitting it on small subjects. It does not name sibling alternatives (presets_list for discovery, scene_apply for raw ops) or state preconditions, so it falls short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources