Bambu Lab MCP server — LAN-mode control over Bambu Lab 3D printers via MQTT and FTPS
概览
An MCP (Model Context Protocol) server that lets AI agents monitor and control Bambu Lab 3D printers. It is built on bambu-printer-manager and keeps one live MQTT session per printer. The same process serves a REST API and live camera streams. No Docker or container is needed. https://synman.github.io/bambu-printer-manager/bambu-mcp/, with the full MCP tool reference and REST API reference. - MCP tools for discovery, state, print control, climate, filament and AMS, nozzles, detectors, files, camera, alerts and charts. Every tool carries a title and read-only, destructive, idempotent and open-world annotations. - Write protection: every state-changing tool refuses unless called with user_permission=True, and tools that would disturb a print refuse while the printer is printing. - A REST API over the same sessions, with a Swagger UI at /api/docs. - Live camera streams for every model through the bambu-mse-stream relay: RTSPS H.
README
以下为原文 README 节选,完整内容请查看原文。
Bambu Lab MCP Server
Version: 1.0.0 · Follows Semantic Versioning
An MCP (Model Context Protocol) server that lets AI agents monitor and control Bambu Lab 3D printers. It is built on bambu-printer-manager and keeps one live MQTT session per printer. The same process serves a REST API and live camera streams. No Docker or container is needed.
Documentation: , with the full MCP tool reference and REST API reference.
Features
- MCP tools for discovery, state, print control, climate, filament and AMS, nozzles, detectors, files, camera, alerts and charts. Every tool carries a title and read-only, destructive, idempotent and open-world annotations.
- Write protection: every state-changing tool refuses unless called with
user_permission=True, and tools that would disturb a print refuse while the printer is printing. - A REST API over the same sessions, with a Swagger UI at
/api/docs. - Live camera streams for every model through the bambu-mse-stream relay: RTSPS H.264 passed through for X1, P2S and H2 series, TLS port 6000 stills encoded once for A1 and P1, played in the browser as fragmented MP4 (Media Source Extensions).
- Printer credentials encrypted at rest with AES-256-GCM, keychain-backed master key.
- 4
bambu://rules/*resources, abambu://alerts/{name}alert feed and one prompt,bambu_system_context.
Security: the REST API and camera streams listen on all network interfaces with no authentication. Run bambu-mcp only on a trusted network.
Installation
Prerequisites
- Python 3.12+
- LAN access to your printers
Setup
git clone https://github.com/synman/bambu-mcp.git
cd bambu-mcp
python3 make.py
make.py creates .venv/ inside the project and installs the package with all dependencies.
Run it again after any upstream dependency change.
Add your first printer
- Discover: call
discover_printers()to find printers on your network by SSDP. - Get access code: on the printer touchscreen, Settings, Network, Access Code.
- Add: call
add_printer(...)with the name, IP, serial and access code, anduser_permission=True. - Verify: call
get_printer_state(name="myprinter").
Client Configuration
Claude Desktop
Merge the "bambu-mcp" entry from config/claude_desktop.example.json into
~/Library/Application Support/Claude/claude_desktop_config.json, replacing ``.
GitHub Copilot CLI
Merge config/copilot_mcp.example.json into your Copilot MCP configuration.
Streamable HTTP
Run .venv/bin/python3 server.py --transport streamable-http and point the client at
http://127.0.0.1:25099/mcp. Running it as a supervised daemon: docs/operators-guide.md.
Tools
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →