
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
3d-printer-mcp-server
Advanced tools
MCP server for connecting Claude with 3D printer management systems
This is a server that allows MCP users to connect with the API endpoints of these 3D Printers:
This server is a Model Context Protocol (MCP) server for connecting Claude with 3D printer management systems. It allows Claude to interact with 3D printers through the APIs of various printer management systems such as OctoPrint, Klipper (via Moonraker), Duet, Repetier, and Bambu Labs printers.
npm install -g 3d-printer-mcp-server
git clone https://github.com/yourusername/3d-printer-mcp-server.git
cd 3d-printer-mcp-server
npm install
npm link # Makes the command available globally
Create a .env
file in the directory where you'll run the server or set environment variables:
# Required for authentication with your printer management system
API_KEY=your_api_key_here
# Default printer connection settings
PRINTER_HOST=localhost
PRINTER_PORT=80
PRINTER_TYPE=octoprint # Options: octoprint, klipper, duet, repetier, bambu
# Optional: Directory for temporary files
TEMP_DIR=/path/to/temp/dir
# Bambu Labs specific configuration
BAMBU_SERIAL=your_printer_serial
BAMBU_TOKEN=your_access_token
{
"mcpServers": {
"3dprint": {
"command": "3d-printer-mcp-server",
"env": {
"API_KEY": "your_api_key_here",
"PRINTER_HOST": "your_printer_ip",
"PRINTER_TYPE": "octoprint"
}
}
}
}
{
"mcpServers": {
"3dprint": {
"command": "3d-printer-mcp-server",
"env": {
"PRINTER_HOST": "your_printer_ip",
"PRINTER_TYPE": "bambu",
"BAMBU_SERIAL": "your_printer_serial",
"BAMBU_TOKEN": "your_access_token"
}
}
}
}
OctoPrint is a popular web interface for 3D printers. It provides a REST API for controlling the printer.
Klipper is a firmware for 3D printers that works with the Moonraker API server.
Duet is a control board for 3D printers with its own web interface (DuetWebControl).
Repetier-Server is a host software for 3D printers.
Bambu Lab printers use MQTT for status and control and FTP for file operations.
To connect to your Bambu Lab printer, you need two things:
Printer Serial Number:
Access Token:
Note: If your printer is not on the same local network or you can't find the access token, you may need to update your printer's firmware to the latest version to enable LAN Mode.
Get the current status of the 3D printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
For Bambu printers:
{
"host": "192.168.1.100",
"type": "bambu",
"bambu_serial": "YOUR_PRINTER_SERIAL",
"bambu_token": "YOUR_ACCESS_TOKEN"
}
List files available on the printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
Upload a G-code file to the printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"filename": "my_print.gcode",
"gcode": "G28\nG1 X100 Y100 Z10 F3000\n...",
"print": true
}
Start printing a file that is already on the printer.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"filename": "my_print.gcode"
}
Cancel the current print job.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY"
}
Set the temperature of a printer component.
{
"host": "192.168.1.100",
"type": "octoprint",
"api_key": "YOUR_API_KEY",
"component": "extruder",
"temperature": 200
}
printer://{host}/status
- Current status of the 3D printerprinter://{host}/files
- List of files available on the 3D printerprinter://{host}/file/{filename}
- Content of a specific file on the 3D printerHere are some example commands you can give to Claude after connecting the MCP server:
Due to the nature of the Bambu Lab printer API, there are some limitations:
Starting prints: Starting a print requires the 3MF project file path, gcode file name, print name, and MD5 hash. The simplified API in this server doesn't support this fully yet.
Temperature control: The Bambu API doesn't provide direct methods to set temperatures. This would require custom G-code commands.
File management: Files must be uploaded to the "gcodes" directory on the printer.
MIT
FAQs
MCP server for connecting Claude with 3D printer management systems
The npm package 3d-printer-mcp-server receives a total of 3 weekly downloads. As such, 3d-printer-mcp-server popularity was classified as not popular.
We found that 3d-printer-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.