Skip to main content
Glama

Sync the latest saved KeyShot scene

keyshot_sync_saved_scene
Destructive

Synchronize a saved .bip KeyShot scene or newest .bip in a folder, detect changes, copy to a collision-safe output path, and optionally return a preview.

Instructions

Find a saved .bip file (or the newest .bip in one folder), detect whether it changed, copy it to a collision-safe output path, and optionally return an Agent-visible preview. This is the stable alternative to unsupported persistent GUI control.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNoPreview width in pixels. Defaults to 960; allowed range is 64 to 1920.
cameraNoOptional saved camera name for the embedded preview. Omit to use the scene's active camera.
heightNoPreview height in pixels. Defaults to 540; allowed range is 64 to 1080.
samplesNoPreview render samples. Defaults to 16 unless maxTimeSeconds is provided; maximum is 64.
sourcePathYesAbsolute path to a saved .bip scene or a directory whose newest .bip scene should be synchronized. Directories are searched only at their top level.
includePreviewNoWhether to render and embed a temporary PNG from the synchronized copy. Defaults to true.
maxTimeSecondsNoTime-based preview limit in seconds. Replaces the default sample mode and cannot be combined with an explicit samples value; maximum is 60.
outputScenePathNoOptional destination for the synchronized .bip copy inside KEYSHOT_OUTPUT_DIR. Existing explicit paths are never overwritten; when omitted, a collision-safe name is generated.
previousFingerprintNoOptional fingerprint returned by an earlier sync. When it still matches, no copy or preview is created.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesTrue when the requested operation completed successfully.
dataYesOperation-specific structured result data, or null when unavailable.
errorYesHuman-readable failure reason, or null after success.
warningsYesNon-fatal conditions the user or agent should review.
errorCodeNoStable error category for common failures.
outputFilesYesAbsolute paths of images or scene files created by the operation.
suggestionsNoActionable recovery steps for the user or agent.
keyshotStdoutTailYesTruncated tail of KeyShot headless output for diagnostics.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.13.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / required
      Previous value: -[
      -  "ok",
      -  "outputFiles",
      -  "warnings",
      -  "keyshotStdoutTail",
      -  "error"
      -]New value: +[
      +  "ok",
      +  "data",
      +  "outputFiles",
      +  "warnings",
      +  "keyshotStdoutTail",
      +  "error"
      +]
  2. Addedv0.11.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is partly covered. The description adds useful behavioral context (change detection, collision-safe naming, Agent-visible preview), but it never explains what is actually written or mutated on disk or where KEYSHOT_OUTPUT_DIR fits, which is exactly the gap the destructive hint raises.

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?

Two sentences, both front-loaded and free of filler: the first gives the operation pipeline, the second gives the positioning rationale. It is well sized for a 9-parameter tool, though the first sentence is a fairly dense compound clause.

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

Completeness4/5

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

With a full output schema and 100% parameter coverage, the description need not explain return values, and it correctly covers the core flow plus fingerprint-based skipping. It is nearly complete, missing only explicit guidance on the destructive/write side effects the annotations imply.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already fully documented; baseline is 3. The description only restates the sourcePath dual behavior (file vs. newest .bip in a folder), adding no syntax or format detail beyond the schema.

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

Purpose4/5

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

The description names a specific verb (sync) and resource (saved .bip scene) and enumerates the operation's concrete steps: locate the file, detect change, copy to a collision-safe path, optionally preview. It is clear what the tool does, though it does not name any sibling tool (e.g. keyshot_save_scene or keyshot_inspect_scene) to sharpen differentiation.

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

Usage Guidelines3/5

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

"This is the stable alternative to unsupported persistent GUI control" implies when to reach for it, but there is no explicit when-not guidance and no sibling is named as the alternative. The agent must infer selection from the phrasing alone.

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