内容
# Elegoo MCP 服务器
用于通过 SDCP 协议控制 Elegoo 3D 打印机的本地 MCP(模型上下文协议)服务器。
**100% 本地 - 无云依赖。**
> ⚠️ 您的计算机和打印机必须在同一个本地网络上(WiFi 或以太网)。
已在 **Elegoo Centauri Carbon** 和 **Claude Desktop** 上测试通过。应该适用于任何支持 MCP 的客户端(VS Code、Cursor 等)。
## 功能
| 功能 | 支持 | 备注 |
|---------|-----------|-------|
| 多打印机管理 | ✓ | 添加、删除、切换打印机 |
| 连接/断开连接 | ✓ | WebSocket 连接 |
| 获取状态 | ✓ | 温度、位置、打印进度 |
| 暂停/恢复/停止打印 | ✓ | |
| 开始打印 | ✓ | 从打印机上的文件 |
| 灯光控制 | ✓ | 开/关 |
| 列出文件 | ✓ | 带有已打印文件缩略图 |
| 摄像头流 | ✓ | 直播 MJPEG URL |
| 温度控制 | ✗ | 不支持通过 SDCP |
| 风扇控制 | ✗ | 不支持通过 SDCP |
| 速度控制 | ✗ | 不支持通过 SDCP |
| 移动/归位 | ✗ | 不支持通过 SDCP |
| 删除文件 | ✗ | 不支持通过 SDCP |
标记为 ✗ 的功能必须通过打印机触摸屏控制。
## 先决条件
- Node.js 18+
- Elegoo Centauri Carbon(或兼容的 SDCP 打印机)
- 打印机在同一本地网络上
## 安装
### 选项 1:npx(推荐)
无需安装!直接配置 Claude Desktop。
### 选项 2:全局安装
```bash
npm install -g elegoo-mcp-server
```
### 选项 3:从源代码
```bash
git clone https://github.com/skribascode/elegoo-mcp-server.git
cd elegoo-mcp-server
npm install
npm run build
```
## 配置 Claude Desktop
将以下内容添加到您的 Claude Desktop 配置文件中:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
### 使用 npx(推荐)
```json
{
"mcpServers": {
"elegoo": {
"command": "npx",
"args": ["elegoo-mcp-server"]
}
}
}
```
### 使用全局安装
```json
{
"mcpServers": {
"elegoo": {
"command": "elegoo-mcp-server"
}
}
}
```
### 使用本地克隆
```json
{
"mcpServers": {
"elegoo": {
"command": "node",
"args": ["/path/to/elegoo-mcp-server/dist/index.js"]
}
}
}
```
重启 Claude Desktop 后生效。
## 快速入门
1. 安装 MCP(参见上文)
2. 重启 Claude Desktop
3. 说: *"连接到我的 Elegoo 打印机"*
4. Claude 将询问您的打印机的 IP 地址
5. 完成!您的打印机已保存以供未来会话使用。
## 使用示例
```
"打印机的状态是什么?"
"暂停打印"
"恢复打印"
"打开灯光"
"显示打印机上的文件"
"开始打印 benchy.gcode"
"显示摄像头"
```
## 可用工具
### 启动
| 工具 | 描述 |
|------|-------------|
| `elegoo_start` | 初始化并连接到默认打印机 |
| `elegoo_setup` | 配置新打印机 |
| `elegoo_select` | 在已保存的打印机之间切换 |
### 配置
| 工具 | 描述 |
|------|-------------|
| `elegoo_add_printer` | 添加打印机 |
| `elegoo_remove_printer` | 删除打印机 |
| `elegoo_list_printers` | 列出已保存的打印机 |
| `elegoo_set_default` | 设置默认打印机 |
| `elegoo_update_printer` | 更新打印机设置 |
### 打印机控制
| 工具 | 描述 |
|------|-------------|
| `elegoo_connect` | 连接到打印机 |
| `elegoo_disconnect` | 断开连接 |
| `elegoo_status` | 获取完整状态(温度、位置、进度) |
| `elegoo_wake` | 唤醒睡眠打印机 |
| `elegoo_pause` | 暂停打印 |
| `elegoo_resume` | 恢复打印 |
| `elegoo_stop` | 取消打印 |
| `elegoo_start_print` | 开始打印作业 |
| `elegoo_set_light` | 打开/关闭灯光 |
| `elegoo_list_files` | 列出文件/打印历史(✓ = 已打印文件) |
| `elegoo_view_file` | 查看文件缩略图(仅限已打印文件) |
| `elegoo_camera` | 获取摄像头流 URL |
## 协议
该服务器实现了 SDCP(智能设备控制协议)v3.0.0。
- **连接:** `ws://{IP}:3030/websocket`
- **配置存储:** `~/.elegoo/config.json`
## 已知问题
- **固件 v1.1.29:** 打印过程中灯光控制可能无法正常工作。固件 v1.1.25 工作正常。
## 作者
由 [@skribascode](https://github.com/skribascode) 在 vibe 编码 ;-)
## 致谢
- SDCP 文档: [OpenCentauri](https://docs.opencentauri.cc/)
- 协议参考: [sdcp-centauri-carbon](https://github.com/WalkerFrederick/sdcp-centauri-carbon)
## 许可证
MIT