Skip to main content
Glama
dylansantwani

bambu-cloud-mcp

bambu-cloud-mcp

从任何 MCP 客户端控制你的 Bambu Lab 3D 打印机——通过云端,随时随地,并在你的局域网上实时捕获舱内摄像头画面。

License: MIT Node.js MCP

一个 MCP(模型上下文协议)服务器,让 AI 助手——Claude Code、Claude Desktop 或任何 MCP 客户端——监控和操控 Bambu Lab 打印机。它通过 MQTT 与打印机通信,既可以在你的 LAN 上,也可以通过 Bambu 云代理us.mqtt.bambulab.com / cn.mqtt.bambulab.com),因此无需将打印机置于 LAN-Only 模式即可从任何地方进行状态查看和控制。它提供 31 个工具,涵盖状态、打印控制、温度、AMS/耗材、文件,以及实时 LAN 舱内摄像头快照。

为什么选择它而不是其他 Bambu MCP 服务器

大多数社区 Bambu MCP 服务器只支持 LAN 控制,或 只读 的云端状态。这个服务器做了两件它们通常做不到的事:

  • 完整的云端控制——所有命令(暂停、恢复、停止、设置温度、更换耗材、原始 G-code……)都可以通过互联网工作,因为 Bambu 云 MQTT 代理接受与本地代理相同的命令主题(device/<serial>/request)。使用你的账户登录一次,绑定的打印机就会自动连接。

  • 实时舱内摄像头——get_camera_frame 通过 LAN 从 A1 / A1 Mini / P1P / P1S 打印机获取真实的 JPEG 快照,并将其作为你的 MCP 客户端可以显示的图像返回。

摄像头仅限 LAN。 Bambu 通过专有的 P2P 系统(TUTK)隧道传输云端视频流,该系统无法在开放环境中重新实现,因此摄像头仅在你的机器与打印机处于同一网络时才能工作。状态查看和控制则可在任何地方使用。

Related MCP server: 3D Printer MCP Server

支持的打印机

  • 控制(LAN + 云端): A1、A1 Mini、P1P、P1S、X1C、X1E、H2D 及其他当前型号。

  • 摄像头(仅限 LAN): A1、A1 Mini、P1P、P1S,通过 6000 端口的舱内图像协议。X1/H2 系列改用 RTSP,尚未接入——欢迎提交 PR。

工具

全部 31 个工具,按领域分组:

云端

工具

描述

cloud_status

登录状态、账户、区域、令牌过期时间、已连接的云端打印机

sync_cloud_printers

通过云端发现并连接绑定到你账户的打印机

cloud_logout

清除已存储的云端凭据并断开云端打印机

打印机管理

工具

描述

add_printer

添加一台 LAN 打印机(IP + 访问码 + 序列号)并连接

remove_printer

从打印机列表中移除一台打印机

reconnect_printer

重新建立 MQTT 连接

list_printers

列出已配置的打印机及连接状态

状态

工具

描述

get_status

打印进度、温度、速度、AMS、灯光、阶段等

get_version

固件 / 模块版本

打印控制

工具

描述

pause_print / resume_print / stop_print

控制当前打印任务

start_print

启动 SD 卡上已有的 .3mf / .gcode 文件(打印板、AMS 映射、床型、校准选项)

start_prints

在多个打印机上并行启动同一文件

硬件

工具

描述

set_speed

打印速度(配置文件名称或百分比)

set_temperature

喷嘴 / 热床温度(带安全限制)

set_light

舱内灯 / 工作灯开或关

set_nozzle

喷嘴直径(用于切片配置文件)

AMS / 耗材

工具

描述

change_filament

从 AMS 槽位加载 / 切换耗材

unload_filament

卸载当前耗材

G-code

工具

描述

send_gcode

发送原始 G-code(部分危险命令已被阻止)

skip_objects

在多对象打印中跳过对象

文件(LAN,FTPS)

工具

描述

list_files

列出打印机 SD 卡上的文件

upload_file

上传文件到 SD 卡

download_file

从 SD 卡下载文件

delete_file

从 SD 卡删除文件

摄像头(仅限 LAN)

工具

描述

get_camera_frame

从舱内摄像头捕获实时 JPEG,以图像形式返回

set_camera_access

存储打印机的 LAN 访问码(以及可选的 IP)供摄像头使用

set_recording

切换 SD 卡录制

set_timelapse

切换延时摄影

签名

工具

描述

sign_message

为 2025 年 1 月之后要求证书认证的固件进行 X.509 消息签名

环境要求

  • Node.js 18+

  • 云端控制: 需要一个 Bambu Lab 账户(你的打印机所绑定到的账户)。无需开发者令牌——你可以通过电子邮件验证码、密码或 2FA 登录。

  • 摄像头: 你的机器与打印机处于同一 LAN,并在打印机上(设置中)启用 “LAN Mode Liveview”。这与完整的 LAN-Only 模式无关,因此 Bambu Handy 应用仍可继续使用。

安装

git clone https://github.com/dylansantwani/bambu-cloud-mcp.git
cd bambu-cloud-mcp
npm install
npm run build

这将 TypeScript 编译到 dist/。MCP 入口点是 dist/index.js

配置

将服务器注册到你的 MCP 客户端

Claude Code(用户范围——在每个项目中可用):

claude mcp add bambu -s user -- node /absolute/path/to/bambu-cloud-mcp/dist/index.js

Claude Desktop——添加到 claude_desktop_config.json

{
  "mcpServers": {
    "bambu": {
      "command": "node",
      "args": ["/absolute/path/to/bambu-cloud-mcp/dist/index.js"]
    }
  }
}

重启客户端(或开始新会话),以便它加载该服务器。

环境变量

所有变量都是可选的:

变量

用途

BAMBU_MCP_CONFIG_DIR

运行时配置和凭据的目录。默认:~/.bambu-mcp

BAMBU_APP_PRIVATE_KEY

覆盖 sign_message 使用的内置 X.509 私钥。

BAMBU_APP_CERTIFICATE

覆盖 sign_message 使用的内置 X.509 证书。

要在客户端中设置配置目录,请向服务器条目添加一个 env 块:

{
  "mcpServers": {
    "bambu": {
      "command": "node",
      "args": ["/absolute/path/to/bambu-cloud-mcp/dist/index.js"],
      "env": {
        "BAMBU_MCP_CONFIG_DIR": "/absolute/path/to/config"
      }
    }
  }
}

云端登录(用于远程控制)

在你自己的终端中运行交互式登录(它需要提示你,因此无法在 MCP 客户端内运行):

npm run login
  • 选择你的区域(默认美国)。

  • 输入你的账户电子邮件

  • 选择方法 1(电子邮件验证码)——无需密码;一次性验证码会通过电子邮件发送给你。也支持密码和 TOTP-2FA。

凭据写入 ~/.bambu-mcp/cloud.json(模式 0600)。如果你使用密码,它只会被发送到 Bambu 的登录端点——绝不会被存储。下次服务器启动时,你绑定的打印机将通过云端自动发现并连接;你也可以随时使用 sync_cloud_printers 工具触发此操作。

摄像头访问(可选,仅限 LAN)

摄像头需要每台打印机的 8 位 LAN 访问码(打印机屏幕 → 设置 → WLAN)。通过 set_camera_access 工具存储一次(或直接让你的助手来做)。打印机的 LAN IP 会从其状态中自动检测,因此你无需硬编码。然后 get_camera_frame 会返回实时快照。

使用方法

服务器注册并登录后,用自然语言与你的助手交流。示例:

  • “列出我的 Bambu 打印机并显示它们的状态。”

  • “我的 P1S 上的打印进度如何?”

  • “暂停打印机 mini-1 上的打印。”

  • “将我的 X1C 上的喷嘴温度设置为 220°C。”

  • “给我看 A1 的摄像头快照。”

  • “在我的所有打印机上启动 benchy.3mf。”

  • “卸载耗材,然后加载 2 号槽位。”

要直接添加一台仅 LAN 的打印机(无需云端账户):“在 192.168.1.50 添加一台打印机,访问码为 12345678,序列号为 01P00A123456789。”

工作原理

打印机的 mode 决定其 MQTT 客户端的连接方式:

  • LAN 模式使用用户名 bblp + 打印机的访问码连接到打印机的 IP。

  • 云端模式使用用户名 u_<uid> + 你的账户令牌连接到 us.mqtt.bambulab.com(中国为 cn.)。

命令主题(device/<serial>/request/report)在两种模式下完全相同,这就是为什么每个控制工具在云端和 LAN 上的工作方式都一样。文件操作使用 FTPS(basic-ftp),舱内摄像头直接使用打印机的 TLS 6000 端口图像协议(camera-client.ts)。

src/
  index.ts            MCP server entry; registers tools, auto-connects on startup
  fleet-manager.ts    Multi-printer connection manager (LAN + cloud branches)
  mqtt-client.ts      Bambu MQTT protocol (status + all control commands)
  bambu-cloud.ts      Cloud API: login, email-code/2FA, device discovery, refresh
  cloud-store.ts      ~/.bambu-mcp/cloud.json credential store
  login-cli.ts        Interactive `npm run login`
  camera-client.ts    LAN chamber-image capture (TLS port 6000 → JPEG)
  camera-store.ts     ~/.bambu-mcp/cameras.json access-code store
  ftp-client.ts       FTPS file operations
  tools/              One file per tool group

所有凭据都本地保存在 ~/.bambu-mcp/cloud.jsoncameras.jsonprinters.json),以 0600 权限写入并被 git 忽略。除 Bambu 自己的 API 和 MQTT 代理外,不会向任何地方发送任何内容。

故障排除

  • 云端登录 403 — Bambu 的 API 位于 Cloudflare 之后;稍等片刻后重试。

  • sync_cloud_printers 返回 0 台打印机 — 你登录的账户没有绑定打印机。请使用你的 Bambu Handy 应用所用的账户登录。

  • 摄像头 ECONNREFUSED — 该打印机未启用 “LAN Mode Liveview”,或打印机离线(IP 会从状态中自动检测)。

  • 摄像头超时 — 你的机器与打印机不在同一网络。摄像头仅限 LAN。

  • LAN 上的 connack timeout / ECONNRESET — Bambu 打印机只允许一个本地 MQTT 客户端;关闭 BambuStudio / OrcaSlicer / Home Assistant 后重试。

贡献

欢迎贡献——有关开发环境设置、构建步骤和 Conventional Commits 约定,请参阅 CONTRIBUTING.md。如果你使用 AI 编码代理,AGENTS.md 中有仓库特定的说明。

致谢

  • 局域网控制基础: griches/bambu-mcp — 本项目派生并基于其构建的原始 MQTT 控制层和本地工具集。

  • 云控制、免密登录和局域网摄像头采集 是本分支中新增的原创功能。

  • 云协议细节参考了 ha-bambulab / pybambu;摄像头协议依据社区逆向工程,记录于 Bambu Lab 论坛

许可证

MIT。上游基础(griches/bambu-mcp)未发布明确的许可证;本分支显著标注其出处,并对新增原创内容采用 MIT 许可证。如果您是上游作者,希望采用不同的处理方式,请提交 issue。

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

  • Connect MCP clients to 2,000+ AI models without managing provider API keys.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dylansantwani/bambu-cloud-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server