Elegoo Mcp Server
About
Control Elegoo 3D printers (Centauri Carbon) via SDCP. Monitor status, pause/resume prints, manage files, control lights. 100% local.
Details
- Author
- skribascode
- Downloads
- 209
- Categories
- Other
Jump to
- Multi-printer management (add, remove, switch, set default)
- Connect/disconnect via WebSocket
- Get full status (temperatures, position, print progress)
- Pause, resume, and stop print jobs
- Start printing files already on the printer
- On/off light control
- List files with thumbnails for printed files
- Live camera stream (MJPEG URL)
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Elegoo Mcp ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install the server via npx (npx elegoo-mcp-server), global npm (npm install -g elegoo-mcp-server), or by cloning the source. Configure your MCP client (e.g., Claude Desktop) by adding the server to its config file, then restart the client. Say “Connect to my Elegoo printer” and provide the printer’s IP address—the printer is saved for future sessions. Use natural language commands to control the printer.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"elegoo mcp server": {
"elegoo": {
"command": "npx",
"args": [
"elegoo-mcp-server"
]
}
}
}
}
McpServers
{
"elegoo": {
"command": "npx",
"args": [
"elegoo-mcp-server"
]
}
}
Elegoo MCP Server
A local MCP (Model Context Protocol) server for controlling Elegoo 3D printers via the SDCP protocol.
100% local - no cloud dependencies.
> ⚠️ Your computer and printer must be on the same local network (WiFi or Ethernet).
Tested with Elegoo Centauri Carbon and Claude Desktop. Should work with any MCP-compatible client (VS Code, Cursor, etc.).
Features
| Feature | Supported | Notes |
|---------|-----------|-------|
| Multi-printer management | ✓ | Add, remove, switch between printers |
| Connect/Disconnect | ✓ | WebSocket connection |
| Get Status | ✓ | Temperatures, position, print progress |
| Pause/Resume/Stop Print | ✓ | |
| Start Print | ✓ | From files on printer |
| Light Control | ✓ | On/Off |
| List Files | ✓ | With thumbnails for printed files |
| Camera Stream | ✓ | Live MJPEG URL |
| Temperature Control | ✗ | Not supported via SDCP |
| Fan Control | ✗ | Not supported via SDCP |
| Speed Control | ✗ | Not supported via SDCP |
| Movement/Homing | ✗ | Not supported via SDCP |
| Delete Files | ✗ | Not supported via SDCP |
Features marked ✗ must be controlled via the printer touchscreen.
Prerequisites
- Node.js 18+
- Elegoo Centauri Carbon (or compatible SDCP printer)
- Printer on same local network
Installation
Option 1: npx (Recommended)
No installation needed! Just configure Claude Desktop directly.
Option 2: Global install
npm install -g elegoo-mcp-server
Option 3: From source
git clone https://github.com/skribascode/elegoo-mcp-server.git
cd elegoo-mcp-server
npm install
npm run build
Configuration for Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using npx (recommended)
{
"mcpServers": {
"elegoo": {
"command": "npx",
"args": ["elegoo-mcp-server"]
}
}
}
Using global install
{
"mcpServers": {
"elegoo": {
"command": "elegoo-mcp-server"
}
}
}
Using local clone
{
"mcpServers": {
"elegoo": {
"command": "node",
"args": ["/path/to/elegoo-mcp-server/dist/index.js"]
}
}
}
Restart Claude Desktop after saving.
Quick Start
1. Install the MCP (see above)
2. Restart Claude Desktop
3. Say: "Connect to my Elegoo printer"
4. Claude will ask for your printer's IP address
5. Done! Your printer is saved for future sessions.
Usage Examples
"What's the printer status?"
"Pause the print"
"Resume printing"
"Turn on the light"
"Show me the files on the printer"
"Start printing benchy.gcode"
"Show me the camera"
Available Tools
Startup
| Tool | Description | |------|-------------| |elegoo_start | Initialize and connect to default printer |
| elegoo_setup | Configure a new printer |
| elegoo_select | Switch between saved printers |
Configuration
| Tool | Description | |------|-------------| |elegoo_add_printer | Add a printer |
| elegoo_remove_printer | Remove a printer |
| elegoo_list_printers | List saved printers |
| elegoo_set_default | Set default printer |
| elegoo_update_printer | Update printer settings |
Printer Control
| Tool | Description | |------|-------------| |elegoo_connect | Connect to printer |
| elegoo_disconnect | Disconnect |
| elegoo_status | Get full status (temps, position, progress) |
| elegoo_wake | Wake up sleeping printer |
| elegoo_pause | Pause print |
| elegoo_resume | Resume print |
| elegoo_stop | Cancel print |
| elegoo_start_print | Start a print job |
| elegoo_set_light | Turn light on/off |
| elegoo_list_files | List files / print history (files with ✓ = already printed) |
| elegoo_view_file | View file thumbnail (printed files only) |
| elegoo_camera | Get camera stream URL |
Protocol
This server implements SDCP (Smart Device Control Protocol) v3.0.0.
- Connection: WebSocket at ws://{IP}:3030/websocket
- Config storage: ~/.elegoo/config.json
Known Issues
- Firmware v1.1.29: Light control may not work during printing. Firmware v1.1.25 works correctly.
Author
Made by @skribascode in vibe coding ;-)
Credits
- SDCP documentation: OpenCentauri
- Protocol reference: sdcp-centauri-carbon
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



