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.

D
Caution
54/100

bambu-printer-mcp

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

Code Verified⚡ Live Monitored: not connected

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

Is this your MCP?

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.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical, 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 3 credentials: BAMBU_CLIENT_KEY, BAMBU_PRINTER_ACCESS_TOKEN, BAMBU_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes37 tools

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_status

Get the current status of the Bambu Lab printer

get_printer_filaments

Get 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_slots

Inspect 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_objects

List object IDs from a sliced 3MF plate. Use these IDs with skip_objects during a running print.

extend_stl_base

Extend the base of an STL file by a specified amount

scale_stl

Scale an STL file by specified factors

rotate_stl

Rotate an STL file by specified angles (degrees)

get_stl_info

Get detailed information about an STL file (bounding box, face count, dimensions)

list_templates

List saved slicing templates from the local template registry directory.

save_template

Copy a 3MF, JSON, or config file into the local template registry and register it under a template name.

get_slice_settings

Inspect slicer settings from a saved 3MF template or a JSON/config slicer profile without slicing anything.

slice_with_template

Slice 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_stl

Slice 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_files

List files stored on the Bambu Lab printer

camera_snapshot

Capture 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_file

Delete 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_gcode

Upload a G-code file to the Bambu Lab printer

upload_file

Upload a local file to the Bambu Lab printer

start_print_job

Start printing a G-code file already on the Bambu Lab printer

cancel_print

Cancel the current print job on the Bambu Lab printer

pause_print

Pause the current print job on the Bambu Lab printer (resumable via resume_print)

resume_print

Resume a paused print job on the Bambu Lab printer

clear_hms_errors

Clear HMS or print error state on the Bambu Lab printer using the clean_print_error MQTT command.

set_print_speed

Set the active print speed mode: silent, standard, sport, or ludicrous.

set_airduct_mode

Set H2/P2 airduct mode to cooling or heating.

reread_ams_rfid

Trigger 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_temperature

Set the temperature of a printer component (bed, nozzle)

set_fan_speed

Set a Bambu printer fan speed percentage using the printer's MQTT fan command

set_light

Set a Bambu printer light node mode using the printer's MQTT LED command

skip_objects

Skip specific object IDs during a running multi-object print using the printer's MQTT skip_objects command

set_ams_drying

Start 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_3mf

Print 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_charm

Print 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_vertices

Merge vertices in an STL file closer than the specified tolerance

center_model

Translate the model so its geometric center is at the origin (0,0,0)

lay_flat

Rotate the model so its largest flat face lies on the XY plane (Z=0)

blender_mcp_edit_model

Send STL-edit instructions to a Blender MCP bridge command for advanced model edits

// known CVEs in dependencies1 critical3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalbasic-ftp@5.0.5GHSA-5rq4-664w-9x2c

Basic FTP has Path Traversal Vulnerability in its downloadToDir() method

highbasic-ftp@5.0.5GHSA-6v7q-wjvx-w8wg

basic-ftp: Incomplete CRLF Injection Protection Allows Arbitrary FTP Command Execution via Credentials and MKD Commands

highbasic-ftp@5.0.5GHSA-rp42-5vxx-qpwr

basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list()

highbasic-ftp@5.0.5GHSA-rpmf-866q-6p89

basic-ftp allows a malicious FTP server to cause client-side denial of service via unbounded multiline control response buffering

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configBAMBU_CLIENT_CERT
🔐 secretBAMBU_CLIENT_KEY
configBAMBU_CLI_FLATTENBambuStudio CLI auto-flatten (=true) — works around upstream profile inheritance bugs.
configBAMBU_MODELp1s # Your printer model: p1s, p1p, x1c, x1e, a1, a1mini, h2d, h2s
🔐 secretBAMBU_PRINTER_ACCESS_TOKENBAMBU_PRINTER_HOST / BAMBU_PRINTER_SERIAL /
configBAMBU_PRINTER_HOST/ BAMBU_PRINTER_SERIAL / BAMBU_PRINTER_ACCESS_TOKEN
configBAMBU_PRINTER_MODELAlias also accepted:
configBAMBU_PRINTER_SERIALBAMBU_PRINTER_HOST / / BAMBU_PRINTER_ACCESS_TOKEN
configBAMBU_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.
configBAMBU_SERIAL01P00A123456789 # Printer serial number (see Finding Your Serial Number below)
configBAMBU_SLICER_PROFILE
configBAMBU_STUDIO_PATHAlias also accepted:
configBAMBU_TEMPLATE_3MF_PATH
configBAMBU_TEMPLATE_DIRList saved templates from the local registry directory. You can override the registry root with .
🔐 secretBAMBU_TOKENyour_access_token # LAN access token from printer touchscreen
configBED_TYPEtextured_plate # Bed plate type: textured_plate, cool_plate, engineering_plate, hot_plate, supertack_plate
configBLENDER_MCP_BRIDGE_COMMANDShell command to invoke your Blender MCP bridge executable
configCAPTURE_BYTES
configMCP_HTTP_ALLOWED_ORIGINSNo Comma-separated list of allowed CORS origins
configMCP_HTTP_HOST127.0.0.1 No HTTP bind address (HTTP transport only)
configMCP_HTTP_JSON_RESPONSEtrue No Return structured JSON alongside text responses
configMCP_HTTP_PATH/mcp No HTTP endpoint path (HTTP transport only)
configMCP_HTTP_PORT3000 No HTTP port (HTTP transport only)
configMCP_HTTP_STATEFULtrue No Enable stateful HTTP sessions
configMCP_TRANSPORTstdio # Options: stdio (default), streamable-http
configNOZZLE_DIAMETER0.4 # Nozzle diameter in mm (default: 0.4)
configPRINTER_HOST192.168.1.100 # IP address of your Bambu printer on the local network
configSLICER_PATH/Applications/BambuStudio.app/Contents/MacOS/BambuStudio
configSLICER_PROFILEOptional: path to a slicer profile/config file
configSLICER_TYPEbambustudio # Options: bambustudio, prusaslicer, orcaslicer, cura, slic3r
configTIMEOUT_MS
// quality suggestions

Tool 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.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/rowbotik/bambu-printer-mcp?variant=verified)](https://m8ven.ai/mcp/rowbotik/bambu-printer-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 0e6ae619c899351a533dcf98c09a4cbf1299d5b7
code hash: 1e7287a9a258d7632d88c5b9a21152d6848253807c22676c59d6f602e1d82326
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

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
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client