Bambu Lab P1P MCP服务器
MCP(模型上下文协议)服务器,使Claude Desktop能够通过MQTT与您的Bambu Lab P1P 3D打印机进行交互。直接通过Claude控制打印机、检查状态和管理打印!
特性
- 获取打印机状态:检查打印进度、温度和打印机状态
- 控制打印:暂停、恢复或停止活动打印
- 调速:在静音、标准、运动和Ludicrous模式之间更改打印速度
- 实时更新:通过MQTT监视打印机状态
先决条件
- Python 3.10或更高版本
- 本地网络上的Bambu Lab P1P打印机
- 打印机访问代码(来自打印机设置)
获取打印机信息
您需要P1P中的三条信息:
- 打印机IP地址:在路由器的DHCP客户端列表或打印机设置中找到此项
- 访问码:
- 在打印机屏幕上:设置→ 网络→ 局域网模式 - 启用LAN模式(如果尚未启用) - 注意8个字符的访问代码
- 序列号:
- 在打印机屏幕上找到:设置→ 设备 - 格式: 01P00AXXXXXXXXX
安装
- 克隆或下载这些文件 到计算机上的某个目录
- 安装Python依赖项:
pip install -r requirements.txt- 设置环境变量.创建一个
.env在shell中文件或设置这些:
export BAMBU_PRINTER_IP="192.168.1.100" # Your printer's IP
export BAMBU_ACCESS_CODE="12345678" # Your 8-char access code
export BAMBU_SERIAL_NUMBER="01P00A123456789" # Your printer serial number- 测试服务器 (可选):
python bambu_lab_mcp.py --helpClaude桌面配置
将此添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bambu-lab": {
"command": "python",
"args": ["/absolute/path/to/bambu_lab_mcp.py"],
"env": {
"BAMBU_PRINTER_IP": "192.168.1.100",
"BAMBU_ACCESS_CODE": "12345678",
"BAMBU_SERIAL_NUMBER": "01P00A123456789"
}
}
}
}重要:替换 /absolute/path/to/bambu_lab_mcp.py 保存文件的完整路径。
用法示例
配置后,您可以向Claude询问以下问题:
- “我的3D打印机的状态如何?”
- “我的打印完成了吗?”
- “暂停当前打印”
- “恢复打印”
- “将打印速度设置为运动模式”
- “喷嘴的温度是多少?”
- “打印还剩多少时间?”
可用工具
bambu_get_status
获取当前打印机状态,包括:
- 打印状态(空闲、打印、暂停等)
- 进度百分比和剩余时间
- 喷嘴和床层温度
- 当前文件名和图层信息
- 速度设置和风扇速度
选项:
detailed:请求完整状态更新(需要2-3秒)response_format:选择“markdown”(默认)或“json”输出
bambu_control_print
控制活动打印:
pause:暂停当前打印resume:恢复暂停的打印stop:取消打印(⚠️ 无法撤消)
bambu_set_speed
打印时更改打印速度:
- 级别1:静音(最安静、最慢)
- 级别2:标准(默认,平衡)
- 第三级:运动(速度快,质量好)
- 4级:Ludicrous(最高速度)
故障排除
“无法连接到打印机”
- 验证打印机是否已通电并连接到Wi-Fi
- 检查打印机IP地址是否正确
- 确保打印机上启用了LAN模式
- 验证访问代码是否正确(区分大小写)
“缺少必需的环境变量”
- 仔细检查所有三个环境变量是否已设置
- 验证变量名是否完全匹配(区分大小写)
- 确保值不是空字符串
MCP服务器未在Claude中显示
- 验证中的路径
claude_desktop_config.json是绝对的,不是相对的 - 配置更改后重新启动Claude Desktop
- 检查Claude Desktop日志中的错误消息
macOS/Linux上的权限被拒绝
- 确保Python文件可读:
chmod +r bambu_lab_mcp.py - 验证Python是否已安装并可从命令行访问
安全说明
- 访问代码授予您对打印机的完全控制权,确保其安全
- 此服务器仅通过本地网络连接到您的打印机
- 没有数据发送到外部服务器
- MQTT连接使用TLS加密
局限性
- 每个服务器实例仅支持一台打印机
- 无法将新文件上传到打印机(请使用Bambu Studio/Handy)
- 无法访问摄像头馈送
- P1P特异性(可能适用于P1S/X1C,但未经测试)
贡献
请随时提交问题或拉取请求以改进此MCP服务器!
许可证
MIT许可证-可根据需要自由使用和修改。
致谢
- 使用 模型上下文协议
- 基于社区逆向工程的MQTT集成
- 感谢Bambu实验室社区提供API文档
