Skip to content

Features ​

  • Get detailed printer status: temperatures (nozzle, bed, chamber), print progress, current layer, time remaining, and live AMS slot data
  • Query live AMS inventory with resolved Bambu/Orca filament profile paths via get_printer_filaments. Includes per-tray display names, match confidence (high/medium/low/none), resolution tier (exact-model-nozzle/model/generic/unresolved), and a summary with recommended auto-slice filament. Retries automatically when AMS data hasn't arrived yet (common on first MQTT push from idle printers).
  • List, upload, and delete files on the printer's SD card via FTPS
  • Capture a JPEG snapshot from the chamber camera. Supports A1, A1 mini, P1S, P1P (TCP-on-6000), and X1, X1C, X1E, P2S, H2, H2S, H2D, H2C, H2D Pro, X2D (RTSP via ffmpeg). Requires ffmpeg in PATH for the RTSP path.
  • Upload and print pre-sliced .3mf projects with checked plate selection and calibration flags. Legacy .gcode.3mf routes require a single external-spool-only plate; see the slicing guide.
  • Slice through BambuStudio CLI with automatic BBL inheritance/include resolution, per-slot filament colours, and fallback prime-tower placement for multi-nozzle printers. Missing dependencies stop the slice; custom settings and saved project tower positions are preserved. Multi-colour slicing is verified by the contributor on BambuStudio 02.08.02.60 for Windows; older CLI versions have separate limitations. See slicing guide.
  • Recognize X2D status and slice with its own installed BambuStudio preset (BAMBU_MODEL=x2d). On macOS, print_3mf selects the native eMMC route after resolving the model, including an elicited model. Install the optional helper as described below; Linux/Windows native print requests fail before slicing or contacting the printer. Legacy FTPS and remote G-code starts remain unsupported for X2D.
  • Parse AMS mapping from the 3MF's embedded slicer metadata (Metadata/plate_<n>.json + gcode filament header) and send it correctly formatted per the OpenBambuAPI spec, with correct H2S/H2D/H2C ams_mapping2 parallel array format
  • Auto-match AMS slots by RFID (auto_match_ams flag on print_3mf). Resolves required tray_info_idx from the sliced 3MF against live AMS inventory. Handles same-SKU different-color filaments by matching on (tray_info_idx, tray_color) and tracking already-claimed slots. Dry-run with resolve_3mf_ams_slots before printing.
  • Cancel, pause, and resume in-progress print jobs via MQTT
  • Skip specific objects during a running multi-object print via skip_objects (use list_3mf_plate_objects to find object IDs first)
  • Set print speed mode (silent/standard/sport/ludicrous), clear HMS/print errors, trigger AMS RFID re-read, and control H2/P2 airduct mode (cooling/heating) via MQTT
  • Start/stop AMS filament drying (set_ams_drying) on heated AMS units (AMS Pro / AMS-HT). Sends print.ams_control MQTT command.
  • Set nozzle and bed temperature via G-code dispatch over MQTT
  • Confirm print starts and positive manual heating through a human preflight prompt. Finished-bed clearance and hardware-error clearing require explicit human acknowledgment; see hardware safety and headless configuration.
  • Set fan speed (part, auxiliary, chamber) and chamber light mode (on/off/flashing) via MQTT
  • Read HMS (Health Management System) diagnostics as an MCP resource at printer://{host}/hms — read-only error summary from the printer, with automatic settle retry
  • Start G-code files already stored on the printer
  • Collar charm print wrapper (print_collar_charm) — specialized two-color workflow with fixed tray policy for inner (black, AMS 1 slot 1) and outer (white, AMS 2 slot 1) charm parts
  • STL manipulation: scale, rotate, extend base, merge vertices, center at origin, lay flat, and inspect model info
  • Slice STL or 3MF files using an external CLI. BambuStudio, FULU, and Orca require the exact machine preset and resolve BBL dependencies before slicing; see FULU/Orca CLI setup and validation limits.
  • Inspect slicer settings from a saved 3MF template or extracted profile via get_slice_settings
  • Enumerate saved slicing templates from the local registry via list_templates
  • Save templates into the local registry via save_template
  • Slice directly from a named template via slice_with_template
  • For simple single-material slices, auto-select the printer's current or first loaded AMS filament when no explicit slicer profile or load_filaments override is provided
  • Template-driven slicing can reuse a saved 3MF's process settings while still pulling the live printer filament choice over MQTT
  • Optional Blender MCP bridge for advanced mesh operations
  • Dual transport: stdio (default, for Claude Desktop / Claude Code) and Streamable HTTP

Released under the GPL-2.0 license. An independent open-source project, not affiliated with Bambu Lab.