Skip to main content
Glama
KD5RYN

b123d-print-mcp

by KD5RYN

new_part

Create a new parametric 3D-printable part script from a standard template, optionally copying a bundled example or showing the generated code.

Instructions

Create parts//.py from the template (Dims dataclass, build(d), VARIANTS, views, checks). name: lower_snake_case. example: copy a bundled example instead (see list_parts), e.g. 'hole_coupon' to calibrate hole compensation. Returns a short confirmation; the template is the b123d-print://template resource (or read_part), show_code=True returns the new file's code here. Usually the next step is write_part with the whole script. If you haven't, call read_guide first; confirm the dimensions with the user before writing the script.

Input Schema

NameRequiredDescriptionDefault
nameYes
exampleNo
show_codeNo
descriptionNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.12

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the return value ('short confirmation'), the show_code side effect, and the template backing resource. It omits what happens if the target file already exists (overwrite vs. error) and any permission or safety notes, which is a real gap for a file-creating mutation.

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-loads what gets created and its location, then layers usage and workflow notes. Some parentheticals and trailing sentences (read_guide, confirm dimensions) make it slightly dense, but every sentence conveys actionable information.

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, workflow-integrated creation tool it covers the template contents, naming, example mode, code return, and next steps. Remaining gaps are overwrite/error behavior and the unexplained description parameter; an output schema exists, so return-value detail is not required.

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 coverage is 0%, so the description must compensate. It explains name (lower_snake_case, used in the path), example (copy a bundled example such as 'hole_coupon', discoverable via list_parts), and show_code (returns the new file's code). The fourth parameter, description, is never mentioned, leaving one of four undocumented.

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 with the exact target path ('parts/<name>/<name>.py') and enumerates the template contents (Dims dataclass, build(d), VARIANTS, views, checks). This is clearly distinguishable from write_part (the follow-up step) and from example-copying behavior, which it also names.

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?

Explicitly covers when to use this tool versus the bundled-example alternative ('example: copy a bundled example instead (see list_parts)'), the required naming convention, the prerequisite ('call read_guide first'), the user-confirmation step, and the typical next tool ('write_part'). Little is left to inference.

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