Skip to main content
Glama
orcaslicer-mcp

orcaslicer-mcp

Move object to plate

move_object_to_plate

Move an object to another plate by index, preserving its relative position when coming from a plate or centering it when coming from off-plate. Re-slice after the move because both plates' slices become invalid.

Instructions

Move an object onto another plate by its index; simpler than transform_object for changing plates.

Coming from a plate it keeps its position relative to that plate (front-left of plate 1 lands front-left of plate 2); coming from off-plate (parked beside the bed) it lands at the destination's centre. If it then overlaps a part, shift it with transform_object; arrange_plate would re-pack every plate together.

list_objects reports each object's plate (-1 when off every plate). Moving leaves both plates' slices invalid, so re-slice. An object already on that plate is left where it is (moved: false); a locked plate at either end refuses the move (plate_locked).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "object_id": "<object_id>",
      "plate": "<plate>"
    },
    "name": "move_object_to_plate"
  }
}

Input Schema

NameRequiredDescriptionDefault
plateYes0-based index of the destination plate, from list_plates or add_plate.
instanceNoWhich copy to move when the object has several (duplicate_object); 0 is the original.
object_idYesInteger id of the object, from the 'id' field of list_objects.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.17

TDQS

A4.8/5.0
Behavior5/5

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

The description provides extensive behavioral details beyond the annotations, such as retaining relative position upon movement, handling center placement when off-plate, and the critical side effect that moving invalidates slices and requires re-slicing.

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?

While detailed, the text is highly dense and logically structured, detailing the functional logic (relative positioning, center landing, locking) without including unnecessary fluff.

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 complexity of object manipulation involving spatial reasoning, overlapping objects, and slicing, the description covers all necessary operational constraints and consequences.

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?

Although schema coverage is 100%, the description adds useful context by specifying that object IDs come from 'list_objects' and plate indices come from 'list_plates' or 'add_plate.'

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 clearly defines the function as moving an object to a plate and explicitly differentiates it from 'transform_object' and 'arrange_plate' to establish its unique purpose.

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 provides explicit guidance on when to use this tool versus alternatives, specifying that it is ideal for simple plate changes and directing users to use 'transform_object' if overlaps occur or 'arrange_plate' if re-packing is required.

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