Skip to main content
Glama

room_load_scan

Read a room scan file and report walls, doors, windows, objects, size, detected units and up axis for accurate spatial measurements.

Instructions

Read a room scan and report what was found (walls, doors, windows, objects, size, detected units and up axis).

path is the scan file. Supported: RoomPlan CapturedRoom JSON (several encodings) and measure-room JSON; USD/USDZ (RoomPlan export or any labeled scene; needs pip install measure-mcp[usd]); PLY and OBJ point clouds or meshes, whose floor, ceiling, walls, door/window gaps and furniture are recovered geometrically. Units (m, cm, mm, in, ft) and the up axis are detected from the geometry, never trusted from file metadata; pass scan_units / up_axis only to override. known_dimension calibrates the scale from one tape value: {"target": "ceiling_height" | "wall:wall_1", "length": 2.44, "unit": "m"}. north_deg says which way north points in the room plan (degrees counter-clockwise from the plan +x axis, the frame of start/end in room_list_walls) and enables "north wall" style references; scans that carry no compass cannot resolve them. STATELESS: no option is remembered. The reply's load_options holds the non-default options used; pass that object as load_options to the other room_* tools (they load path again, cached) when it is not empty. Raw scans are less precise than RoomPlan; every result carries a +/- and a confidence. Corrupt or empty files give an error with a code and hint.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
unitsNoboth
formatNoauto
up_axisNoauto
north_degNo
scan_unitsNoauto
known_dimensionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses that units and up-axis are detected from geometry and 'never trusted from file metadata', that raw scans are less precise and carry +/- and confidence, that corrupt/empty files return an error with a code and hint, and that no option is remembered. These are exactly the behavioral traits structured fields do not provide.

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?

Long but dense and front-loaded: purpose first, then path, then per-parameter guidance, then a STATELESS block and caveats. Most sentences earn their place, though the format-support sentence is somewhat sprawling and could be tightened.

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?

An output schema exists, so return values need not be re-explained, and the description covers the remaining complexity for a 7-parameter loader: detection heuristics, override vs auto semantics, calibration, error behavior, and cross-tool handoff. Nothing essential an agent needs to call it correctly 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 0%, so the description must compensate, and it explains most parameters: path, scan_units/up_axis as overrides, north_deg with its frame convention, and known_dimension with a concrete object shape. The supported-format prose implicitly maps the format enum. The 'units' parameter (metric/imperial/both) is never explained, leaving one gap.

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+resource ('Read a room scan') and enumerates exactly what it reports (walls, doors, windows, objects, size, detected units and up axis). It also situates itself relative to siblings by naming room_list_walls and referring to 'the other room_* tools', so an agent can tell it is the loader rather than a query tool.

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?

Gives clear operational context: pass scan_units/up_axis 'only to override', use known_dimension to calibrate, and note that scans with no compass cannot resolve 'north wall' references. The STATELESS note tells the agent to carry load_options forward to other room_* tools. It stops short of an explicit when-to-use/when-not statement versus room_summary or the other room_* readers.

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