Skip to main content
Glama

list_3mf_plates

Read-onlyIdempotent

Lists plates, objects, and filament requirements from a Bambu Studio or OrcaSlicer 3MF before slicing, with optional thumbnails, to help you select a plate to print.

Instructions

List a Bambu Studio or OrcaSlicer 3MF's plates as its designer laid them out, before slicing: plate_count, and for each plate its index (from 0; slice_stl's slice_plate is index + 1, inspect_print_file's plate_index is index), name, the objects on it, each object copy's identify_id (instances: the ids slice_stl's skip_objects takes) whether the file already holds its G-code (sliced), and filaments: the project filaments that plate prints with and only those (index from 1 = slice_stl's load_filaments/filament_colours position and print_3mf's ams_mapping position + 1; colour, material, filament_id, and the first part using it), from the slice when there is one, otherwise worked out as Bambu Studio does from the plate's parts, painting, support, layer ranges and tool changes. filaments_complete is false when a part's mesh was too large to read its painting: that plate then lists every declared filament, so offer them all rather than miss one that prints. project_filaments lists every filament the project declares, used or not (slice_stl takes one load_filaments profile per declared filament). A plain 3MF without plate metadata is one plate. include_thumbnails adds each plate's own preview from the file (thumbnail_png_base64). Read-only.

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": {
      "three_mf_path": "<three_mf_path>"
    },
    "name": "list_3mf_plates"
  }
}

Input Schema

NameRequiredDescriptionDefault
three_mf_pathYesPath to the 3MF (a designer's project, sliced or not)
include_thumbnailsNoInclude each plate's own preview PNG from the file, base64 (default false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.77

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the read-only annotations, the description discloses important behavior: filaments are read from the slice when available and otherwise inferred as Bambu Studio does. It also explains the filaments_complete caveat and the fallback of listing all declared filaments, plus how a plain 3MF becomes one plate.

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 is dense with useful output details. It is long and nested, making it harder to scan, but almost every clause carries operational information about plate and filament semantics.

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 carries the full burden and does so thoroughly: it covers plate_count, per-plate indices, names, objects, identify_id semantics, sliced status, filaments, project_filaments, completeness caveats, and thumbnails. This is complete for a complex inspection tool.

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 the description largely mirrors the schema for three_mf_path and include_thumbnails. It does clarify that include_thumbnails produces thumbnail_png_base64, but adds little parameter meaning beyond the schema.

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: list a Bambu Studio or OrcaSlicer 3MF's plates as laid out before slicing. It names the key outputs and explicitly maps plate indices to slice_stl's slice_plate and inspect_print_file's plate_index, which sharply distinguishes its role from slicing tools.

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?

Usage is strongly implied: use this before slicing to inspect plate layout, objects, and filaments. It gives useful index-mapping guidance for downstream slice_stl calls but does not explicitly say when to choose it over the sibling list_3mf_plate_objects.

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