Skip to main content
Glama
hellstein-dev

fusion-mcp

assembly_transform_occurrence

Moves an assembly occurrence by relative rotation and translation or sets its absolute origin and X/Y axes; reports whether the new position was captured.

Instructions

Move an occurrence in assembly space: relative (rotate about an axis through origin_mm, then translate by translate_mm, mm/degrees) or absolute (origin and X/Y axes). Grounded occurrences are refused (INVALID_PARAMS): unground them with assembly_set_occurrence_state first. Occurrences held by joints snap back to the joints on recompute (see "constrained_by_joints"); drive joints instead.

Returns {"occurrence": occurrence, "captured": bool (a position snapshot was added in a parametric design), "constrained_by_joints": bool}.

Example: assembly_transform_occurrence(occurrence="occurrence:Lid:1", translate_mm=[0, 0, 40]) -> {"occurrence": {"transform": {"translation_mm": [0, 0, 40], ...}}, "captured": true, ...}; rotate={"axis": [0, 0, 1], "angle_deg": 90}.

Input Schema

NameRequiredDescriptionDefault
rotateNoRotation about an axis (applied before translate_mm)
absoluteNoAbsolute placement; excludes translate_mm and rotate
occurrenceYesOccurrence: 'occurrence:<fullPathName>' (e.g. 'occurrence:Box:1', nested 'occurrence:Box:1+Hinge:1') as returned by assembly_list
translate_mmNo[dx, dy, dz] in mm, in assembly space
capture_positionNoFix the new position with a timeline 'Position' snapshot

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/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 so well: it discloses mutation semantics, grounded-occurrence refusal behavior, joint-recompute override behavior, position-capture behavior, and the exact return keys including constrained_by_joints. It also provides a concrete example with expected response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is front-loaded with the core operation and mode distinctions, then failure cases, then return shape, then a compact example. Every sentence contributes actionable information with no wasted framing.

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 mutation tool with no annotations and no output schema, the description is complete: it covers operation modes, constraints, error behavior, required ungrounding workflow, joint-related caveats, and return-value structure. An agent has enough information to call it correctly and interpret common outcomes.

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 description coverage is 100%, so the baseline is 3. The description adds useful semantic context beyond the schema: it explains relative versus absolute modes, the order of rotate then translate, units of mm/degrees, and gives an example of rotate and translate values. It does not add much beyond the already detailed nested schema, so a 4 rather than 5 is appropriate.

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 starts with a specific verb and resource: 'Move an occurrence in assembly space.' It distinguishes the two supported modes, relative and absolute, and names the exact sibling needed to unground an occurrence, so an agent can identify the tool without opening its schema.

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

Usage Guidelines5/5

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

It explicitly states when the tool refuses to operate (grounded occurrences, with INVALID_PARAMS), what to do instead (use assembly_set_occurrence_state first), and how to handle joint-controlled occurrences (drive joints instead). These are concrete when/when-not guidance with named alternatives.

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