Skip to main content
Glama
MaxEllis

orcaslicer-mcp

Select preset

select_preset

Make the named preset the active one for its group (print, filament, or printer).

Instructions

Make the named preset the active one for its group (print, filament, or printer).

Discards unsaved overrides in EVERY preset group, not just the one being switched: a filament switch also drops unsaved print and printer edits, including ones made by hand in the OrcaSlicer window. That is deliberate (OrcaSlicer consults the other groups when switching, and any unsaved one would open a modal dialog nothing can dismiss remotely), so call save_preset first if any unsaved edit should survive. Newer slicer builds report which groups were affected as 'discarded_changes' in the reply.

This also makes it the canonical way to reset dirty config. It leaves the last slice invalid, so re-slice afterwards. Use list_presets for valid names. Because of this, make filament selections and edits before print-group edits (docs/order-of-operations.md).

Input Schema

NameRequiredDescriptionDefault
nameYesExact name of an existing preset in that group, as returned by list_presets (e.g. '0.20mm Standard'). Unknown names are rejected.
typeYesWhich preset group to switch: 'print' (process/quality), 'filament' (material), or 'printer' (machine).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.10
    • addedInput schema / properties / name / description
      Added value: +"Exact name of an existing preset in that group, as returned by list_presets (e.g. '0.20mm Standard'). Unknown names are rejected."
    • addedInput schema / properties / type / description
      Added value: +"Which preset group to switch: 'print' (process/quality), 'filament' (material), or 'printer' (machine)."
  2. First observedv0.1.8

TDQS

A3.8/5.0
Behavior1/5

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

The description discloses that the tool 'Discards unsaved overrides in EVERY preset group', including hand edits, and that it 'leaves the last slice invalid' — an irreversible loss of user work. This directly contradicts the annotation destructiveHint=false, which tells an agent only additive updates occur. The description is otherwise exceptionally rich (root-cause explanation, 'discarded_changes' reply field), but the conflict with the annotation is exactly the failure mode that must be flagged.

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?

Purpose is front-loaded in sentence one, followed by consequence, rationale, alternatives, and ordering. Every sentence carries information, though the middle parenthetical about modal dialogs is slightly verbose for the space it occupies.

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?

With no output schema, the description still mentions the 'discarded_changes' reply field, warns that the prior slice becomes invalid, and gives the full ordering and save-first procedure. For a state-mutating 2-param tool, an agent has everything needed to invoke it safely.

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 description coverage is 100% and both parameters already carry examples, enum-like group definitions, and rejected-unknown-name behavior. The description only echoes this by pointing at list_presets for valid names, adding no syntax or format detail beyond the schema, so the baseline 3 applies.

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 first sentence gives a specific verb and resource ('make the named preset the active one for its group'), scoping it to print/filament/printer groups. An agent can immediately distinguish it from siblings like list_presets, save_preset, edit_preset and rename_preset without opening any schema.

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?

It names clear alternatives and prerequisites: 'call save_preset first if any unsaved edit should survive', 'Use list_presets for valid names', and an explicit ordering rule ('make filament selections and edits before print-group edits'), even citing docs/order-of-operations.md. When-to-use and when-not-to-use are both spelled out.

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