Skip to main content
Glama
hellstein-dev

fusion-mcp

form_move

Moves T-spline control-mesh vertices, faces, or a whole body by a vector, regenerating the B-Rep; select elements by nearby points from inspection.

Instructions

Move control-mesh vertices or faces of a T-spline body, or the whole body, by a vector; the B-Rep is regenerated.

Control-mesh vertices and faces have no stable ids: pick them by points (mm by default) - take the exact positions for near from form_inspect (vertex position, face center). A point with no element within tolerance, or equally near two elements (symmetric meshes), fails with INVALID_PARAMS and details.nearest; nothing is changed. On a symmetric body Fusion mirrors the move to the symmetric elements.

Errors: zero vector, missing near for vertex/face -> INVALID_PARAMS. If a move fails midway, the elements already moved are moved back.

Returns {"body": , "changed": n}.

Example: form_move(body="", kind="face", near=[[5, 5, 20]], vector=[0, 0, 5])

Input Schema

NameRequiredDescriptionDefault
bodyYesT-spline body ref (form_list / form_create_*)
kindYesvertex, face (picked by `near`) or body (whole body)
nearNoPoints near the vertices / faces to move (positions from form_inspect); ignored for kind=body
unitsNoUnit of lengths and points (default mm)mm
vectorYesTranslation in `units`
toleranceNoMax distance from a point to its element, in `units`

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so well: it discloses that the B-Rep is regenerated, matching by near-points and tolerance can fail with INVALID_PARAMS and details.nearest, symmetric bodies are mirrored, zero vectors and missing near are invalid, and mid-move failures are rolled back.

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?

The description is front-loaded, organized into short paragraphs, and includes a useful example. It is appropriately sized for a mutation tool with subtle matching behavior, though a few clauses repeat schema defaults such as mm and unit handling.

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?

For a complex T-spline mutation tool with no annotations and no output schema, the description is complete enough to call correctly: it explains picking semantics, tolerance failures, symmetric mirroring, rollback behavior, errors, and the return shape. It also provides a concrete example invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents the parameters, but the description adds meaningful semantics for near, tolerance, and vector behavior: exact positions should come from form_inspect, ambiguous proximity fails, and zero vectors are invalid. It does not add much detail beyond the schema for body, kind, and units, but it substantially clarifies the matching parameters.

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?

The description states a specific verb and resource: moving T-spline control-mesh vertices, faces, or whole bodies by a vector, with B-Rep regeneration. This clearly distinguishes it from generic body movement and other form tools by emphasizing the T-spline control-mesh context.

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?

It gives clear context for when this tool applies: T-spline control-mesh elements or whole-body moves, with picking instructions pointing to form_inspect. However, it does not explicitly name or contrast the alternative body_move or state when not to use this tool.

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

Deploy Server

Other Tools