Skip to main content
Glama
AstroQuestStudio

catia-v5-mcp

catia_angle_constraint

Set the angle between two planes, faces, or axes of two components in degrees to constrain their relative orientation.

Instructions

Angle between two planes/faces/axes of two components, in degrees.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoExplicit name for the angle constraint in the tree (recommended).
angleYesAngle in degrees.
element1YesGeometry of the component, in the component's OWN part coordinates (mm): {'face_point': [x,y,z]} a point inside a face; {'axis_point': [x,y,z]} a point on a cylindrical/conical face, meaning its AXIS; {'edge_point': [x,y,z]}; or {'plane': 'xy'|'yz'|'zx'} one of the component's origin planes. Use catia_list_faces on the part to find points, radii and axes.
element2YesGeometry of the component, in the component's OWN part coordinates (mm): {'face_point': [x,y,z]} a point inside a face; {'axis_point': [x,y,z]} a point on a cylindrical/conical face, meaning its AXIS; {'edge_point': [x,y,z]}; or {'plane': 'xy'|'yz'|'zx'} one of the component's origin planes. Use catia_list_faces on the part to find points, radii and axes.
component1YesInstance name (e.g. 'Engine.1'), or a path 'Sub.1/Part.1' for a sub-assembly child.
component2YesSecond instance name or path.
defer_updateNoSkip the solve after this constraint (default false). Each solve re-computes EVERY constraint, so its cost grows with the assembly: in a long sequence defer all but the last, then check with catia_update_assembly. The status is NOT evaluated when deferred.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, so the agent knows this is a non-destructive write. The description adds nothing beyond that: it doesn't say it appends a constraint to the assembly tree, that it triggers an expensive solve, or how the deferred-update behavior works (that detail lives only in the schema).

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?

It is a single tight sentence with no filler, and the core subject (angle between two elements) is front-loaded. It is arguably too short rather than bloated, so it does not lose points for verbosity.

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

Completeness2/5

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

For a 7-parameter assembly-mutation tool with nested geometry objects and no output schema, a one-line fragment is inadequate. It says nothing about the assembly context, the interaction with the solve/defer_update mechanism, or what happens to the model on success.

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 the schema already documents component paths, the element geometry objects, the angle, and defer_update in detail. The description only restates 'in degrees' and the element types, adding no syntax or format meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The fragment names the resource (angle constraint between two components' planes/faces/axes) but omits the verb entirely – it never says it *creates/adds* a constraint. An agent can infer the action from the name `catia_angle_constraint` and the sibling set (coincidence/contact/offset constraints), but the description itself does not commit to it.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites (e.g. must be in an assembly, components must be positioned), and no reference to the sibling constraint tools (catia_fix_coincidence/contact/offset_constraint) that an agent would choose among. The reader gets zero routing help.

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