Skip to main content
Glama

Make a custom part

make_part
Read-onlyIdempotent

Build, check and price a custom 3D-printed part from exact sizes (mm): plate with holes, L-bracket, spacer/standoff, washer, or box with lid. Shows the part in 3D with its price and an Order button. Sizes left out use sensible defaults. Use again with new sizes or options when the customer asks for changes.

Input Schema

NameRequiredDescriptionDefault
lidNobox: lid
legANobracket: base leg length (mm)
legBNobracket: upright leg length (mm)
wallNobox: wall thickness (mm)
colorNoColor name, e.g. black, white, red (default black)
depthNoplate: depth (mm)
shapeNospacer/washer shape
widthNoplate/bracket: width (mm)
heightNospacer: height; washer: thickness (mm)
holesANobracket: holes in the base leg
holesBNobracket: holes in the upright leg
gridRowsNoplate, grid: hole rows
materialNoMaterial name or id, e.g. PLA, PETG, ASA, TPU (default PLA).
quantityNoHow many (default 1)
strengthNoPlastic parts only. Default balanced; strong for parts under load
templateYesplate = flat plate with holes; bracket = L-bracket; spacer = spacer/standoff; washer; box = box with optional lift-off lid
holeInsetNoplate, corner holes: distance from each edge to the hole center (mm)
thicknessNoplate/bracket: thickness (mm)
extraHolesNoplate: holes at exact spots, x/y = hole center in mm from the plate's center
innerDepthNobox: inside depth (mm)
innerWidthNobox: inside width (mm)
gridColumnsNoplate, grid: hole columns
holePatternNoplate: hole layout
innerHeightNobox: inside height (mm)
innerRadiusNobracket: inside corner radius (mm)
cornerRadiusNoplate: outside corner radius, 0 = square; box: inside corner radius (mm)
holeDiameterNoplate: diameter of the pattern holes; bracket: hole diameter (0 = no holes) (mm)
innerDiameterNospacer/washer: hole diameter, 0 = solid spacer (mm)
outerDiameterNospacer/washer: outside diameter (hex: across the flats) (mm)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive operation. The description adds relevant behavior beyond that: it previews the part in 3D, shows pricing and an Order button, applies sensible defaults, and supports re-running with changed inputs. It does not directly contradict the read-only annotation because it describes a preview rather than placing an order.

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?

The description is four front-loaded sentences with no obvious filler. It moves from purpose to output preview to default behavior to reuse pattern efficiently.

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 complex 29-parameter tool with full schema coverage but no output schema, the description supplies the missing high-level return context: a 3D preview with price and Order button. It also covers defaults and reuse, though it does not elaborate on pricing rules or validation behavior.

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%, and the schema already documents all 29 parameters with template-specific meanings. The description adds only high-level context such as exact sizes being in mm, template names, and defaults for omitted values, so it is at the baseline for a fully documented 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 bundle (build/check/price) and resource (custom 3D-printed part from exact mm sizes), and enumerates the supported templates. This is clearly distinct from sibling pricing tools for existing files/models and from order_part.

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?

The description gives useful context that it should be reused when the customer asks for size or option changes, and that omitted sizes use defaults. However, it does not explicitly state when to use this versus price_file, price_model_link, recommend_material, or order_part.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources