Skip to main content
Glama

three_live_render

Idempotent

Render Three.js scripts, HTML, or GLB files headlessly into 4-up contact sheet PNGs, single-view images, or turntable GIFs with spatial diagnostics for vision-capable agents.

Instructions

Render a Three.js script, HTML document, or .glb headlessly (zero GPU required) into a 4-up orthographic/camera contact sheet PNG (CAMERA, FRONT +Z, TOP +Y FRUSTUM, ISO 45 deg), single viewport PNG, or temporal filmstrip / 360-degree turntable GIF. Returns the base64 image directly to vision-capable agents along with spatial diagnostics.

Input Schema

NameRequiredDescriptionDefault
codeNoInline Three.js scene script or HTML document. Provide either `code` or `inputPath`.
gridNoDraw 1.0m / 0.25m reference ground grid and X/Y/Z origin axes.
viewNoViewport mode: `quad` (default 4-up contact sheet) or single view (`camera`, `front`, `top`, `right`, `iso`).quad
widthNoOutput image width in pixels (defaults to 1024 for `quad`, 512 for single view).
framesNoNumber of frames for temporal filmstrip or turntable capture.
heightNoOutput image height in pixels (defaults to 1024 for `quad`, 512 for single view).
durationNoDuration in seconds for multi-frame temporal capture.
inputPathNoPath to a .js, .html, or .glb file on disk when `code` is not provided.
turntableNoRender a 360-degree turntable orbit across multiple frames.
outputPathNoOptional file path (.png or .gif) to also save the rendered image on disk.
annotationsNoDraw 3D AABB wireframes and 2D node name callouts.
triggerSelectNoOptional interactive node name to trigger `onSelect` at t = 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations only declare readOnlyHint=false, idempotentHint=true and openWorldHint=false; the description adds real value by disclosing the zero-GPU headless execution model, the base64 return channel and the accompanying spatial diagnostics. However, with readOnlyHint=false it never clarifies when a write occurs (only via outputPath?) or what the diagnostics contain, leaving the mutation profile implied.

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 the core action and outputs in a single dense but readable sentence, followed by the return-value sentence. No filler, though the first sentence packs several output modes into one long clause chain that takes effort to parse.

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 12 optional parameters and no output schema, the description does the necessary work by explaining the return value (base64 image plus spatial diagnostics) and the available output artifacts. Minor gaps remain around file-writing behavior via outputPath and what the spatial diagnostics entail, but an agent can call this correctly from the description plus schema.

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 coverage is 100% with per-parameter descriptions and enum values, so the schema already carries full parameter meaning. The description only hints at the output-mode mapping (view modes, frames for temporal capture) without adding syntax or defaults beyond the schema, so baseline 3 applies.

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?

States a specific verb (render) and precise resource (Three.js script, HTML document, or .glb) plus the concrete output modalities (4-up contact sheet, single viewport, filmstrip, turntable GIF). This distinguishes it cleanly from the sibling tools three_live_validate, three_live_convert and three_live_sim, which do not produce rendered images.

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?

The description implies the usage context (returns base64 directly to vision-capable agents, useful for visual inspection with spatial diagnostics) but never says when to choose this over three_live_validate or three_live_sim, nor any preconditions such as validating a script first. Usage is inferable, not stated.

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