Skip to main content
Glama

cad_check_fit

Read-onlyIdempotent

Checks fit between two watertight STL meshes in mm by applying explicit rotation and translation to the reference, then reports interference volume, minimum gap, and clearance result without scaling.

Instructions

Check two allowed watertight manifold STL meshes in millimetres. Applies only the explicit rigid transform to reference: XYZ rotation in degrees about the origin, then translation. Never silently scales a scan. Reports Boolean interference volume and minimum surface gap (zero on contact/intersection), plus a clearance verdict; intentional support contact also has zero gap. Like cad_run, a call waits for the environment's exclusive execution slot up to its timeout_ms and reports queue_wait_ms, so several checks may be sent at once. Fails rather than guessing for open meshes or excessive triangle workload.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "model": "<model>",
      "reference": "<reference>"
    },
    "name": "cad_check_fit"
  }
}

Input Schema

NameRequiredDescriptionDefault
modelYesAllowed watertight manifold model STL in millimetres.
referenceYesAllowed reference/scan STL in millimetres; never rescaled implicitly.
transformNoRigid transform applied only to reference: XYZ rotation about origin, then translation.
timeout_msNoTotal queue wait, preparation, execution and inspection deadline. Default 120000 ms; cancellation kills the dispatched process group.
clearance_mmNoRequired global minimum surface gap; intentional support contact has zero gap.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.93

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: it discloses the no-implicit-scaling policy, the exact transform order, that zero gap means contact or intersection, that intentional support contact also reads as zero gap, and that calls contend for an exclusive execution slot reported via queue_wait_ms. Failure behavior for non-watertight input and heavy triangle loads is stated explicitly.

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?

Dense but front-loaded: the operation and its transform rule come before queueing and failure notes. A few clauses repeat schema content (millimetres, zero gap on support contact), costing a little length without adding information.

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 no elaboration, and the description still covers input constraints, transform ordering, concurrency, timeout semantics, and failure modes. For a two-mesh geometric check with a nested transform object, no decision-relevant information is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented, and the description largely restates it (unit, rigid-transform-only, support-contact gap). The marginal additions are the clearance-verdict framing and the no-silent-rescale guarantee for the reference mesh, which reinforce but do not materially extend the schema.

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?

Names a specific verb and resource pair ('Check two allowed watertight manifold STL meshes') and enumerates the exact outputs: Boolean interference volume, minimum surface gap, and a clearance verdict. The transform semantics and the millimetre unit are stated up front, so an agent knows precisely what operation this is 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?

Gives clear preconditions and exclusions: both meshes must be watertight and manifold, only the explicit rigid transform is applied, and open meshes or excessive triangle workloads cause a failure rather than a guess. It also explains the concurrency model (queued calls like cad_run, with queue_wait_ms) which tells an agent it may batch several checks. It stops short of naming when a different sibling check should be used instead.

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