Ultimaker-S5-Interfacing
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CURA_PRINTER_BASE_URL | Yes | The base URL of the UltiMaker S5 printer, configured during deployment. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cura_statusA | Check whether the local Cura bridge is ready. Printer/profile/extruder/scene fields are placeholders, not live measurements; startup deliberately avoids inspecting Cura configuration. Does not modify Cura or contact a printer. |
| printer_statusA | Read the Cura Connect printer inventory and its active and queued jobs. This tool performs no printer write. |
| preflight_print_actionB | Check whether an upload or print-start operation is currently safe. It performs no write. |
| create_print_confirmationA | Create one short-lived token for a specific staged toolpath upload or queued-job print start after reading printer status. Performs no printer write. Show the human the target and warning before using the write tool. |
| upload_gcodeA | Uploads one confirmed .gcode, .gcode.gz, or .ufp file from the staging folder to the selected local printer. It may start automatically if the printer queue policy permits it. |
| start_printB | Commands one confirmed queued local printer job to start printing. |
| create_cura_confirmationA | Create a one-use confirmation token for loading one staged file into Cura. This does not modify Cura. |
| load_cura_fileB | Loads one confirmed staged model, project, G-code, or UFP file into the active Cura workspace. It does not slice or send a print. |
| printer_api_catalogB | Inspect all documented local S5 printer/cluster R/W endpoints and schemas. Specify api + endpoint to include operation details and definitions. |
| printer_api_readB | GET a documented bounded local printer endpoint. Does not support unbounded camera streams. May return network/system details; request only what is needed. |
| confirm_printer_api_writeA | Prepare a one-use five-minute confirmation bound to the exact documented write request and current printer state. Show the request and effect to the human and obtain specific approval before printer_api_write. Does not perform the write. |
| printer_api_writeA | Execute an explicitly approved documented S5 write with its matching confirmation token. Includes motion, temperature, pause/abort/resume, jobs/materials/configuration/firmware/network operations. Do not invoke without the human approving the exact action. Auth pairing stores credentials in the OS credential store and needs approval on the printer display. |
| cura_inspectB | Read the live Cura machine/profile, extruders/materials, scene objects, backend state and sliced build plates, explicitly on its main thread. |
| cura_settingsA | Read effective global or extruder settings. Omit keys to list available setting keys; provide at most 200 keys for values. |
| confirm_cura_operationA | Prepare a five-minute one-use confirmation for exact settings, slicing, G-code export or project Save/Save As. Project confirmation shows the resolved destination and binds existing-file SHA256. Show the changes before executing. |
| cura_operationA | Apply approved Cura settings, slice, export G-code, or save a full 3MF project. Project saves return an operation_id; poll cura_project_save_status for completion. Never prints or uploads automatically. |
| cura_project_save_statusA | Read completion, validated archive size/hash or failure for a project save. A running response is not a completed save. |
| cura_path_infoA | Inspect one absolute path from Cura itself: existence, type, readability, resolved path and OS error. Does not return file contents. |
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 18 tools
Each tool targets a fairly distinct resource+action, and descriptions carefully delimit read vs. write. However, there are four confirmation/token tools (create_cura_confirmation, create_print_confirmation, confirm_printer_api_write, confirm_cura_operation) that serve subtly different flows and could be mis-selected. Read tools like cura_status, cura_inspect, and cura_settings are close but adequately differentiated.
A domain-prefix convention (cura_*, printer_*) is visible and readable, but verb styles are mixed: verb_noun (start_print, load_cura_file, upload_gcode) alongside noun_status patterns (printer_status, cura_status, cura_project_save_status). It is understandable but not a single predictable pattern.
18 tools is slightly heavy but justified by the domain: a Cura bridge plus a printer API plus a two-step human-confirmation safety model that requires paired confirm/execute tools. Each tool roughly earns its place, though the confirmation duplication inflates the count a bit.
The surface covers the full lifecycle: staging/loading files, upload, print start, status, Cura settings/slicing/export/save, and arbitrary documented printer reads/writes (including pause/abort/resume). Minor gaps like job deletion or richer scheduling are largely absorbable via printer_api_write.