Skip to main content
Glama
hram

FreeCAD MCP

by hram

plan_alignment

Plan rigid part placement by matching ordered holes and opposing mounting faces, validating gaps, tolerances, stale geometry, and named obstacle collisions before applying an alignment.

Instructions

Plan rigid placement matching ordered holes and opposing mounting faces. No mutation.

Positive gap follows the fixed face outward normal. Checks all hole matches, refuses
stale geometry and degenerate patterns. Collision scope during apply is the fixed
part plus explicitly named obstacles; include nearby parts. No correspondence guessing.
Review this plan, then apply_alignment. Handles expire after FreeCAD restart/code update.

Input Schema

NameRequiredDescriptionDefault
gap_mmNo
obstaclesNo
tolerance_mmNo
fixed_interfaceYes
moving_interfaceYes
angular_tolerance_degNo
collision_tolerance_mm3No

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/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 behavioral burden and does substantial work: it discloses non-mutation, the sign convention for gap ('positive gap follows the fixed face outward normal'), validation behavior (all hole matches checked, stale geometry and degenerate patterns refused), collision scope during apply, and handle lifetime ('expire after FreeCAD restart/code update'). It still omits what the returned handle looks like and what a refusal surfaces.

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 the mutation disclaimer are front-loaded, and the remaining telegraphic lines each carry a distinct operational fact. The clipped phrasing ('Handles expire after...') is dense but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, 0%-schema-coverage tool with no annotations and no output schema, the description covers the workflow and validation rules but leaves the three tolerance parameters and the return/handle semantics undefined. Adequate to start a call, not enough to call it confidently with non-default tolerances.

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

Parameters2/5

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

Schema coverage is 0% across 7 parameters, so the description must compensate and only partly does: it explains gap sign convention and obstacles (named parts plus nearby parts). tolerance_mm, angular_tolerance_deg, collision_tolerance_mm3, and the two interface strings are left entirely unexplained beyond a vague hint about matching holes and mounting faces.

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: plans a rigid placement by matching ordered holes and opposing mounting faces, and declares 'No mutation' to separate it from apply_alignment. Clear enough to identify the operation, though it never distinguishes itself from the closely named sibling preview_alignment.

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?

'Review this plan, then apply_alignment' gives an explicit two-step workflow and tells the agent this is the planning half of a plan/apply pair. It also advises including nearby parts in the collision scope. It does not say when to prefer this over preview_alignment or what to do when the plan is refused.

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