Skip to main content
Glama
mostodont01

prusa-workbench-mcp

by mostodont01

set_object_settings

Configure per-object PrusaSlicer settings for selected parts, including supports, support angle, custom overrides, renaming, or clearing existing object settings.

Instructions

Per-object settings, on top of the bed's settings (e.g. supports only for one part, more perimeters for another). These go into the 3MF as PrusaSlicer object settings.

Args: objects: object ids or names. supports: off | auto | build_plate_only | painted. support_angle: overhang threshold in degrees (0 = automatic). settings: PrusaSlicer object/region settings, e.g. {"fill_density": "40%", "perimeters": 5, "brim_width": 4}. null removes one. name: rename the object(s). clear: drop all of the object's own settings first.

Input Schema

NameRequiredDescriptionDefault
nameNo
clearNo
objectsYes
settingsNo
supportsNo
support_angleNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/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, and it does disclose two behavioral facts: settings are persisted into the 3MF as PrusaSlicer object settings, and `clear` drops all of the object's own settings first (a destructive action). It does not say whether values are merged or replaced, whether the change requires a save/slice to take effect, or what happens if an object id is invalid — meaningful gaps for a mutation tool.

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 opening sentence is front-loaded with purpose and the Args list is scannable, with every entry conveying distinct information. Slight overhead from the block-style parameter listing, but no wasted sentences.

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?

An output schema exists, so return values need not be explained, and all six parameters are documented in detail. What is missing is contextual rather than parametric: whether the job must already be open, and whether settings take effect immediately or only at slice time.

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%, so the description must do all the work, and it does: it gives the accepted `supports` values (off | auto | build_plate_only | painted) where the schema only declares a bare string, explains `support_angle` units and the 0-means-automatic convention, shows a concrete `settings` payload with mixed value types and states that a null value removes one, and clarifies `name` renames while `clear` wipes existing settings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb+resource (per-object settings) and immediately scopes it relative to bed-level settings, with a concrete example ('supports only for one part, more perimeters for another'). It also states where the data lands ('3MF as PrusaSlicer object settings'), which an agent cannot infer from the name alone. It does not explicitly name set_bed as the sibling to use for bed-wide values, so differentiation is implied rather than stated.

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 phrase 'on top of the bed's settings' plus the per-part example implies when to reach for this tool versus set_bed, but the routing is left to inference. There is no explicit 'use this when X, use set_bed when Y' and no statement of prerequisites (e.g. a job must be open, objects must exist).

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