Skip to main content
Glama

three_live_validate

Read-onlyIdempotent

Validate Three.js scripts, HTML documents, or GLB files and run spatial, camera frustum, grounding, AABB collision, and lighting checks to catch 3D scene issues before rendering.

Instructions

Validate a Three.js script (.js), HTML document (/), or .glb binary and run the 3D spatial, camera frustum, grounding, AABB collision, and lighting linter (TL100-TL402).

Input Schema

NameRequiredDescriptionDefault
codeNoInline Three.js scene script (using pre-defined `THREE` and `scene` globals) or HTML document. Provide either `code` or `inputPath`.
cameraFovNoOptional vertical field of view in degrees (default 45).
inputPathNoPath to a .js, .html, or .glb file on disk when `code` is not provided.
cameraTargetNoOptional camera look-at target override [x, y, z] in meters.
cameraPositionNoOptional camera eye position override [x, y, z] in meters for frustum and visibility checks.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so safety is covered; the description adds real value by disclosing the five specific check categories and the TL100-TL402 rule range, telling the agent what class of problems will be detected. It stops short of describing what diagnostics are emitted (severity levels, error vs warning) or whether validation halts on the first failure.

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

Conciseness5/5

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

A single front-loaded sentence: verb, then input formats, then the analysis performed. No filler, no restating of the name, and the most decision-relevant information (what it accepts) comes first.

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 5 optional parameters, no required fields, and no output schema, the description gives the agent enough to know what to supply and what kind of analysis runs. The remaining gap is return-value shape: since no output schema exists, mentioning that it returns coded diagnostics would make it fully self-sufficient.

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 all five parameters (code, inputPath, cameraFov, cameraPosition, cameraTarget) are documented in the schema. The description adds no meaning beyond that — it references camera frustum checking but never connects it to the camera override parameters, nor clarifies the code/inputPath precedence beyond what the schema already states.

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?

Uses a specific verb ("Validate") plus three enumerated input formats (.js script, HTML document with <three-live>/<xr-live>, .glb binary) and names the concrete analysis performed (spatial, camera frustum, grounding, AABB collision, lighting linter TL100-TL402). This is clearly distinguishable from the render/convert/sim siblings, which would not be described as running a linter with rule codes.

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 a pre-flight check workflow by framing the tool as a validator/linter, but never states when to call it versus three_live_render, three_live_convert, or three_live_sim. There are no explicit exclusions and no guidance on whether validation is a prerequisite before rendering.

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