Skip to main content
Glama
akontadakis
by akontadakis

check_geometry

Validates OBJ scene geometry for defects, reporting coplanar surfaces, unclosed enclosures, and missing openings, each with suggested fixes.

Instructions

Health-check an OBJ scene without building it (spec 2026-07-23).

Reports geometry defects that would otherwise complete silently and return a plausible number: coplanar surfaces (Radiance z-fighting), glazing with no opening cut in the wall, duplicated and non-planar faces, an unclosed enclosure. Every error and warning carries a fix. Categories not yet implemented appear in skipped, so an absent category never reads as clean.

Needs no Radiance binaries and builds no scene, so it is cheap to re-run while fixing a model. import_geometry embeds the same report as result["health"].

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
unitsNo
sensorsNo
sidecarNo
up_axisNo
obj_pathYes
material_mapNo
photosensorsNo
electric_lightsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that it does not build the scene, requires no binaries, reports defects with a 'fix', and includes a 'skipped' category for unimplemented checks. It does not explicitly state that it is read-only or non-destructive, but the nature of a health-check implies this, and the mentioned behaviors are useful beyond the schema.

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?

The description is concise and efficiently structured. It front-loads the core purpose and spec date, then lists concrete defect types, then notes the 'skipped' behavior and the cheap-to-run advantage. Every sentence adds distinct value, with no redundancy.

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

Completeness3/5

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

The description thoroughly covers the tool's purpose and behavior, and since an output schema exists, it need not detail return values. However, with 8 parameters and zero schema coverage, the description does not compensate for the missing parameter documentation. An agent would not know what 'sensors', 'material_map', or 'sidecar' control, which is a notable gap for a tool with this many optional inputs.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the input schema provides no property descriptions. The description adds essentially no information about the 8 parameters; only 'obj_path' is implied via 'an OBJ scene'. The optional parameters (units, sensors, sidecar, up_axis, material_map, photosensors, electric_lights) are completely unexplained, leaving an agent to guess their purpose.

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 description states a specific verb ('Health-check') and resource ('an OBJ scene'), and clarifies it operates 'without building it', distinguishing it from tools like import_geometry that build scenes. It also enumerates the specific defect categories it catches, making its scope unambiguous.

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 clear context for when to use it: it 'needs no Radiance binaries and builds no scene, so it is cheap to re-run while fixing a model.' It also points to an alternative by noting 'import_geometry embeds the same report as result["health"]'. However, it does not explicitly mention sibling tools like 'validate' or state when to prefer one over the other, so guidance is strong but not fully explicit.

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