Skip to main content
Glama
AstroQuestStudio

catia-v5-mcp

catia_sketch_line

Draws a line in the active sketch from (x1,y1) to (x2,y2) in mm. Set is_axis=true to define the revolution axis required for a shaft or groove.

Instructions

Draw a line in the active sketch from (x1, y1) to (x2, y2). Coordinates in mm. Set is_axis=true to make it the sketch's axis (Sketch.CenterLine), REQUIRED before catia_shaft/catia_groove: without it CATIA has no revolution axis and the feature fails at update (confirmed live 2026-09-28). The axis is excluded from the profile, so draw the closed profile entirely on one side of it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
x1YesStart X coordinate (mm)
x2YesEnd X coordinate (mm)
y1YesStart Y coordinate (mm)
y2YesEnd Y coordinate (mm)
is_axisNoIf true, set this line as the sketch axis (Sketch.CenterLine) so it serves as the revolution axis for a Shaft/Groove on this sketch.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the generic mutation profile (readOnly=false, idempotent=false). The description goes well beyond that by disclosing a live-confirmed failure mode, the required precondition for Shaft/Groove, and the fact that the axis line is excluded from the profile geometry.

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?

Three sentences, front-loaded with the action and coordinates, then escalating to the critical axis requirement and the geometric caveat. No redundant restatement of schema fields.

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

Completeness4/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 and full parameter docs, the description covers the essential call-time prerequisites and failure mode. It does not mention whether a sketch must already be active/open or what identifier is returned, but nothing critical to invoking it correctly is missing.

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 baseline is 3; the description nonetheless adds real meaning by naming the underlying Sketch.CenterLine construct for is_axis and explaining its downstream role rather than just restating the boolean.

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?

States a specific verb+resource ('Draw a line in the active sketch') plus the exact coordinate form and units. The 'active sketch' qualifier cleanly separates it from catia_gsd_line and the other sketch primitives (rectangle, circle, arc, spline).

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?

Names the downstream consumers (catia_shaft/catia_groove) and states the precise condition under which is_axis must be set, including that omitting it causes a failure at feature update. It also tells the agent how to place the closed profile relative to the axis.

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