bambu-printer-mcp (rowbotik/bambu-printer-mcp) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 37 tools. No publisher has claimed this listing.
A Bambu Lab-focused MCP server for controlling Bambu printers, manipulating STL files, and managing end-to-end 3MF print workflows from any MCP-compatible client.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
rowbotik
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
get_printer_statusGet the current status of the Bambu Lab printer
get_printer_filamentsGet the live AMS/external filament inventory from the printer over MQTT, including loaded/empty slot summary, resolved slicer profile paths, match confidence, and recommended load_filaments when the printer model is known.
resolve_3mf_ams_slotsInspect a sliced 3MF and match its tray_info_idx filament requirements against the live AMS inventory. Does not upload or start a print.
list_3mf_plate_objectsList object IDs from a sliced 3MF plate. Use these IDs with skip_objects during a running print.
extend_stl_baseExtend the base of an STL file by a specified amount
scale_stlScale an STL file by specified factors
rotate_stlRotate an STL file by specified angles (degrees)
get_stl_infoGet detailed information about an STL file (bounding box, face count, dimensions)
list_templatesList saved slicing templates from the local template registry directory.
save_templateCopy a 3MF, JSON, or config file into the local template registry and register it under a template name.
get_slice_settingsInspect slicer settings from a saved 3MF template or a JSON/config slicer profile without slicing anything.
slice_with_templateSlice an STL or 3MF using a named template from the local registry. This is a higher-level wrapper around slice_stl for template-based workflows.
slice_stlSlice an STL or 3MF file using a slicer to generate printable G-code or sliced 3MF. IMPORTANT: bambu_model must be specified to ensure the slicer generates safe G-code for the correct printer.
list_printer_filesList files stored on the Bambu Lab printer
camera_snapshotCapture a single JPEG frame from the printer's chamber camera. TCP-on-6000 protocol (per OpenBambuAPI/video.md) — verified upstream for A1, A1 mini, P1S, P1P. X1/P2S use RTSP and are not yet supported. H2 series is undocumented and rejected with a clear error. Returns JPEG as base64; pass save_path …
delete_printer_fileDelete a file from the Bambu Lab printer's SD card via FTPS. Destructive: requires confirm:true. Restricted to cache/, timelapse/, and logs/ directories. Path traversal segments (..) are rejected.
upload_gcodeUpload a G-code file to the Bambu Lab printer
upload_fileUpload a local file to the Bambu Lab printer
start_print_jobStart printing a G-code file already on the Bambu Lab printer
cancel_printCancel the current print job on the Bambu Lab printer
pause_printPause the current print job on the Bambu Lab printer (resumable via resume_print)
resume_printResume a paused print job on the Bambu Lab printer
clear_hms_errorsClear HMS or print error state on the Bambu Lab printer using the clean_print_error MQTT command.
set_print_speedSet the active print speed mode: silent, standard, sport, or ludicrous.
set_airduct_modeSet H2/P2 airduct mode to cooling or heating.
reread_ams_rfidTrigger a Bambu AMS RFID re-read for one AMS slot. This can move AMS filament; use only when the printer is idle and unloaded.
set_temperatureSet the temperature of a printer component (bed, nozzle)
set_fan_speedSet a Bambu printer fan speed percentage using the printer's MQTT fan command
set_lightSet a Bambu printer light node mode using the printer's MQTT LED command
skip_objectsSkip specific object IDs during a running multi-object print using the printer's MQTT skip_objects command
set_ams_dryingStart or stop the AMS filament drying cycle. Available on AMS units with heating capability (AMS Pro / AMS-HT). Sends an ams_control MQTT command to the printer.
print_3mfPrint a 3MF file on a Bambu Lab printer. Auto-slices if the 3MF has no gcode. IMPORTANT: bambu_model must be specified to ensure safe printer operation.
print_collar_charmPrint a prepared two-part dog collar charm project using the fixed tray policy: inner/smaller object -> black on AMS 1 slot 1, outer/larger object -> white on AMS 2 slot 1.
merge_verticesMerge vertices in an STL file closer than the specified tolerance
center_modelTranslate the model so its geometric center is at the origin (0,0,0)
lay_flatRotate the model so its largest flat face lies on the XY plane (Z=0)
blender_mcp_edit_modelSend STL-edit instructions to a Blender MCP bridge command for advanced model edits
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
Basic FTP has Path Traversal Vulnerability in its downloadToDir() method
basic-ftp: Incomplete CRLF Injection Protection Allows Arbitrary FTP Command Execution via Credentials and MKD Commands
basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list()
basic-ftp allows a malicious FTP server to cause client-side denial of service via unbounded multiline control response buffering
BAMBU_CLIENT_CERTBAMBU_CLIENT_KEYBAMBU_CLI_FLATTENBambuStudio CLI auto-flatten (=true) — works around upstream profile inheritance bugs.BAMBU_MODELp1s # Your printer model: p1s, p1p, x1c, x1e, a1, a1mini, h2d, h2sBAMBU_PRINTER_ACCESS_TOKENBAMBU_PRINTER_HOST / BAMBU_PRINTER_SERIAL /BAMBU_PRINTER_HOST/ BAMBU_PRINTER_SERIAL / BAMBU_PRINTER_ACCESS_TOKENBAMBU_PRINTER_MODELAlias also accepted:BAMBU_PRINTER_SERIALBAMBU_PRINTER_HOST / / BAMBU_PRINTER_ACCESS_TOKENBAMBU_PROFILES_ROOTderived from SLICER_PATH No Override path to the BambuStudio Resources/profiles directory used by the CLI flattener. Useful for non-standard installs or dev environments.BAMBU_SERIAL01P00A123456789 # Printer serial number (see Finding Your Serial Number below)BAMBU_SLICER_PROFILEBAMBU_STUDIO_PATHAlias also accepted:BAMBU_TEMPLATE_3MF_PATHBAMBU_TEMPLATE_DIRList saved templates from the local registry directory. You can override the registry root with .BAMBU_TOKENyour_access_token # LAN access token from printer touchscreenBED_TYPEtextured_plate # Bed plate type: textured_plate, cool_plate, engineering_plate, hot_plate, supertack_plateBLENDER_MCP_BRIDGE_COMMANDShell command to invoke your Blender MCP bridge executableCAPTURE_BYTESMCP_HTTP_ALLOWED_ORIGINSNo Comma-separated list of allowed CORS originsMCP_HTTP_HOST127.0.0.1 No HTTP bind address (HTTP transport only)MCP_HTTP_JSON_RESPONSEtrue No Return structured JSON alongside text responsesMCP_HTTP_PATH/mcp No HTTP endpoint path (HTTP transport only)MCP_HTTP_PORT3000 No HTTP port (HTTP transport only)MCP_HTTP_STATEFULtrue No Enable stateful HTTP sessionsMCP_TRANSPORTstdio # Options: stdio (default), streamable-httpNOZZLE_DIAMETER0.4 # Nozzle diameter in mm (default: 0.4)PRINTER_HOST192.168.1.100 # IP address of your Bambu printer on the local networkSLICER_PATH/Applications/BambuStudio.app/Contents/MacOS/BambuStudioSLICER_PROFILEOptional: path to a slicer profile/config fileSLICER_TYPEbambustudio # Options: bambustudio, prusaslicer, orcaslicer, cura, slic3rTIMEOUT_MSTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
37/37 tools missing one or more hints — get_printer_status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_printer_filaments (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); resolve_3mf_ams_slots (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +34 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tests exist
No test files found
Add tests that exercise each declared tool.
Shell command execution
5 child_process calls — runs shell commands
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Production dependencies are patched
1 critical, 3 high severity in production deps — basic-ftp@5.0.5 (critical), basic-ftp@5.0.5 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dependency freshness
1/9 production deps stale: xml2js@2024-05-31 (2y)
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/rowbotik/bambu-printer-mcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check