Skip to content

Print from a conversation.

bambu-printer-mcp connects Claude, Codex, and other MCP clients to Bambu Lab printers on your local network. Send your agent a link, a photo, or a message from anywhere, and it can adapt the model, slice it, match the filament, and start the print.

npx -y bambu-printer-mcp
Slicer preview of one layer of a charm tag: an outer wall, two inner walls, and diagonal sparse infill.
Outer wallInner wallSparse infill

Thank you, FULU Foundation, Louis Rossmann, and the OrcaSlicer-bambulab contributors. We stand with open-source developers, the right to repair, and your right to control hardware you own. You should be able to choose your software and print without a vendor cloud standing in the way.

Want to skip Bambu's software and cloud? Use FULU OrcaSlicer-bambulab to slice and export, then this MCP's direct LAN path on supported printers and firmware. That workflow does not require Bambu Studio, Bambu Connect, or Bambu Cloud. Start with the FULU setup guide. The optional BambuNetwork bridge is a separate path that still uses Bambu's networking runtime; cloud jobs still use Bambu's services.

Set up with your agent

Tell your agent your printer's model and LAN address, if you know them, then copy and paste this:

  1. Copy the request. It points your agent at the current setup and FULU guides.
  2. Paste it into the agent you want to connect. It uses that harness's own MCP configuration or installer and keeps your existing servers.
  3. Confirm your printer. The request tells the agent to ask only for values it can't find, and to keep your access code out of chat.
  4. Check the result. The agent confirms that the server starts, lists its tools, and reads printer status. It doesn't start a print as a test.

Prefer to do it yourself? Follow the installation guide, or install the Claude Desktop extension.

text
Install bambu-printer-mcp in the agent/harness I'm using now.

Read https://github.com/DMontgomery40/bambu-printer-mcp/blob/main/docs/SETUP.md
and https://github.com/DMontgomery40/bambu-printer-mcp/blob/main/docs/FULU.md
for the current setup instructions and supported workflows.

Detect my OS and harness, then use its native MCP configuration or installer.
Preserve my existing servers and settings. Prefer the published npm package
(npx -y bambu-printer-mcp, stdio); use Node.js 24 if a runtime is needed.

Find existing printer settings in relevant local configuration or available
LAN discovery. Confirm the detected printer's model, address, and identity
with me before connecting. Ask only for values you cannot find:
PRINTER_HOST, BAMBU_MODEL, BAMBU_SERIAL, and BAMBU_TOKEN (the LAN access code).
Keep credentials in local/private configuration; do not repeat access codes
or tokens in chat. Never guess the printer model.

Use direct LAN printing by default. Explain any LAN/Developer Mode setting
I need to enable. Prefer FULU OrcaSlicer-bambulab GUI slicing/export; discover
an existing slicer before suggesting an install. For FULU/Orca CLI auto-slicing,
require MCP 1.1.11+ and its matching installed profile tree (see guide).
A slicer is not needed here to print a pre-sliced file. Configure the optional FULU
BambuNetwork bridge only if I choose it, and explain its runtime/auth needs.
X2D supports status and slicing; native printing requires macOS and a locally built helper.

If this harness does not already provide code mode or an equivalent, suggest
a compatible code-mode integration as an optional addition. It is not required;
finish ordinary MCP setup without it unless I choose to add it.

Verify that the MCP initializes, lists its tools, and reads printer status.
Do not start a print or change printer settings as a setup test. Tell me what
worked and whether I need to restart or reload the harness.

Ask for what you want

Send a link, a photo, or a message from wherever you are. Your agent works out the steps and checks in when a choice matters. More on what to ask.

Start from anything

  • “Here's a phone stand on MakerWorld. Make it fit the new iPhone and print it in black.”

    Your agent looks up Apple's published dimensions, adjusts the stand in Blender, slices it for your printer, and finds the AMS tray with black filament.

  • “I want one of these.”

    with a photo of a planter you saw at a café

    It works out the shape and size from the photo, finds or models a matching design, and asks about anything the photo can't show.

  • “Can you print a replacement?”

    with a photo of a snapped dishwasher rack clip

    It asks for a measurement or two where the fit matters, models the part, and prints it in a loaded material that suits the job.

From anywhere, while it prints

If your agent is always on, such as OpenClaw or Hermes Agent running on a computer at home, message it from Telegram or any other chat app. For direct LAN printing, the server runs on the printer's local network; you don't have to.

  • “How's the print going? Send me a picture.”

    It reports progress and time remaining, and sends a snapshot from the chamber camera.

  • “The corner is lifting. Pause it.”

    It pauses the job so you can decide whether to resume or cancel.

  • “One of the parts came loose. Skip it and keep printing the rest.”

    It finds that object on the plate and skips only that one.

  • “Start drying the PETG so it's ready when I get home.”

    On a heated AMS, it starts the drying cycle for the unit holding that spool.

Before you print

  • “Take a picture and make sure the bed is clear, then start the bracket I sliced last night.”

    It checks the camera image before it sends the job.

  • “What's loaded in the AMS? Print this in whatever black I have.”

    It reads the live AMS inventory and matches the file's filaments to your trays.

  • “Are there any errors on the printer?”

    It reads the printer's HMS diagnostics and explains them.

Set for your exact printer

Upload paths, print commands, and slicer presets differ by model, so the server needs to know which one you have.

  • A1
  • A1 mini
  • P1P
  • P1S
  • P2S
  • X1C
  • X1E
  • H2S
  • H2D
  • H2C
  • X2D

X2D: Status and slicing; optional native printing on macOS with a locally built helper.

It stops instead of guessing

  • Set BAMBU_MODEL or pass bambu_model. Without it, print tools ask or stop with an error, because G-code for the wrong model can damage hardware.
  • A failed inspection or slice stops before upload. The unsliced project is never sent as a fallback.
  • Deleting a file on the printer requires confirm: true.
  • A successful response means the command was sent. Check status, HMS errors, and the printer itself.
Read the limitations

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