Skip to main content
Glama
KD5RYN

b123d-print-mcp

by KD5RYN

compare

Assess a part against a reference model to check dimensional and surface differences, F-score, and pass/fail, with an optional deviation image.

Instructions

Compare a part with a reference model: bounding box, volume and surface area differences, surface distances (mean, Hausdorff) after aligning orientation, an F-score, a 0-100 score and pass/fail. reference, candidate: STL, 3MF or STEP files inside the workspace, as paths relative to it (e.g. 'refs/bracket.stl', 'parts/bracket/out/print/bracket.3mf'). thresholds: optional overrides, comma-separated name=value (e.g. 'hausdorff_mm=2,volume_rel=0.05'). image: also return a view of the reference colored by deviation (green = matches, red = off); size: 'normal' or 'small' (~800 px wide); inline=False returns only its file (over HTTP: a link). Remote server (HTTP/SSH): the files stay on the server, as a temporary working copy deleted when unused; bring the part home with download_part (one zip in the parts// layout). Never use ssh, scp or a shell on the server: there is none.

Input Schema

NameRequiredDescriptionDefault
sizeNonormal
imageNo
inlineNo
candidateYes
referenceYes
thresholdsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.12

TDQS

A4.2/5.0
Behavior4/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 substantial work: it discloses that on HTTP/SSH servers the files stay remote as a temporary working copy deleted when unused, that inline=False returns only the image file (a link over HTTP), and what the image contains (green = matches, red = off). Not stated: whether the operation is read-only/side-effect-free, the response shape, or error behaviour when a file is missing.

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?

Purpose and inputs are front-loaded, and every clause carries information — format list, threshold syntax, image meaning, remote-server caveat. It is a single dense run-on block rather than a structured list, which slightly hurts scanability for six distinct parameters, but there is no filler.

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?

For a six-parameter tool with no annotations and no output schema, the description is nearly self-sufficient: it names every returned metric and explains the server-side working-copy lifecycle. Gaps are minor — no error conditions, no units for the distance metrics, and no hint at output structure beyond the metric names.

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

Parameters5/5

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

Schema coverage is 0% — the properties have titles only — so the description must supply all meaning, and it does: reference/candidate formats plus path examples, thresholds syntax with a concrete 'hausdorff_mm=2,volume_rel=0.05' sample, image semantics, size values ('normal' or 'small', ~800 px wide), and inline's effect. Every one of the six parameters is explained beyond its title.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Compare a part with a reference model') and enumerates exactly what the comparison yields: bounding box, volume and surface-area deltas, mean/Hausdorff surface distances, F-score, 0-100 score and pass/fail. That is far more specific than the bare name. It stops short of 5 because it never distinguishes itself from plausible siblings such as check, check_fit or design_metrics, which an agent must still disambiguate on its own.

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 operating context: inputs are workspace-relative STL/3MF/STEP paths with worked examples, thresholds are optional name=value overrides with an example string, and remote-server behaviour is spelled out. It even routes the agent to download_part for retrieving results and warns 'Never use ssh, scp or a shell on the server'. No sibling-comparison exclusions are offered, so it lands at 4 rather than 5.

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