Skip to main content
Glama

check_contacts

Identify touching surfaces, detached parts, and loose ends in dense 3D models to validate assembly integrity.

Instructions

Which parts really touch (evaluated surfaces, embedded parts count), every part or group detached from the main assembly with its gap and nearest assembly part, and elongated parts with loose ends. Bounding-box checks miss these in dense models. Touching is not proof of the right mount - check the real partner.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
objectsNoParts to check (default: every visible part in the scene).
toleranceNoSurfaces closer than this count as touching (m).
check_endsNoAlso find cables/pipes/stays/rods whose ends stop in mid-air.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.7/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 well: it discloses that surfaces closer than tolerance count as touching, that embedded parts are included, and that results include gap distances plus nearest assembly part. The caveat 'Touching is not proof of the right mount' adds genuine interpretive guidance. It never states the tool is read-only/non-destructive, which is the main remaining gap.

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 three reporting categories lead, and the two caveats about bounding boxes and false-mount confidence follow. Every sentence earns its place; only the run-on opening clause costs it a point.

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 an analysis tool with no output schema and no annotations, the description needs to convey what comes back and roughly does: contact pairs, detached groups with gaps and nearest part, and loose-ended parts. What is missing is the output shape and confirmation that nothing is modified, but the coverage is otherwise solid.

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 objects, tolerance, and check_ends are already fully documented (including the default of every visible part and the loose-end scope). The description adds no parameter-level detail beyond the schema, so baseline 3 applies.

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 analysis: which parts truly touch, which parts/groups are detached from the main assembly with gap and nearest partner, and elongated parts with loose ends. An agent knows exactly what it returns. However, it does not differentiate itself from the close sibling inspect_connections, leaving the choice between the two to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies a use case with 'Bounding-box checks miss these in dense models' and 'Touching is not proof of the right mount', which signals when the deep check is worth running. But there is no explicit when-to-use, no exclusions, and no routing against the similar inspect_connections sibling.

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