Skip to main content
Glama

Add Rack

add_rack

Create a linear gear rack solid with specified teeth and module, ready to mesh with a spur gear of matching pitch.

Instructions

Add a linear gear rack (a spur gear's straight counterpart) as a solid.

A rack is a gear of infinite radius: straight-flanked teeth on a rail. Standard full-depth tooth form (addendum = module, dedendum = 1.25module, tooth height = 2.25module, flanks at pressure_angle from vertical).

teeth: number of teeth (>= 1). module: mm (sets tooth size; circular pitch = module * pi). height: extrusion thickness mm along +Y (the rack's face width; default 6). width: mm, rail base-band thickness below the tooth root line (default 10). pressure_angle: deg, flank angle from vertical (default 20; 0 < pa < 45). placement: optional [x, y, z] mm translation of the rack origin. name: object label (default "Rack").

The profile lies in the XZ plane: root line at z=0, base band from z=-width to z=0, teeth from z=0 to z=2.25*module, extruded along +Y by height.

Returns {handle, name, volume (mm^3), pitch (mm/tooth = modulepi), module, teeth, tooth_height (2.25module mm), length (teethmodulepi mm)}. A spur gear MESHES with this rack when their pitch values match (gear module*pi == rack pitch); length sizes the rail for the travel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoRack
teethYes
widthNo
heightNo
moduleYes
placementNo
pressure_angleNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

With sparse annotations (only readOnlyHint false, destructiveHint false), the description carries the burden of explaining side effects)Skip it: it details the resulting solid's geometry, orientation, plane, defaults, and return values. It does not explicitly state document-level effects, but 'Add ... as a solid' plus the annotations convey the mutation safely.

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?

The description is organized with a clear intro, a geometry paragraph, a parameter list, and a return/usage section. Some redundancy exists (e.g., tooth_height appears both in the profile description and the return list), but every piece earns its place for a parametric entity of this complexity.

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?

Despite no output schema, the description enumerates return fields with formulas likely needed for downstream checks. It covers geometry, defaults, constraints, placement, and mating behavior with a spur gear, leaving no critical gap for invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0% description coverage, so the description fully compensates by explaining every parameter: teeth, module, height, width, pressure_angle, placement, and name, along with units, defaults, constraints, and formulas. This is exactly the semantic depth needed for correct invocation.

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 uses a specific verb ('Add'), resource ('linear gear rack'), and a clarifying definition ('a spur gear's straight counterpart'), which immediately distinguishes it from the sibling add_gear. The dental geometry and context make the tool's purpose unmistakable.

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

Usage Guidelines4/5

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

The description provides clear application context: it explains how a rack meshes with a spur gear and the significance of matching pitch and length. It stops short of explicitly naming when to prefer this over add_gear, but the 'straight counterpart' framing makes the selection context unambiguous.

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