Skip to main content
Glama
northidaholabs

TrimbleX9-mcp

scanner_preview_to_angles

Read-only

Converts a box drawn on a scan preview JPEG into horizontal and vertical instrument angles for launching an area scan, with optional margin padding on every side.

Instructions

Convert a box drawn on a scan's preview JPEG into instrument angles for scanner_launch_area_scan. Both files must already be in the download directory (scanner_download_scanfile + scanner_download_preview of the same scan, taken from the station the instrument is still standing on). (x0, y0)-(x1, y1) are preview pixel corners, y down; if x1 < x0 the box wraps across the panorama seam. margin_deg pads every side. Returns start_ha/delta_ha/start_va/delta_va in radians (VA from zenith).

Input Schema

NameRequiredDescriptionDefault
x0Yes
x1Yes
y0Yes
y1Yes
margin_degNo
scan_filenameYes
preview_filenameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.12.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description is consistent with a pure computation. Beyond the annotations it discloses real behavior: y-down pixel coordinates, seam wrapping when x1 < x0, margin padding on every side, and output units (radians, VA measured from zenith). It omits error behavior for malformed boxes or mismatched file pairs.

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 purpose, then preconditions, then coordinate semantics, then the return contract. Dense and technical with several parentheticals, but each sentence adds information an agent would otherwise have to guess.

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?

There is no output schema, and the description compensates by naming every returned field (start_ha/delta_ha/start_va/delta_va) with units and the VA reference axis. Combined with the prerequisite chain and coordinate conventions, an agent has everything needed to call this correctly in sequence.

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 carries the burden and mostly succeeds: it defines (x0,y0)-(x1,y1) as preview pixel corners with y down, explains the seam-wrap edge case, and says margin_deg pads every side. The two filename parameters are covered only implicitly — the agent must infer they are bare filenames in the download directory rather than paths.

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 and resource: convert a box on a scan's preview JPEG into instrument angles, and names the downstream consumer scanner_launch_area_scan. An agent can distinguish this from every sibling in the list (download, status, scanfile_info) without opening the schema.

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?

Explicit preconditions: both files must already sit in the download directory and must come from scanner_download_scanfile + scanner_download_preview of the same scan, taken from the station the instrument is still standing on. That is a genuinely useful pipeline ordering constraint. It does not state failure behavior or a when-not case, which keeps it short of a 5.

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