
Bambu Studio (unofficial)
io.github.danielefinocchiaroPublished by GitHub account danielefinocchiarov0.3.0Updated Oct 29, 2026
Build, edit, slice, check and calibrate Bambu Studio projects; read a Bambu Lab printer's status.
Overview
Unofficial MCP server that drives your installed Bambu Studio to build, edit, slice and calibrate 3D print projects, and reads a Bambu Lab printer's status on…
- What you can do
- Create, open, edit and save Bambu Studio projects: import STL, OBJ and 3MF, add shapes and text, move, scale, mirror, split, merge and boolean objects
- Arrange plates, cut objects with connectors, add modifiers, height ranges, painting, brim ears and per-object settings
- Slice through the Bambu Studio command line and read time, grams, cost, filament changes and warnings per plate
- Render plate and sliced-layer previews, measure objects and clearances, and check print risks
- Run calibration tests and save results as Bambu Studio filament, process and printer presets
- Read printer status, camera snapshots and SD card files, and hand a print file over to Bambu Studio or Bambu Connect
- When to use it
- Useful when you already use Bambu Studio and want an assistant to prepare, modify, arrange, slice and sanity-check 3D print projects, calibrate filaments, or report on a running print without clicking through the slicer yourself.
- Requirements
- Runs locally over stdio via uvx, so it needs uv and an installed Bambu Studio (2.8 tested); Python 3.10+ is fetched by uvx if missing. Optional variables: BAMBU_PRINTER_IP, BAMBU_STUDIO_EXE, UBMCP_DIR, plus BAMBU_PRINTER_SERIAL and BAMBU_PRINTER_ACCESS_CODE. Printer status needs the printer on the local network. Desktop only; the ChatGPT app cannot connect.
Installation
In SourceWeft
- Open Bambu Studio (unofficial) in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
unofficial-bambu-mcp
[ci] [pypi] [python] [license]
Unofficial community project. Not affiliated with, endorsed by or supported by Bambu Lab. "Bambu Lab", "Bambu Studio", "Bambu Connect" and "Bambu Handy" are trademarks of their respective owners.
An MCP server that lets an AI assistant (Claude Code, Claude Desktop or any MCP client) build, edit, slice, check and calibrate Bambu Studio projects, using the official Bambu Studio you already have installed, and read your printer's status on the local network.
You talk, it does the slicer work:
- "New P1S project: a 20 mm cube and the text 'DANI' in white on a black 2 mm tag."
- "Open
~/Downloads/Gnome 3 Color.3mf, add a plate with two more gnomes, then convert it for the A1 mini." - "I have eSUN PLA Basic in AMS slot 2: make a preset for it and the test prints to calibrate it."
- "Before I start this 20-hour plate: which parts are likely to come off?"
- "A pin came off at layer 4 and I skipped it: make me a project to reprint just that pin, with a brim."
- "How is the print going? Which spool is it feeding from?"
A real session, sped up: every tool call, result and image comes from the server through MCP; only the requests are written for the demo (scripts/make_demo.py).
What it can do
All 87 tools with their parameters: docs/TOOLS.md.
Tested on
Real hardware: macOS, Bambu Studio 2.8.2, a P1S with two AMS units, in normal cloud mode:
- every tool through a real MCP client, on projects made from scratch and on MakerWorld / Printables downloads (painted 6-color models, multi-part assemblies, 3-plate projects, files from Bambu Studio 1.6 and 1.7);
- printed: temperature towers and flow tests for two third-party filaments (eSUN PLA Basic black and white), whose presets were made and tuned through the server; the print hand-off to Bambu Studio; live status during prints.
The pressure advance tower, the max volumetric speed test and the retraction test are checked by slicing (the G-code is inspected) but have not been printed yet.
Windows and Linux: on every change to main, CI installs Bambu Studio 2.8.2 (the portable zip on Windows, the
AppImage on Debian 13) and runs the whole test suite, slicing and print files included, plus a smoke run. Unit tests
run on Windows, macOS and Linux with Python 3.10 and 3.13. On Linux the AppImage takes FFmpeg 7 and WebKitGTK 4.1
from the system (Debian 13, Ubuntu 24.10 or newer); set BAMBU_STUDIO_EXE if Bambu Studio is somewhere else.
Printers: all 14 Bambu Lab printers of Bambu Studio 2.8 go through the MCP from a new project to a print file (A1 mini, A1, A2L, P1P, P1S, P2S, X1, X1 Carbon, X1E, H2S, H2C, H2D, H2D Pro, X2D); only the P1S has printed. The Developer Mode tools were checked against a printer in cloud mode (refused, with the right answer) but never started a print on one in Developer Mode.
Printing and your printer
Bambu firmware (2025 and later) accepts commands from other programs only when the printer is in LAN-only mode with Developer Mode on, which turns off the cloud and Bambu Handy. In normal cloud mode it refuses them, so this server:
- reads the printer status (allowed in cloud mode), with the LAN access code Bambu Studio already saved;
- hands the print over to Bambu Studio or Bambu Connect, where you press Print;
- does not start prints, set AMS slots or skip objects in cloud mode: you do that in Bambu Studio, Bambu Handy or on the printer. For printers in LAN-only mode with Developer Mode (print farms) it can, always after you confirm with the code it gives (see the Developer Mode row above).
More in docs/printing.md.
Quick start
Requirements: uv and Bambu Studio. The package comes from
PyPI: uvx downloads it the first time (and Python 3.10+ if you
do not have it), so there is nothing to clone or install by hand.
It is a standard MCP server (stdio), so any MCP client that runs local servers can use it. It was developed and tested with Claude Code; the other clients below take the same command in their own config file.
Claude Code
Claude Desktop (claude_desktop_config.json), Cursor (~/.cursor/mcp.json), Windsurf
(~/.codeium/windsurf/mcp_config.json), Gemini CLI (~/.gemini/settings.json):
OpenAI Codex CLI (~/.codex/config.toml):
VS Code (GitHub Copilot agent mode, .vscode/mcp.json):
- If a desktop app cannot find
uvx(spawn uvx ENOENT), put its full path as the command:which uvxprints it. uvxkeeps the version it downloaded: writeunofficial-bambu-mcp@latestinstead to get new releases.- From a clone (for development):
uv run --directory /path/to/unofficial-bambu-mcp unofficial-bambu-mcp. - The ChatGPT app only connects to remote MCP servers, and this one has to run on the computer with Bambu Studio.
Then ask: "What version of Bambu Studio do I have, and which printers can you use?"
Configuration (optional)
How it works
Bambu Studio has no plugin or scripting API. This server works on the project file (.3mf, the format Bambu Studio saves) and calls the Bambu Studio command line to slice. Presets are read from your installation and flattened the way the app does. Details in docs/how-it-works.md.
- In sync with the app.
open_in_bambu_studioshows a project in the app; if you change it there and save, the server re-reads it on the next command (and tells you if both sides changed). - Safe with your files. Nothing is ever overwritten: saving adds
-2,-3... and opened files are read as a copy. Changing, renaming or deleting one of your presets keeps a backup copy first. - Light. numpy, shapely, manifold3d, fonttools and Pillow. No Bambu profile is shipped with this repository: presets come from your installation (the server only carries default values for settings that presets leave out).
- Your printer, your call. The LAN access code is read from Bambu Studio when needed and never copied anywhere. See SECURITY.md.
Guides
- Calibrating a filament, step by step, with what to look at on each test print
- Printing and printer status
- Troubleshooting
- How it works
- Driving a closed slicer from an AI assistant: a technical write-up of the design and the tests
Limitations
- Two-nozzle printers (H2D, H2C, X2D): filaments go to a nozzle automatically, as in Bambu Studio's default; choosing the nozzle of each filament by hand is not there yet.
- The printer camera works with P1 and A1 printers (X1 and H2 stream over RTSP, not supported yet).
- First-layer tests do not keep painted colors.
- Bambu Studio re-slices a project when it opens it; to see a plate sliced and ready to print in the app, use
send_to_printer.
Roadmap
- Mesh simplification and repair; the nozzle of each filament on two-nozzle printers; X1/H2 camera
- A live bridge inside the slicer, to be proposed to OrcaSlicer and Bambu Studio
Contributing and support
Bug reports, ideas and pull requests: GitHub Issues. Include your OS, Bambu Studio version, printer and, if you can, the .3mf that fails. See CONTRIBUTING.md.
Author: Daniele Finocchiaro — danielefinocchiaro.com. If it saves you prints and time: buy me a coffee.
License
MIT for this code. Bambu Studio profiles are read from your installation and are not redistributed.
Source: README.md at commit 25fe8a7
Tools
0Version history
1- v0.3.0LatestOct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts