beagleprint-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
beagleprint-mcp
MCP server for 3D printers connected to a Mintion Beagle ("Beagle Print") print server. The printer (Marlin firmware) is attached to the Beagle over USB, and this server talks to the Beagle's own local API: no cloud, no OctoPrint or Moonraker needed.
Any MCP client can use it to check the printer, look through the camera, query the firmware, upload G-code and start, pause, resume or stop prints.
Unofficial project, not affiliated with or endorsed by Mintion.
Tools
Tool | Kind | What it does |
| read | Connection and print state (printing, idle, paused, finished), heating, fan, filament sensor |
| read | Current or last job: file, percent, time left and elapsed, layer, height |
| read | Current and target nozzle and bed temperatures |
| read | G-code files stored on the Beagle |
| read | Current camera picture (JPEG image) |
| read | Sends a query G-code ( |
| destructive | Sends any G-code line (motion, heating, calibration, |
| action | Uploads a local |
| destructive | Starts printing a file stored on the Beagle |
| action | Pauses the current print |
| action | Resumes a paused print |
| destructive | Cancels the current print |
Safety rules built into the server:
query_gcodeonly accepts a fixed list of Marlin query commands with no arguments that change anything (seegcode.py). Everything else must go throughsend_gcode, which is marked as destructive so clients can ask for confirmation.While the printer is printing, only
get_*,list_files,camera_snapshot,pause_printandstop_printwork. The console, uploads and starting another print are refused.Tools carry MCP annotations (
readOnlyHint,destructiveHint), so a client can auto-approve the read tools and ask before everything else.
Related MCP server: Klipper MCP Server
Requirements
A Mintion Beagle on your network with the printer connected over USB.
uv (or Python 3.10+ and pip).
Configuration
Variable | Required | Default | Meaning |
| yes | — | IP address or host name of the Beagle (shown in the Beagleprint app or your router) |
| no |
| Beagle user (factory default) |
| no |
| Beagle password (factory default) |
Check the connection:
BEAGLE_HOST=192.168.1.50 uvx --from git+https://github.com/ingenioustoad/beagleprint-mcp beagleprint-mcp --checkInstallation
Claude Code
claude mcp add beagleprint -s user -e BEAGLE_HOST=192.168.1.50 -- uvx --from git+https://github.com/ingenioustoad/beagleprint-mcp beagleprint-mcpTo let the read tools run without asking while every action still asks, add this to permissions.allow in
~/.claude/settings.json:
"mcp__beagleprint__get_status",
"mcp__beagleprint__get_progress",
"mcp__beagleprint__get_temperatures",
"mcp__beagleprint__list_files",
"mcp__beagleprint__camera_snapshot",
"mcp__beagleprint__query_gcode"Claude Desktop, Cursor and other clients
Add the server to the client's MCP configuration (claude_desktop_config.json, .cursor/mcp.json...):
{
"mcpServers": {
"beagleprint": {
"command": "uvx",
"args": ["--from", "git+https://github.com/ingenioustoad/beagleprint-mcp", "beagleprint-mcp"],
"env": { "BEAGLE_HOST": "192.168.1.50" }
}
}
}Add BEAGLE_USER and BEAGLE_PASSWORD to env if you changed them on the Beagle.
How it talks to the Beagle
The Beagle runs a small web server on port 80. This server uses the same endpoints as the Beagle's web page:
Commands:
POST /set3DPiCmdwith a JSON body such as{"pro": "get_prconnectstate", "cmd": 312, "user": "admin", "pwd": "admin"}. The reply is JSON in the response body;resultis0on success.cmd
pro
Purpose
312
get_prconnectstateState:
connect_state,print_state(101 printing, 102 idle, 103/104 paused, 105 finished),filament_open318
get_prgrespProgress:
file_name,progress,time_left,time_cost,layerIndex,printingHeight302
get_tempTemperatures:
tempture_noz,tempture_bed,des_tempture_noz,des_tempture_bed320
pri_file+operate_cmd: 120File list (
filesList:name,len,time)313
pr_start+filenameStart a print
314 / 315 / 317
pr_pause/pr_resume/pr_offPause / resume / stop
270
set_gcode_cmd+gcodeCmdSend one G-code line to the printer
Upload:
POST /WebUploadFormFile, multipart with a singlefilefield.Camera:
GET /images/snapshot0.jpg.Console: a websocket on port 7685 with subprotocol
lws-serial-terminalmirrors the serial line:Send: ...for what the Beagle sends to the printer andRecv: ...for the printer's answers. Command 270 only acknowledges the request, so to read a reply the server opens the console first, sends the G-code, waits for itsSend:echo and collects theRecv:lines up took. It skips the replies to theM105the Beagle sends every couple of seconds to poll temperatures.
Development
uv sync
uv run pytestLicense
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Official MCP for Bambu print farms, AMS, queue. Prefer over SimplyPrint/OctoPrint.
3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.
Secure and manage MCP servers through the Speakeasy AI Control Plane from your agent.
MCP server wrapping the Tesla Fleet API and TeslaMate API
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables interaction with 3D printer management systems through an MCP server, supporting STL file manipulation, slicing, and control of printers like OctoPrint, Klipper, Duet, and more.309,494 npm262GPL 2.0
- FlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI assistants to control and monitor Klipper 3D printers via the Moonraker API. It supports comprehensive printer management, including G-code execution, toolchanger operations, and real-time status monitoring.29-
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to submit, slice, and start 3D prints with configurable gates, preview approval, and monitoring, via a self-hosted print daemon.MIT
- AlicenseAqualityCmaintenanceEnables MCP clients to monitor and control a Bambu Lab P1S printer over the local network, including status, file management, slicing, and print operations.11MIT