Skip to main content
Glama
northidaholabs

TrimbleX9-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SCANNER_BASENoAPI base URL. Default http://192.168.42.1:34567/api/v1 (the instrument over its USB network link; use its WiFi-AP address otherwise).http://192.168.42.1:34567/api/v1
SCANNER_ALLOW_ACTUATIONNoSet to 1 to enable the actuating/destructive tools.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
scanner_statusA

Get the instrument's current status: battery, AC state, leveling, on-board storage, IMU, laser-pointer, WiFi config (passphrase masked), and the active error list.

scanner_projectsA

List all projects on the instrument (id, projectName, projectUUID, nextProjectScanID).

scanner_scansA

List all scans as compact records (id, scanUUID, scanMode, points, file path, and the project folder the scan belongs to). Ids are list positions and change when scans are deleted; scanUUID is stable.

scanner_scan_modesA

List the available scan modes (the density/range/time menu): mode name, range (m), point count, file size, scan time (s), spacing, and rate. Use these names when starting a scan.

scanner_errorsA

Get the instrument's current error list (type, errorLevel, description).

scanner_tasksA

List running or queued tasks (e.g. a scan in progress) with their state and percent complete (0-100). An empty list means the instrument is idle.

scanner_wait_for_scanA

Wait until no task is running (use after scanner_launch_scan), polling the task list every poll_s seconds (0.5-30) for up to timeout_s (1-7200). Reports progress to the client when supported. Returns {done, timed_out, elapsed_s, last} where last is the final task snapshot.

scanner_scanfile_infoB

Get metadata for one point-cloud file: file path, size, point count, and whether it has been downloaded.

scanner_download_scanfileA

Download a scan's point-cloud file into the server's download directory (SCANNER_DOWNLOAD_DIR). filename is a plain name (default 'scan-.tzf'); paths are rejected. Existing files are kept unless overwrite is true. Streams the full file; returns bytes and path.

scanner_download_previewB

Download a scan's panoramic preview JPEG into the server's download directory (default name 'scan--preview.jpg'); same rules as scanner_download_scanfile.

scanner_preview_to_anglesA

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).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation3/5

Most tools are clearly separable, but several pairs overlap: scanner_status already returns the active error list that scanner_errors returns separately, scanner_scans records already include points and file path that scanner_scanfile_info extends, and scanner_wait_for_scan is a polling wrapper around scanner_tasks. Descriptions mitigate these overlaps, but an agent still has to choose between near-duplicates.

Naming Consistency4/5

All tools share a uniform snake_case 'scanner_' prefix, which makes the set very readable as a family. The only minor deviation is that some tools are bare noun getters (scanner_status, scanner_projects, scanner_errors) while others use verb phrases (scanner_download_scanfile, scanner_wait_for_scan, scanner_preview_to_angles).

Tool Count5/5

At 11 tools the set is well-scoped for an instrument-control server: inspection (status, projects, scans, modes, errors, tasks), acquisition helpers (wait_for_scan, file info, two downloads), and one geometry converter each earn their place. Nothing feels padded or redundant by count.

Completeness2/5

Descriptions repeatedly reference scanner_launch_scan and scanner_launch_area_scan, but neither tool is present, so scanner_preview_to_angles and scanner_wait_for_scan point at operations the agent cannot perform — a severe dead end for the core workflow of actually starting a scan. There are also no create/delete operations for projects or scans, only listings.

Maintenance

ActivityMaintained
ResponsivenessNo issues