Skip to main content
Glama
pzfreo

build123d-mcp

by pzfreo

export

Idempotent

Write 3D models and 2D drawings to STEP, STL, 3MF, DXF, or SVG formats, with named assembly export for CAD interoperability.

Instructions

Export model. format: step, stl, 3mf, dxf, svg, or comma-separated list e.g. 'step,stl' or 'dxf,svg'. 3D shapes (solids) export to step/stl/3mf; 2D shapes (Sketches and dimensioned drawings composed via build123d.drafting) export to dxf/svg. 3mf is a minimal core-spec mesh export (single object, no color/material) intended for slicers (Bambu Studio, PrusaSlicer, Orca) — use step for downstream CAD interop instead. Mixing 2D and 3D formats for the same shape errors with a clear message. object_name: named object from show(), '' to export all named shapes as a combined assembly (default: current shape). STEP exports carry the session names as labels — single-object exports use the object_name, '' exports produce a Compound labelled 'assembly' with each child labelled by its show() name. Downstream CAD tools (FreeCAD, Fusion) will see the structured assembly with named bodies. Use dxf for engineering-drawing handoff to other CAD tools; svg for embedding in docs/wikis. The result echoes the exported shape's volume/bbox/face count (or bbox/edge count for 2D) as a final sanity check that the right, non-degenerate object was written.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNostep
filenameYes
object_nameNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

Beyond the annotations (which only indicate idempotent, non-read-only, non-destructive), the description discloses critical behaviors: single-object vs assembly export, label propagation in STEP, 2D/3D format limitations, error on mixing, and a final echo of geometry metrics as a sanity check. This is rich, non-obvious context that annotations do not provide.

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 long but every sentence adds value, covering formats, use cases, error conditions, and export behavior. It's slightly dense and could be broken into paragraphs for readability, but it is not wasteful. The core purpose is stated upfront, making it well-front-loaded.

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?

Given the tool's complexity (multi-format export, object selection, assembly handling, error cases, and result verification), the description covers all necessary aspects. The output schema exists, so not explaining return values is acceptable. The description is complete enough for an agent to select and invoke 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?

Schema coverage is 0%, but the description fully explains the 'format' parameter (allowed values, 2D/3D mapping, comma-separated lists) and 'object_name' ('*', named object, default current shape). It even clarifies implications of the filename through context. The description adds substantial meaning beyond the bare 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?

The description opens with 'Export model' and goes on to specify the exact resource (model) and action, then elaborates on format options and behavior. It clearly distinguishes itself from siblings like render_view or save_snapshot by focusing on file export with format-specific details.

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?

The description provides explicit guidance on when to use each format: 'use step for downstream CAD interop instead', 'Use dxf for engineering-drawing handoff', 'svg for embedding in docs/wikis', and notes 3mf is for slicers. This gives clear context and alternatives, satisfying the 'when/when-not/alternatives' criterion.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pzfreo/build123d-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server