Elegoo Mcp Server
@skribascode
About Elegoo Mcp Server
Control Elegoo 3D printers (Centauri Carbon) via SDCP. Monitor status, pause/resume prints, manage files, control lights. 100% local.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"elegoo": {
"command": "npx",
"args": [
"elegoo-mcp-server"
]
}
}
}Tools
20Initialize Elegoo MCP and show welcome message. Call this when user wants to start using Elegoo MCP (e.g., "start elegoo", "launch printer"). Returns: - If no printers: Prompts to add a printer with elegoo_setup - If 1 printer: Connects automatically - If multiple printers: Lists all printers and asks user to choose with elegoo_select IMPORTANT: When multiple printers are available, you MUST ask the user which one to use before proceeding. Do NOT auto-connect to default. This is the main entry point for the Elegoo MCP experience.
Setup a new printer for first-time use or add another printer. Call this when: - No printers are configured yet - User wants to add a new printer - User provides an IP address for a new printer Args: - ip: Local IP address of the printer - name: Friendly name (default: "Elegoo Printer") - port: WebSocket port (default: 3030) Returns connection status and welcome message.
Select and connect to a saved printer. Use when user wants to switch between multiple saved printers. Args: - identifier: Printer name, IP, or ID Returns connection status.
Add a new Elegoo printer to your saved configuration. This saves the printer so you don't need to enter the IP each time. The configuration is stored in ~/.elegoo/config.json Args: - name: Friendly name for the printer - ip: Local IP address of the printer - port: WebSocket port (default: 3030) - setAsDefault: Set as default printer (default: true) Returns: The saved printer entry.
Remove a printer from your saved configuration. Args: - identifier: Printer ID, name, or IP address Returns: Success status.
List all saved printers in your configuration. Returns: All configured printers with their details.
Set which printer to use by default when connecting. Args: - identifier: Printer ID, name, or IP address Returns: Success status.
Update a saved printer's configuration (name, IP, or port). Args: - identifier: Printer ID, name, or IP address to update - name: New name (optional) - ip: New IP address (optional) - port: New port (optional) Returns: Updated printer configuration.
Connect to an Elegoo printer via SDCP WebSocket protocol. If no IP is provided, connects to the default saved printer. New printers are automatically saved to config for future use. Args: - ip (string, optional): IP address. If not provided, uses default printer. - port (number): WebSocket port, default 3030 - name (string, optional): Friendly name for the printer - save (boolean): Save to config for future use (default: true) Returns: Connection status and printer info. Examples: - Connect to default printer: elegoo_connect() - Connect to specific IP: elegoo_connect(ip: "192.168.1.138") - Connect and save: elegoo_connect(ip: "192.168.1.138", name: "Centauri Carbon")
Disconnect from the currently connected Elegoo printer.
Get detailed status of the connected Elegoo printer. Returns current temperatures, print progress, position, fan speeds, and more. The printer must be connected first using elegoo_connect. Returns: - machineStatus: Current machine state (Idle, Printing, etc.) - printStatus: Current print state - temperatures: Nozzle, bed, and chamber temps (current and target) - position: Current X, Y, Z coordinates - fans: Speed of model, auxiliary, and chamber fans - printInfo: If printing - filename, progress, layers, time remaining
Attempt to wake up a sleeping/idle printer. Tries multiple methods to wake the printer: 1. Request attributes 2. Request status 3. Toggle light on/off Use this if the printer is connected but not responding to status requests. The printer must be connected first using elegoo_connect. Returns: - success: Whether wake-up succeeded - method: Which method worked - status: Current printer status after wake
Pause the current print job. Can be resumed with elegoo_resume.
Resume a paused print job.
Stop the current print job. WARNING: This cannot be undone - the print will be cancelled.
Start printing a file that's already on the printer. Args: - filename: Name of the gcode file (e.g., "model.gcode" or full path "/local/model.gcode") - startLayer: Layer to start from (default: 0) - calibration: Run calibration before printing (default: false) - timelapse: Enable timelapse recording (default: false)
Turn the printer light on or off.
List gcode files stored on the printer. This also serves as the PRINT HISTORY - files with thumbnails (✓) have been printed before. Use this command when user asks for: - List of files on the printer - Print history / historique des impressions - What has been printed before IMPORTANT - Display format: When showing results to the user, display each file on one line with: - A status icon at the start: "✓" if thumbnailUrl is present (already printed), "○" if not (never printed) - File name and estimated time - If thumbnailUrl is present: add a clickable link "[Preview]" at the end When user clicks "[Preview]", call elegoo_view_file with that filename. Example output format: 1. ✓ tripod-lou (PETG) - 2h22m [Preview] 2. ○ Flower Embrace (PLA) - 9m36s 3. ✓ 3DBenchy (PLA) - 15m29s [Preview]
Open the 3D preview/thumbnail of a gcode file in the browser. IMPORTANT: Only works for files that have been printed before (those with ✓ icon). Files that have never been printed (○ icon) do not have a preview available. Use this when the user wants to see or preview a gcode file from the printer. The thumbnail image will open in the default browser. Args: - filename: Name of the gcode file (e.g., "model.gcode")
Get the camera stream URL from the printer. Returns the URL to access the live camera feed. The URL can be opened in a browser or used in video players like VLC.
Overview
What is Elegoo Mcp Server?
A local MCP (Model Context Protocol) server that controls Elegoo 3D printers over your local network using the SDCP protocol. It runs entirely on your machine with no cloud dependencies and works with any MCP-compatible client, such as Claude Desktop, VS Code, or Cursor.
How to use Elegoo Mcp Server?
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.
Key features of Elegoo Mcp Server
- 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)
Use cases of Elegoo Mcp Server
- Check printer status, temperatures, and print progress hands-free.
- Start, pause, resume, or cancel a print job from an AI assistant.
- Turn the printer light on or off remotely.
- List files on the printer and view thumbnails of completed prints.
- View the live camera feed while monitoring a print.
FAQ from Elegoo Mcp Server
What hardware is supported?
Tested with the Elegoo Centauri Carbon. Any Elegoo printer that uses the SDCP protocol (v3.0.0) should work.
What are the system requirements?
Node.js 18+ and the printer must be on the same local network (WiFi or Ethernet). No cloud accounts or internet access are needed.
Which features are not available via this server?
Temperature control, fan control, speed control, movement/homing, and file deletion are not supported by the SDCP protocol. Those functions must be performed from the printer’s touchscreen.
Can I use this server with clients other than Claude Desktop?
Yes. It is compatible with any MCP-compatible client, including VS Code, Cursor, and others.
Are there any known issues?
On printer firmware v1.1.29, light control may not work during printing. Firmware v1.1.25 works correctly.
Frequently asked questions
What hardware is supported?
Tested with the Elegoo Centauri Carbon. Any Elegoo printer that uses the SDCP protocol (v3.0.0) should work.
What are the system requirements?
Node.js 18+ and the printer must be on the same local network (WiFi or Ethernet). No cloud accounts or internet access are needed.
Which features are not available via this server?
Temperature control, fan control, speed control, movement/homing, and file deletion are not supported by the SDCP protocol. Those functions must be performed from the printer’s touchscreen.
Can I use this server with clients other than Claude Desktop?
Yes. It is compatible with any MCP-compatible client, including VS Code, Cursor, and others.
Are there any known issues?
On printer firmware v1.1.29, light control may not work during printing. Firmware v1.1.25 works correctly.
Basic information
More Other MCP servers

EverArt
modelcontextprotocolModel Context Protocol Servers
XcodeBuildMCP
cameroncookeA Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Inbox Zero AI
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
MCP Registry
modelcontextprotocolA community driven registry service for Model Context Protocol (MCP) servers.

Lemon.io
lemon-ioRequest dedicated senior developers to work on your project, write job descriptions, and prep technical interviews — all without leaving your Claude chat. Just describe what you need, and Lemon.io MCP does the rest. 1–3
Comments