cura-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cura-mcpSlice model.stl with 0.2mm layers and 20% infill"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cura-mcp
An MCP server that lets an AI agent (Claude, etc.) slice 3D models with UltiMaker Cura
(the CuraEngine backend) headlessly — no GUI, no clicking. Load STL files, pick a printer
profile, override any Cura setting, and get back a ready-to-print .gcode plus the estimated
print time.
Built because Cura has no official MCP and its engine is awkward to run standalone — this wraps it cleanly.
What it exposes
Tool | What it does |
| List available printer profiles (id, build volume, nozzle). |
| Return the full settings of a profile, to inspect or tweak. |
| Slice one or more STL files with a profile + optional setting overrides → gcode + print time. |
Example: "Slice part.stl on the Creasee 340 with 0.16 mm layers, 5 walls, 30% infill, and a raft."
→ the agent calls slice(stl_paths=["/…/part.stl"], printer_id="creasee340", settings={"layer_height":0.16,"wall_line_count":5,"infill_sparse_density":30,"adhesion_type":"raft"}).
Related MCP server: BambuStudio MCP Server
Why this was hard (and how it's solved)
CuraEngine from the Cura AppImage doesn't run standalone: it needs (1) the AppImage's bundled
ld-linux interpreter, (2) all of the AppImage's shared libraries, and (3) a complete, flattened
set of settings (fdmprinter + fdmextruder defaults + your overrides) — miss one and it aborts.
engine.py handles all three: it runs CuraEngine via the bundled linker with a full library path,
and flattens Cura's nested settings tree into the ~400 -s key=value flags CuraEngine expects.
Requirements
Linux, Python ≥ 3.10.
UltiMaker Cura AppImage extracted to
~/opt/cura/squashfs-root(or setCURA_ROOT):cd ~/opt/cura && /path/to/UltiMaker-Cura-*.AppImage --appimage-extract
Install
git clone <this repo> && cd cura-mcp
python3 -m venv .venv && ./.venv/bin/pip install -e .Use with Claude Code
claude mcp add cura-slicer -- /ABS/PATH/cura-mcp/.venv/bin/python -m cura_mcpThen restart your session and ask Claude to slice a model.
Printer profiles
Profiles live in src/cura_mcp/profiles/*.json as {name, manufacturer, description, settings:{…Cura settings…}}.
Ships with Creasee 340 (large CR-10-class bowden printer, CR-Touch ABL, quality profile tuned for a
slightly warped bed) and a generic 220 mm printer. Add your own by dropping a JSON file in that folder.
Notes
Print time and filament are computed from the actual toolpaths (analyze_gcode), so they vary with settings and model — reliable estimates.
License AGPL-3.0 (CuraEngine is AGPL; this wrapper follows).
Author
Built by Claude (Anthropic's Opus 4.8), autonomously, for Michael Gagnon — solving the standalone-CuraEngine problem, the settings flattener, the MCP server, and a real gcode-based time/filament estimator. Tested with a 9-case suite (tools, overrides, multi-part, error handling, stat-variation).
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MichaelGagnon13/cura-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server