MCP server for automating the 3D printing pipeline: search/download models (Thingiverse), slice to G-code (Cura or OrcaSlicer), and manage printing (OctoPrint).
PrintMCP defines a single tool (cura_slice_model) with a well-structured input schema, comprehensive parameter descriptions, and clear documentation of the slicing workflow. The tool name follows verb_noun convention and the description explains prerequisites and use case. However, output schema is not explicitly documented in the source, and error handling guidance is minimal. The tool demonstrates good parameter constraint discipline (enums, min/max bounds) and accepts human-friendly identifiers (printer names). No security issues detected, no credentials exposed as parameters.
Slice a local 3D model into printer-ready G-code using CuraEngine. This is Level 2 of the pipeline: it takes a downloaded model file (e.g. from ``thingiverse_download_model``) and produces a .gcode file for a specific printer. Requires Ultimaker Cura to be installed (auto-detected, or set PRINTMCP_CURA_DIR / PRINTMCP_CURAENGINE).
Output schema not documented. Tool description does not specify what fields are returned (e.g., gcode_path, file_size, print_time, success status). LLMs cannot plan downstream operations without knowing the response structure.
Error handling lacks recovery guidance. No description of what errors can occur (e.g., invalid model file, CuraEngine not found, unsupported printer) or how to recover. LLMs receive no actionable next steps on failure.
No idempotency guarantee documented. Tool performs file I/O (writes .gcode). If called twice with same inputs, does it overwrite or error? Agents need to know if retries are safe.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. Limits deployment flexibility and testing surface.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |