Skip to main content
Glama
AstroQuestStudio

catia-v5-mcp

catia_contact_constraint

Creates a surface contact constraint between two faces of separate CATIA V5 components, enabling assembly positioning from selected face geometry.

Instructions

Surface contact (Contact) between two faces of two components (type verified: catCstTypeSurfContact = 20).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoExplicit name for the contact in the tree (recommended).
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.9/5.0
Behavior2/5

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

Annotations already declare non-destructive, non-idempotent mutation, and the description adds nothing behavioral beyond a numeric type ID. It does not state that a constraint feature is added to the tree, that the model is solved, or what happens if the geometry does not resolve.

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?

A single front-loaded sentence with no padding, giving the constraint kind and the type constant. It is efficient, though the parenthetical type ID is arguably noise for an agent.

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 mutation tool with no output schema, the one-line description leaves gaps: whether the constraint is committed immediately, how the deferred solve interacts with catia_update_assembly (that detail lives only in the schema), and what a failure looks like. The rich schema compensates partially but not fully.

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/element encoding and the defer_update solve behavior; the description adds nothing about parameters. Baseline 3 applies when the structured schema carries the parameter burden.

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?

The description names a specific verb+resource: a surface contact constraint between two faces of two components, and even pins the internal constraint type (catCstTypeSurfContact = 20). It clearly differentiates from the sibling constraint tools (coincidence, offset, angle) by naming 'surface contact', though it never explicitly contrasts them.

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?

There is no guidance on when to choose this over catia_coincidence_constraint or catia_offset_constraint, nor any stated prerequisites (e.g. components must already be placed in an assembly). Usage is only implied by the tool name and the parameter shape.

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