Skip to main content
Glama
b123d-print-mcp

b123d-print-mcp

by KD5RYN

render_sketch

Renders a single 2D sketch from a build123d script as a dimensioned PNG on an mm grid, checks closed regions, wall necks, small holes and bed fit, and obtains user approval before 3D build.

Instructions

Sketch first: one 2D shape from the script's sketches(d) hook, drawn flat on a mm grid as a PNG, with automatic dimensions (overall size, hole diameters, slot widths, inside corner radii, hole and slot centres from the lower-left corner) and the sketch checks: one closed region, the narrowest neck against min_wall, inside corners under R0.5 (BP-R1), holes under 1 mm, the outline against the bed. Show it to the user and get an OK before build(d) extrudes, revolves or sweeps it. sketch: its name in sketches(d) (default: the first). dims=False draws the shape and grid only. Nothing 3D is built. size: 'normal' or 'small'. Remote server (HTTP/SSH): the files stay on the server, as a temporary working copy deleted when unused; bring the part home with download_part (one zip in the parts// layout). Never use ssh, scp or a shell on the server: there is none.

Input Schema

NameRequiredDescriptionDefault
dimsNo
nameYes
sizeNonormal
inlineNo
sketchNo
variantNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.17

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: it enumerates the exact checks reported (closed region, narrowest neck vs min_wall, inside corners under R0.5, holes under 1 mm, outline vs bed), asserts non-destructiveness ('Nothing 3D is built'), and discloses remote-server file lifecycle (temporary working copy deleted when unused) plus the hard constraint that no ssh/scp/shell exists.

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?

Front-loaded with the core action and the user-approval gate, and every paragraph carries real information (checks, workflow, remote-server behavior). It is dense and some sentences are overloaded with long parenthetical lists, which slightly hurts scannability for a tool this simple to invoke.

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?

With no annotations, no output schema and 0% schema coverage across six parameters, the description does most of the work: it explains what is produced, what checks appear, and the remote-host caveats. The remaining gap is the undocumented inline and variant parameters, which an agent cannot reason about from either source.

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 description coverage is 0%, so the description must compensate; it defines sketch (name in sketches(d), default first), dims (False draws shape and grid only), and size ('normal' or 'small') precisely. However, inline and variant are never mentioned, and the required 'name' parameter is only implied via the parts/<name>/ download layout.

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 and output: renders one 2D shape from the script's sketches(d) hook flat on a mm grid as a PNG, with dimensions and checks. It also draws the scope boundary against adjacent tools explicitly: 'Nothing 3D is built' and 'before build(d) extrudes, revolves or sweeps it', separating it from build_part and render_preview.

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?

Gives an explicit workflow rule: 'Show it to the user and get an OK before build(d) extrudes, revolves or sweeps it', which tells the agent both when to call it and what gates on the result. It also names the follow-up alternative (build(d)) and, for remote servers, points to download_part instead of shelling into the server.

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