Skip to main content
Glama
U-C4N
by U-C4N

Standard Parts: Draw Feature

std_feature_draw

Adds standards-compliant thread, undercut, groove, and center-hole features to existing CAD geometry, using ISO/DIN tables and refusing unsupported sizes or missing dimensions.

Instructions

Add a standard feature to geometry that already exists - a foreign drawing being finished.

Local frame: (x, y) is on the axis, +X runs along the axis in the direction the feature extends and +Y is radially outward. The thread is the ISO 6410 representation (minor diameter at 0.8 x major, thread-length limit to the major) and its pitch comes from ISO 261 via size or from an explicit pitch - it is never guessed. Every other kind takes its dimensions from the registered standards table and is refused by name when that table is absent, when the size is outside its coverage, or when the row lacks a dimension the feature needs: no value is interpolated and no profile is reconstructed. DIN 332 form R is refused - only forms A and B are drawn.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYesFeature origin X (WCS): a point on the axis
yYesFeature origin Y (WCS): a point on the axis
kindYesthread | undercut | ring_groove | centre_hole | oring_groove
layerNoOverride the visible primitives' layer; CENTER and HIDDEN keep theirs
paramsYesthread: {d, length, size|pitch, internal} (a size must name d's own thread - 'M20' with d=8 is refused, not drawn); undercut: {d, form: E|F}; ring_groove: {d, kind: shaft|bore}; centre_hole: {size, form: A|B}; oring_groove: {d, cord, kind: shaft|bore}
rotationNoDegrees CCW applied to the local +X (along the axis, into the feature)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.0

TDQS

A4.2/5.0
Behavior4/5

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

With only readOnlyHint=false provided, the description carries the real burden and does so well: it documents the local frame convention, the ISO 6410/261 sourcing rules, and extensive refusal behavior (missing standards table, out-of-coverage size, rows lacking a dimension, DIN 332 form R). It does not mention permissions or that primitives are unrolled into a set of entities rather than a block, so it falls short of a perfect disclosure.

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?

Purpose is front-loaded in the first clause, then details follow. The text is dense and the standards-refusal sentences are long, but each sentence carries non-redundant technical content, so little is wasted.

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 a rich nested param schema and an output schema, the description supplies the coordinate convention, sourcing rules, and refusal conditions an agent needs. Return values are covered by the output schema, so nothing material 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 baseline is 3, but the description adds genuinely extra meaning: the local frame semantics for x/y, and the rule that a thread size must name d's own thread are stated as behavior rather than just field docs. It does not add much beyond the per-kind params block already present in the schema.

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 and resource ('Add a standard feature') and scopes it to 'geometry that already exists', which clearly separates it from siblings like std_part_insert or mech_part_draw. An agent can tell what this tool produces without opening the schema.

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

Usage Guidelines3/5

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

It gives a context ('a foreign drawing being finished') and the precondition that geometry must already exist, which is implied usage guidance. But it never names an alternative tool or states when NOT to use it versus std_part_insert, mech_hole_pattern, or the entity_create_* family.

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