cura-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CURA_ROOT | No | Path to the extracted Cura AppImage root directory. Default is ~/opt/cura/squashfs-root |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_printersA | Liste les profils d'imprimante disponibles avec leurs specs clés. Retourne pour chaque profil : id, nom, fabricant, description, et volume d'impression. |
| get_profileA | Retourne les réglages complets d'un profil d'imprimante (pour inspection ou ajustement). |
| sliceB | Tranche un ou plusieurs fichiers STL en gcode prêt à imprimer, avec CuraEngine. |
| make_projectA | Crée un PROJET Cura (.3mf) avec les pièces positionnées côte à côte sur le plateau. À OUVRIR dans Cura : l'utilisateur VOIT les pièces posées et peut vérifier les réglages, sans rien toucher. C'est le livrable de validation visuelle (contrairement au gcode). |
| cura_statusA | Vérifie si Cura est ouvert et pilotable en direct (plugin MCPBridge). Retourne version + imprimante active. |
| cura_loadA | Charge des modèles (STL/3MF) DANS la fenêtre Cura ouverte — l'utilisateur les voit apparaître. |
| cura_setC | Applique des réglages Cura EN DIRECT (visibles dans le panneau de l'utilisateur). |
| cura_getC | Lit les valeurs actuelles de réglages dans Cura (pour vérifier avec l'utilisateur). |
| cura_sliceB | Lance la découpe DANS Cura (l'utilisateur voit l'aperçu se calculer). |
| cura_print_timeA | Retourne le temps d'impression estimé + matière, après une découpe dans Cura. |
| cura_screenshotA | Capture le viewport de Cura (image isométrique) — pour VOIR l'état et le montrer à l'utilisateur. Retourne le chemin de l'image PNG écrite (à lire ensuite). |
| cura_arrangeA | Ré-arrange automatiquement les pièces sur le plateau (sans chevauchement). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
There is clear overlap between 'cura_slice' and 'slice' both performing slicing operations, and 'cura_arrange' vs 'make_project' both involve part positioning. Other tools have distinct purposes, but these overlaps create ambiguity for an agent.
Naming is inconsistent: most tools use 'cura_' prefix (cura_arrange, cura_get, etc.), but four tools (get_profile, list_printers, make_project, slice) lack the prefix. All use snake_case, but the prefix inconsistency is confusing.
12 tools is appropriate for a Cura MCP server, covering loading, slicing, settings, and status. The count feels slightly padded due to duplicate slicing tools, but is still within a reasonable range.
Obvious gaps: no tool to set active printer, remove models, export gcode, or adjust individual model settings. The duplicate slicing tools waste a slot while missing core lifecycle operations, leading to potential agent failures.