Skip to main content
Glama

Cut a model that does not fit the bed

split_for_printing
Destructive

Cut one body in a project into two halves at a plane, with a joint so they go back together after printing. This is the answer to "my model is too big for my printer". Both halves stay fully parametric — each is the original body intersected with a half-space, not a flattened mesh — so they still export as solids and still open for editing. Pick the joint by what the print needs: dowel puts a socket in BOTH halves and prints the pin separately, so neither half has anything standing off its cut face and a wrong fit costs a two-gram reprint instead of a whole half; pin and tenon grow the key out of one half; bolt is the only one that comes apart again. Omit position to cut through the middle of the body on that axis.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fitNoHow much slack the key gets in its socket. Defaults to normal (0.2 mm). Use `custom` with `gap` to set it yourself.
gapNoThe clearance in mm when `fit` is custom.
axisNoWhich way the plane faces. Cut a tall part across z, a long one across x. Defaults to z.
sizeNoKey size in mm — pin/dowel diameter, tenon width, bolt size. Defaults to 5.
countNoHow many keys across the cut face (1-6). Defaults to 2.
depthNoHow far a key reaches into the far half, mm. For a dowel, into EACH half. Defaults to 6.
jointNoDefaults to pin.
shapeNoKey cross-section (pin and dowel only). Round lets the halves spin about a single key; any other shape stops that. Defaults to circle.
styleNoStraight or tapered (pin and dowel only). Tapered is easier to start and shrinks the flat bridge over a blind socket. Defaults to prism.
nodeIdYesThe top-level body to cut, from `get_project`. A nested node, a generator or a component instance cannot be cut — the cut is authored in world coordinates.
versionNoThe `version` get_project reported, so a concurrent change is detected rather than overwritten.
positionNoWhere the plane sits along `axis`, in world mm. Must pass THROUGH the body — the reply names the legal range if it does not. Omit to cut at the middle, which is almost always what you want.
projectIdYesThe project containing the body to cut.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / projectId / description
      Added value: +"The project containing the body to cut."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only provide destructiveHint=true, so the description carries a heavy burden. It goes far beyond that: it reveals that both halves remain parametric solids, explains the practical consequences of each joint type (e.g., dowel prints pin separately, bolt comes apart), and states what omitting position does. This matches and richly supplements the destructive annotation without contradiction.

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 front-loaded with the core purpose and remains information-dense throughout; every clause explains a behavioral nuance. It is slightly long given the many joint details, but those details are load-bearing for correct selection, so the length is justified.

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 13-parameter tool with no output schema, the description supplies the most important decision factors: joint behavior, parametric preservation, and position default. It does not describe return values or error messages, but the schema covers parameters and annotations cover destructiveness, so the main gaps are minor and do not block correct invocation.

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?

Even though the schema already has 100% coverage with detailed descriptions, the prose adds crucial meaning: it defines the trade-offs among pin, tenon, dowel, and bolt; notes that round keys allow spinning; and explains the default middle-cut behavior of position. This is exactly the kind of cross-parameter guidance an agent needs to select joint and position correctly.

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 states a specific verb and resource: 'Cut one body in a project into two halves at a plane, with a joint'. It directly answers the canonical use case, 'my model is too big for my printer', and clearly distinguishes this from sibling tools like repair_project or export_step by describing its unique cut-and-joint behavior.

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?

It clearly identifies when to use the tool: when a model does not fit the printer bed. It does not explicitly name sibling alternatives or exclusion criteria, but the use case is specific enough that an agent can route correctly; it also gives guidance on choosing joint types and omitting position.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources