Skip to main content
Glama
danielefinocchiaro

unofficial-bambu-mcp

add_shape

Create simple solid shapes—boxes, cylinders, cones, spheres, text, or SVG logos—in a Bambu Studio project, with optional base plates for text and logos.

Instructions

Create a simple solid: box (width, depth, height), cylinder (diameter, height), cone (diameter, diameter_top, height), sphere (diameter), text (text, text_height = capital letters in mm, height = depth of the letters; base > 0 puts the text on a plate that thick, as a separate part 'Base' with filament base_filament (0 = same as the text), e.g. white letters on a black tag; font = path to a .ttf/.otf), svg (svg = path of an .svg file, a logo raised height mm; size = its longest side in mm, 0 = the file's own size; base works as for text). To put text or a logo on an existing object, use add_relief.

Input Schema

NameRequiredDescriptionDefault
xNo
yNo
svgNo
baseNo
fontNo
nameNo
sizeNo
textNo
depthNo
plateNo
shapeYes
widthNo
heightNo
diameterNo
filamentNo
text_heightNo
diameter_topNo
base_filamentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose a non-obvious side effect: base > 0 creates a separate part named 'Base' with its own filament, and base_filament 0 means inherit the text filament. It does not state units for most dimensions, whether objects are placed at the origin or at x/y, or what the tool returns, so the safety/placement profile remains incomplete.

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 verb and the shape list, then per-shape parentheticals that each carry real information rather than filler. The density is justified by 18 parameters, though the text/svg clauses become long and would read better as separate lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter mutation tool with no annotations, no output schema and no schema descriptions, the description covers shape semantics well but omits object placement (x/y), the meaning of plate and filament indices, and any return value. It is adequate to build a solid but not to fully predict the result.

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 coverage is 0%, so the description must compensate, and it does for most parameters — including disambiguating the overloaded `height` (box height vs. depth of text letters vs. raised height for svg) and explaining text_height, base, base_filament, font, svg and size semantics. Gaps remain: x, y (placement), name, plate and filament indices are never mentioned.

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 ("Create a simple solid") and then enumerates the exact shape families supported (box, cylinder, cone, sphere, text, svg) with their governing dimensions. An agent can immediately tell this is the primitive-creation tool and, via the closing sentence, how it differs from add_relief.

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?

Explicitly routes the agent to add_relief for putting text or a logo on an existing object, which is the key sibling ambiguity. It does not cover other plausible alternatives (import_model, add_modifier) or prerequisites such as an open project, but the main exclusion is stated clearly.

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