使用说明
班布MCP
A. 模型上下文协议 用于控制Bambu Lab 3D打印机的(MCP)服务器。通过任何兼容MCP的AI助手管理一台打印机或整个打印机组。
特性
- 多打印机机群管理 --针对特定打印机、所有打印机,或仅配置一台时自动选择
- 完全打印控制 --开始、暂停、恢复、停止打印和在打印过程中跳过对象。自动检测多版3MF文件中的正确印版
- 文件管理 --通过FTP列出、上传、下载和删除文件
- 硬件控制 --灯光、温度、速度曲线、喷嘴配置
- AMS支持 --更换灯丝托盘,卸载灯丝
- 相机 --启用/禁用录制和延时
- 原始G代码 --发送带有安全限制的自定义命令
- 持久配置 --打印机凭据已保存到
~/.bambu-mcp/printers.json
支持的打印机
测试方法:
- 班布实验室P1S
- 班布实验室H2D
- 班布实验室A1迷你
应适用于任何支持局域网MQTT的Bambu Lab打印机(X1C、X1、P1P、A1等)。
打印机设置
在使用此MCP服务器之前,必须将每台打印机配置为本地访问:
-
启用仅局域网模式 --在打印机的触摸屏上,转到 设置>网络 并切换到 仅局域网模式。这是本地MQTT命令(包括启动打印)工作所必需的。云模式会阻止本地打印命令。
-
启用开发者模式 --在打印机的触摸屏上,转到 设置>网络>仅局域网模式 并启用 开发者模式。这允许第三方工具通过本地网络发送命令。
-
记下访问代码 --启用仅局域网/开发人员模式后 访问代码 将显示在打印机屏幕上。你需要这个来连接。
注: 启用仅局域网模式意味着您将失去云功能(通过Bambu Handy应用程序进行远程监控、云打印)。所有控制必须在本地完成。
系统要求
- Node.js 18+
- Bambu Lab打印机位于同一本地网络上
- 打印机输入 仅局域网模式 随着 开发者模式 启用
- 打印机 访问码 和 序列号 (在打印机设置>WLAN/设备中找到)
安装
npx快速入门
npx @griches/bambu-mcp
克劳德代码
claude mcp add bambu -- npx @griches/bambu-mcp
克劳德桌面版
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"bambu": {
"command": "npx",
"args": ["@griches/bambu-mcp"]
}
}
}
从源代码构建
git clone https://github.com/griches/bambu-mcp.git
cd bambu-mcp
npm install
npm run build
然后使用绝对路径进行配置:
{
"mcpServers": {
"bambu": {
"command": "node",
"args": ["/absolute/path/to/bambu-mcp/dist/index.js"]
}
}
}
添加打印机
服务器运行后,使用添加打印机 add_printer 工具。您需要从每台打印机获得以下内容:
- IP地址 --在打印机的触摸屏上的“设置”>“WLAN”下,或Bambu Studio的“设备”选项卡中找到
- 访问代码 --在触摸屏上的“设置”>“WLAN”下,或Bambu Studio的“设备”选项卡中找到
- 序列号 --在触摸屏上的“设置”>“设备”下,或Bambu Studio的“设备”选项卡中找到
示例(通过AI助手):
“将我的P1S添加到192.168.0.136,访问代码为30430928,序列号为01P00A3B0900744”
打印机配置保存到 ~/.bambu-mcp/printers.json 并在服务器重启时自动重新连接。
工具
管理
| 工具 | 说明 |
|---|---|
add_printer |
将打印机添加到打印机组(IP、访问代码、序列号) |
remove_printer |
卸下打印机并断开连接 |
reconnect_printer |
网络更改后重新连接打印机(或全部) |
list_printers |
列出所有已配置的打印机及其连接状态 |
状态
| 工具 | 说明 |
|---|---|
get_status |
获取打印机状态——打印进度、温度、速度、AMS、灯光 |
get_version |
获取固件和模块版本信息 |
打印控制
| 工具 | 说明 |
|---|---|
start_print |
开始从打印机的SD卡打印文件。自动检测3MF文件的车牌号 |
pause_print |
暂停当前打印 |
resume_print |
恢复暂停的打印 |
stop_print |
取消当前打印 |
skip_objects |
跳过多对象打印中的特定对象 |
硬件
| 工具 | 说明 |
|---|---|
set_speed |
设置打印速度--静音、标准、运动、滑稽或自定义% |
set_light |
控制室和工作灯 |
set_temperature |
设置喷嘴或床温(有安全限制) |
set_nozzle |
设置喷嘴直径以选择轮廓 |
文件管理
| 工具 | 说明 |
|---|---|
list_files |
列出打印机SD卡上的文件 |
upload_file |
将.3mf或.gcode文件上传到打印机 |
download_file |
从打印机下载文件 |
delete_file |
从打印机中删除文件 |
相机
| 工具 | 说明 |
|---|---|
set_recording |
启用或禁用摄像头录制 |
set_timelapse |
启用或禁用延时录像 |
AMS/长丝
| 工具 | 说明 |
|---|---|
change_filament |
更换为不同的AMS灯丝托盘 |
unload_filament |
从挤出机中卸下长丝 |
G代码
| 工具 | 说明 |
|---|---|
send_gcode |
发送原始G代码命令(出于安全考虑,危险命令被阻止) |
安全
| 工具 | 说明 |
|---|---|
sign_message |
使用Bambu Lab X.509证书对消息进行签名 |
打印机定位
每个打印机定位工具都接受一个可选 printer 参数:
- 特定打印机 --使用打印机ID(例如。
"p1s-alpha") - 所有打印机 --使用
"all"在每个连接的打印机上并行运行该命令 - 自动选择 --省略该参数,如果只配置了一台打印机,它将自动选择
连接详情
此服务器使用以下方式与打印机通信:
- 消息队列遥测传输 (端口8883,TLS)-用于命令和状态更新
- 文件传输协议 (端口990,隐式FTPS)——用于文件操作
打印机必须处于 仅局域网模式 随着 开发者模式 启用。看 打印机设置 上面。
X.509证书身份验证
2025年1月后的固件需要基于证书的身份验证才能进行本地访问。默认情况下,此服务器包含从Bambu Connect桌面应用程序中公开提取的X.509证书。
要使用自己的证书进行覆盖,请设置以下环境变量:
export BAMBU_APP_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
export BAMBU_APP_CERTIFICATE="-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
许可证
麻省理工学院