Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
SimplyPrint: 3D Print Farm Management is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http simplyprint-3d-print-farm-management-mcp https://simplyprint.io/api/mcp
# 2 — ask your agent for something these tools do
# list_printers, get_printer, get_farm_overview and 90 more
SimplyPrint: 3D Print Farm Management costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http simplyprint-3d-print-farm-management-mcp https://simplyprint.io/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
93 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
List MULTIPLE printers with optional filters. For details on a single known printer, call get_printer instead — do not list-then-filter. For farm-wide counts ("how many printers are doing X"), call get_farm_overview instead — do not paginate this. Use status=["online"] to only see reachable printers, status=["printing"] for ones actively printing, status=["was_printing_when_offline"] for printers
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | integer | no | Page number (1-based) when paginating beyond limit/page_size. |
| page_size | integer | no | — |
| search | string | no | — |
| sort_id | string | no | — |
| sort_by | string | no | Sort by this field. Default: stable (no sort). |
| sort_dir | string | no | Sort direction; default asc when sort_by is set. |
| limit | integer | no | Cap on results (1-100). Alias for page_size. Use this with sort_by for "top N" queries. |
| status | array | no | Filter by status. Multiple values are OR-matched. Macros (derived): online, offline, idle, was_printing_when_offline, in_maintenance, print_pending, can_accept_commands, awaiting_bed_clear. Raw Printe |
| group_id | integer | no | Only return printers in this printer group |
| tags | array | no | Filter printers that have any of the given tag names |
| out_of_order | boolean | no | If true, only out-of-order printers; if false, only in-order printers (enterprise feature) |
| printer_columns | string | no | — |
| job_columns | string | no | — |
| filament_columns | string | no | — |
| order_by | string | no | — |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
Get details, status, temps, current job, filament, notifications for ONE specific printer by id. Use this (not list_printers) whenever the user asks about a single printer they've already identified — "status of printer X", "what's printer 5 doing", "temperature on Creality K2". Cheaper and less noisy than listing all printers.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | string | yes | — |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
One-shot summary of farm-wide printer state. Use this (NOT list_printers) when the user asks "how many printers are printing/idle/awaiting bed clear/etc." or "what is the state of the farm". Returns a total and {count, printers:[{id,name}]} for each bucket: online, offline, not_connected, operational (idle), printing, paused, awaiting_bed_clear (a print finished but the bed has not been cleared ye
No parameter schema on file.
Pause the current print on a printer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
Resume a paused print on a printer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
Cancel the current print on a printer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| reason | integer | no | Cancel reason ID. May be required depending on organization settings. |
| comment | string | no | Optional comment explaining why the print was cancelled. May be required depending on organization settings. |
| return_to_queue | boolean | no | Whether to return cancelled queued print to the queue. Uses organization default if not specified. |
| return_position | string | no | Position to insert queue item at when returning to queue (original, top, bottom or custom). |
| custom_position | integer | no | Custom sort position when return_position is 'custom'. |
Send G-code commands to a printer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| gcode | array | no | Array of G-code commands to send. Either gcode, macro, or snippet_id is required. |
| macro | string | no | Predefined macro name to execute. Either gcode, macro, or snippet_id is required. |
| macro_context | array | no | Optional context data for macro execution. |
| snippet_id | integer | no | ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required. |
Start a print job on one or more printers, now or at a chosen time. File source is exactly one of: file_id (API file hash from upload), filesystem (user-file uid), queue_file (existing queue item id), reprint (previous print-job id), or next_queue_item=true (auto-pick the next matching queue item per printer, deduplicated across printers). Supports PRINT_JOB custom fields (shared and per-printer).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | string | yes | Comma-separated printer id(s) to start the job on. Must be operational. When next_queue_item=true, each printer gets a different queue item (same item never duplicated within one call). |
| filesystem | string | no | UserFile.uid of an existing library file. Choose this when starting from an already-imported file. |
| file_id | string | no | Hex bucket hash returned by the files.simplyprint.io Upload endpoint. Choose this when starting from a file uploaded via the API. |
| queue_file | integer | no | Existing print queue item id. Choose this to start the job from a queued item (most common flow). |
| reprint | integer | no | Previous print_job id to reprint with the same file and settings. |
| next_queue_item | boolean | no | If true, auto-pick the next matching queue item for each printer in pid. Uses the same compatibility matcher as get_next_queue_items_for_printers. Mutually exclusive with file_id/filesystem/queue_file |
| start_options | string | no | — |
| mms_map | string | no | — |
| schedule_for | string | no | Hold the print until this absolute instant instead of starting it now. ISO 8601 with an offset or Z, e.g. "2026-08-18T22:30:00Z". Must be at least 1 minute and at most 7 days ahead. Requires the Sched |
| custom_fields | array | no | PRINT_JOB custom fields shared across all started jobs. Each entry is an object with customFieldId (string uuid) and value (one-of string/number/boolean/date/options). |
| individual_custom_fields | array | no | Per-printer or per-queue-item PRINT_JOB custom fields. Each entry: {id: <string>, value: [customFieldSubmissions]}. |
List every print across the account that is waiting for a scheduled start time, soonest first. Use this for "what is scheduled tonight", "do I have anything queued up for tomorrow", or before rescheduling/cancelling so you can name the right printer. Returns printer, filename, scheduled_for and who scheduled it. Prints already released and starting are NOT listed here - use get_farm_overview for t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | integer | yes | — |
| page_size | integer | yes | — |
| printer_ids | array | no | — |
Change when a scheduled print starts, or release it immediately. Pass schedule_for with a new absolute instant to move it; omit schedule_for (or send null) to start the print now. Only affects prints still waiting on a scheduled time - a print already staggered or downloading cannot be pushed back.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | string | yes | Comma-separated printer id(s) whose scheduled print should move. |
| schedule_for | string | no | New absolute instant (ISO 8601), at least 1 minute and at most 7 days ahead. Omit or null to start the print now. |
| expected_job_uid | string | no | Job uid returned by list_scheduled_prints. The action is refused if that printer now holds a different pending print. |
Cancel a print that has not started yet - either waiting for its scheduled time or waiting in a staggered start queue - and free the printer. This does NOT cancel a print that is already running; use cancel_print for that.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| expected_job_uid | string | no | Job uid returned by list_scheduled_prints. The action is refused if that printer now holds a different pending print. |
Home the printer axes (move to origin position)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| snippet_id | integer | no | ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required. |
| axes | string | no | Axes to home, space-separated. Examples: "X Y Z" (all), "X Y" (XY only), "Z" (Z only) |
Move a printer axis to a relative position
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| snippet_id | integer | no | ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required. |
| direction | string | yes | Axis and direction to move. Use axis letter, optionally with minus for negative. Examples: "X" (+X), "X-" (-X), "Y", "Y-", "Z", "Z-" |
| distance | number | yes | Distance to move in millimeters |
| speed | number | no | Movement speed in mm/min. If not specified, uses printer default. |
Control the printer cooling fans
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| snippet_id | integer | no | ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required. |
| speed | integer | yes | Fan speed from 0 (off) to 255 (full speed). Use 0 to turn fans off. |
Enable or disable the printer stepper motors
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| snippet_id | integer | no | ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required. |
| enabled | string | yes | Motor state: "on" to enable motors (lock axes), "off" to disable (allow manual movement) |
Set target temperatures (nozzle, bed and/or chamber) on one or more printers - works while idle and mid-print. Values above the printer model maximum are clamped; 0 turns a heater off.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| tool | integer | no | Target nozzle temperature in degrees Celsius. 0 turns the hotend off. Values above the printer model maximum are clamped. At least one of tool, bed or chamber is required. |
| tool_index | integer | no | Zero-based tool index for multi-tool printers. Requires tool to be set. Defaults to 0. |
| bed | integer | no | Target heated bed temperature in degrees Celsius. 0 turns the bed heater off. Values above the printer model maximum are clamped. At least one of tool, bed or chamber is required. |
| chamber | integer | no | Target chamber temperature in degrees Celsius. 0 turns the chamber heater off. Skipped for printers without an actively heated chamber. At least one of tool, bed or chamber is required. |
List print queue items with optional filters. Supports filtering by assigned printer(s), group, approval status, tags, queue-item custom-field values, and age. Example: older_than_days=7 for "items added more than 7 days ago", or custom_fields=[{id: "<uuid>", value: "Engineering"}] for a specific department field.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | integer | no | — |
| page_size | integer | no | Items per page (1-200). Use this as the result-size cap. |
| group | integer | no | Only return items in this queue group (0 = the ungrouped bucket) |
| sort_by | string | no | Sort by this field. Default: sort_position (ascending — matches the queue's display order). |
| sort_dir | string | no | Sort direction; default asc. |
| search | string | no | Filename substring search |
| printer_id | array | no | Only return queue items assigned to (via for_printers) any of these printer ids |
| approval_status | string | no | Filter by approval status. Default excludes denied. |
| tags | array | no | Match items that have any of the given tag names |
| custom_fields | array | no | Filter by custom field values. Each entry must specify the field id (uuid) and either value (exact match against string/number/boolean/date/options) or contains (case-insensitive substring on text fie |
| added_before | string | no | Items created strictly before this ISO-8601 date |
| added_after | string | no | Items created strictly after this ISO-8601 date |
| older_than_days | integer | no | Items created more than this many days ago |
| newer_than_days | integer | no | Items created within the last this many days |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
Get details of a specific queue item
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
Remove an item from the print queue
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job | integer | no | — |
| jobs | string | no | — |
Queue a file for printing. Pick exactly one file source: fileId (hex hash from the files.simplyprint.io Upload endpoint) or filesystem (UserFile.uid of an existing library file). Supports PRINT_QUEUE custom fields and a tags object for material colour, nozzle, build plate, or custom tags (for example tags={"material":[{"color":"Red","hex":"#FF0000","nozzle":0,"ext":0}]}).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| group | integer | no | Queue group id to add the item to. Use list_queue_groups to discover available groups. |
| filesystem | string | no | UserFile.uid of an existing library file (use list_files to discover). Either numeric id or UID string is accepted. |
| fileId | string | no | Hex bucket hash returned by the files.simplyprint.io Upload endpoint. Use this when the file was uploaded via the API (recommended for integrations). |
| amount | integer | no | Number of copies to queue. Default 1. |
| tags | object | no | Tag-assignment object. Use material for colour, for example {"material":[{"color":"Red","hex":"#FF0000","nozzle":0,"ext":0}]}; use custom or tag_ids for custom tag IDs, nozzleData for nozzle positions |
| for_printers | string | no | — |
| for_models | string | no | — |
| for_groups | string | no | — |
| custom_fields | array | no | PRINT_QUEUE custom fields for the new queue item. Each entry: {customFieldId: string uuid, value: one-of {string, number, boolean, date, options[]}}. |
| position | string | no | Where to insert: "top", "bottom", or a 1-based numeric position. |
Update a queue item (amount, note, custom print time, material usage, printer assignments).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | integer | no | — |
| printed | integer | no | — |
| log_print | boolean | no | — |
| note | string | no | — |
| time | integer | no | — |
| material_usage | number | no | — |
| for_printers | string | no | — |
| for_models | string | no | — |
| for_groups | string | no | — |
| priority | string | no | — |
| paused | boolean | no | — |
| infinite | boolean | no | — |
| persistent | boolean | no | — |
| max_concurrent_printers | integer | no | — |
| deadline | string | no | — |
| queue_item_id | integer | yes | — |
Move a single queue item to a new 1-based position.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | integer | no | — |
| to | integer | yes | — |
| queue_item_id | integer | yes | — |
Move one or more queue items to a different queue group.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobs | string | yes | — |
| target_group_id | integer | yes | — |
Bring a completed (done) queue item back to the active queue.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | integer | no | — |
| priority | string | no | — |
| position | string | no | — |
| position_index | integer | no | — |
| group | integer | no | — |
| queue_item_id | integer | yes | — |
DESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| group | integer | no | — |
| done_items | boolean | no | — |
Show which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| criteria | array | no | — |
| printer_id | string | yes | — |
| mode | string | no | — |
Calculate the estimated cost of a queue item, optionally for a specific printer.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | no | — |
| mms_map | array | no | — |
| queue_item_id | integer | yes | — |
| item_id | integer | no | — |
Find the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer IDs (comma-separated for multiple) |
| settings | array | no | — |
| skippedQueueItems | array | no | — |
| specificQueueGroups | array | no | — |
| queueGroupsOrder | array | no | — |
| filters | array | no | — |
| sorting | array | no | — |
| normalOnly | boolean | no | — |
| mustClearBed | boolean | no | — |
| includeTodoSummary | boolean | no | — |
| deselects | string | no | — |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
Read-only preview: for each given printer, return the next queue item that would be started. Uses the same dedup matcher as create_print_job with next_queue_item=true, so the same queue item is never returned twice across printers in one call. Includes match failures per printer (issues) so you can explain why a printer has nothing to print. Does NOT start any job.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | string | yes | Comma-separated printer id(s). Does not need to be operational — offline printers return their would-be match too, so you can see what's waiting for them. |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
List all queue groups in the user's account.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | no | — |
Create a new queue group or update an existing one.
No parameter schema on file.
Delete a queue group. Optionally move its items to another group via move_to.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| move_to | integer | no | — |
| item_id | integer | yes | — |
Move a queue group to a new position.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| to | integer | yes | — |
| group_id | integer | yes | — |
List queue items pending approval (status: PENDING, DENIED, or REVISION).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | string | no | — |
| page | integer | no | — |
| per_page | integer | no | — |
Approve one or more pending/revision/denied queue items, with optional comment.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| comment | string | no | — |
| job | integer | no | — |
| jobs | string | no | — |
Deny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| comment | string | no | — |
| remove | boolean | no | — |
| job | integer | no | — |
| jobs | string | no | — |
Revoke approval on an already-approved item and send it back to the submitter for revisions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| comment | string | no | — |
| queue_item_id | integer | yes | — |
Resubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| comment | string | no | — |
| queue_item_id | integer | yes | — |
Retrieve all approval comments on a queue item or user file.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | no | — |
| file_id | string | no | — |
Add a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| comment | string | no | — |
| item_id | integer | no | — |
| file_id | string | no | — |
| type | string | no | — |
Edit an approval comment you authored.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
| comment | string | yes | — |
Delete an approval comment you authored (or any comment if you have the permission).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
List custom field definitions with pagination and search.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | integer | yes | — |
| page_size | integer | yes | — |
| search | string | no | — |
| sort_id | string | no | — |
| sort_dir | string | no | — |
| start_date | number | no | — |
| end_date | number | no | — |
List custom field definitions for a specific entity category and optional sub-category (e.g. PRINT + PRINT_QUEUE for queue-item custom fields).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | yes | — |
| subCategory | string | no | — |
| includeDisabled | string | no | — |
Set custom field values on one or more entities (queue items, files, printers, etc.). Use this to set a "deadline" or similar field across many queue items at once.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | yes | — |
| subCategory | string | no | — |
| entityIds | array | yes | — |
| values | array | yes | — |
List files and folders in the user's SimplyPrint storage. With pid set, only returns files compatible with that printer (full compatibility check). With global_search=true (default), searches recursively across all folders.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| f | integer | no | Folder id to list (0 or omitted = root) |
| search | string | no | Filename substring search. Matches with or without extension — "Schleife oben 1_PLA_1h4m" and "Schleife oben 1_PLA_1h4m.3mf" both find the same file. |
| global_search | boolean | no | If true (default), search recursively across all folders instead of only the current one |
| printer_id | integer | no | Only return files compatible with this printer (full compatibility check, not just model) |
| has_gcode | boolean | no | true = only files with a parsed G-code analysis (printable); false = only non-printable files (models, etc.) |
| sort_by | string | no | Sort files by this field (folders are not affected). Default: repository order (user's saved files-page sort). Projects follow it by name or age. |
| sort_dir | string | no | Sort direction; default desc (newest/largest first). |
| limit | integer | no | Cap on returned files (1-500). Useful with sort_by for "5 largest files" or "10 most recent". Projects come at most 100 per page. |
| cursor | string | no | The next page of projects: pass projects_page.next_cursor from the previous answer, with the same folder, search and sort. |
| nest_into | string | no | — |
| start | boolean | no | — |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
Get a folder's details including permissions.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
Estimate the print cost of a file, optionally for a specific printer.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| analysis | array | no | — |
| printer_id | integer | no | — |
| mms_map | array | no | — |
| item_id | string | no | — |
| newFile | boolean | no | — |
Find which printer models in the account are compatible with a given file.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| gcodeAnalysis | array | no | — |
| model | string | yes | — |
Set the printers/models/groups a file is assigned to.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | — |
| printers | array | no | — |
| models | array | no | — |
| groups | array | no | — |
Update file metadata such as name and GCODE analysis.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | — |
| printers | string | no | — |
| printer_models | string | no | — |
| printer_groups | string | no | — |
| remove_thumbnail | boolean | no | — |
| analysis | array | no | — |
| item_id | string | yes | — |
Assign or remove routing tags on a file, including material colour. Use file_id (the UserFile.uid from list_files) and material=[{color, hex, nozzle, ext}] for a colour tag. This tool targets files only (type defaults to 3).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| file_id | string | no | UserFile.uid of one file from list_files. |
| file_ids | array | no | UserFile.uid values when assigning the same tags to multiple files. |
| type | integer | yes | — |
| edited | string | no | — |
| tag_id | integer | no | Legacy alias for a single custom tag id. |
| tag_ids | array | no | Alias for custom. |
| override | boolean | no | — |
| nozzle | number | no | Legacy single-nozzle size in millimetres. |
| nozzleData | array | no | Nozzle data, one object per nozzle. |
| material | array | no | Material tags, one object per extruder. Set color and/or hex to tag a file by colour. |
| bedType | object | no | Build-plate tag. |
| custom | array | no | Custom tag ids to assign. |
| detach_tag_ids | array | no | Custom tag ids to remove. |
Create a new folder (or edit an existing one with optional org-level permissions).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | — |
| parent_folder | integer | yes | — |
| org | boolean | no | — |
| org_perms | array | no | — |
| item_id | integer | no | — |
Delete one or more folders.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| folder | string | yes | — |
Move one or more files to a folder.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| files | string | yes | — |
| folder | integer | yes | — |
| all_or_nothing | boolean | no | — |
Move a folder to another location.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| folder | integer | yes | — |
| target | integer | yes | — |
Delete one or more files.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| file | string | yes | — |
Retrieve slicer settings stored for a file.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| file | string | yes | — |
List filament spools with optional filters and sorting. Accounts often have hundreds of spools, so ALWAYS pair sort_by with a limit. Use sort_by=last_used + limit=10 for "most used / most popular spool" questions. Use sort_by=created + limit=N for recently added. Use sort_by=left for emptiest/fullest. Filters (material_type/brand/color) are case-insensitive substring matches. If the user names a s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| material_type | string | no | Material type substring (e.g. "PLA", "PETG") |
| brand | string | no | Brand name substring |
| color | string | no | Color substring — matches hex, name, or color group |
| assigned | boolean | no | true = only spools assigned to a printer; false = only unassigned spools |
| empty | boolean | no | true = only empty spools; false = only non-empty spools |
| printer_id | integer | no | Only spools assigned to this printer id |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
| sort_by | string | no | Field to sort by. Defaults to created (newest first). |
| sort_dir | string | no | Sort direction. Defaults to desc. |
| limit | integer | no | Cap on number of spools returned after sorting/filtering. Use this with sort_by to grab e.g. the 3 newest. |
Get details of one specific filament spool. Use this (NOT list_filaments+grep) when the user names a spool by id or short id. Accepts spool_id (the integer DB id) or spool_short_id (the 4-character code shown on QR labels and the spool view page, e.g. "T2SO", "M0WT").
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spool_short_id | string | no | — |
| spool_id | integer | no | — |
| public | boolean | no | — |
| locationscount | boolean | no | — |
| company_id | integer | no | — |
Adjust the remaining weight of a filament spool (e.g. after manual weighing).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filament_id | integer | yes | The filament ID |
| grams_remaining | number | no | — |
| percent_left | number | no | — |
| weighed_gross | number | no | — |
| empty_spool_weight | integer | no | — |
| subtract_empty_spool | boolean | no | — |
| save_empty_spool_weight | boolean | no | — |
| log_print | boolean | no | — |
| log_print_filename | string | no | — |
| log_print_printer_id | integer | no | — |
Assign a filament spool to a printer (or a specific extruder slot).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer ID |
| filament_id | integer | yes | The filament IDs (comma-separated for multiple) |
| extruder | array | no | — |
| source | string | no | — |
Remove a filament spool from its printer assignment.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filament_id | integer | yes | The filament ID |
| source | string | no | — |
| location_id | integer | no | — |
Retrieve the usage history of a filament spool.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| user_id | string | no | — |
| item_id | integer | no | — |
| public | boolean | no | — |
| page | integer | no | — |
| perPage | integer | no | — |
Mark a filament spool as freshly dried (resets humidity tracking).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filament_id | integer | yes | The filament IDs (comma-separated for multiple) |
| dried_at | string | no | — |
List available filament colors (for UI pickers or picking similar spools).
No parameter schema on file.
List filament products from a specific brand.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | integer | yes | — |
List past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | integer | yes | Page number (1-based) |
| page_size | integer | yes | Items per page (1-100) |
| limit | integer | no | Cap on results per page (1-100). Alias for page_size. |
| printer_types | array | no | — |
| printer_ids | array | no | Only jobs from these printer ids |
| printer_groups | array | no | Only jobs from printers in these groups |
| user_ids | array | no | Only jobs started by these users (requires VIEW_ALL_PRINT_HISTORY) |
| accepted_statuses | array | no | Filter by job status. Multiple values OR-matched. |
| archived_status | string | no | null (default): hide archived; archived: only archived; both: include archived |
| start_date | string | no | Earliest start (ISO-8601) |
| end_date | string | no | Latest start (ISO-8601) |
| search | string | no | Filename / UID / custom-field substring search |
| sort_id | string | no | — |
| sort_by | string | no | Sort by this field. Default: started date desc (newest first). |
| sort_dir | string | no | Sort direction; default desc. |
| spool_id | integer | no | Only jobs that used this filament spool |
| queue_job | integer | no | — |
| sources | array | no | — |
| machine_types | array | no | — |
| compact | boolean | no | Keep at default true. Returns minimal data tuned for AI context. Only set to false if you specifically need fields the compact view drops, and then pair with limit to keep the response small. |
Get detailed info for a specific print job.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | string | yes | — |
| extra | string | no | — |
| getcustomfields | string | no | — |
Archive a print job (hide from default history listings).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobs | array | yes | — |
| reason | string | no | — |
Restore an archived print job.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobs | array | yes | — |
Account-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| users | array | no | — |
| printers | array | no | — |
| printer_models | array | no | — |
| start_date | string | no | — |
| end_date | string | no | — |
| general | boolean | no | — |
| fake_data | boolean | no | — |
Referral program statistics: conversions, earnings, pending payout.
No parameter schema on file.
Whole-account maintenance overview in one call: counts (in maintenance, scheduled, overdue, open problems, low/out of stock), the single next due job, the 10 most recent jobs, per-printer status and the active maintenance plans. Good for "how is the farm doing"; use list_maintenance_jobs for anything that needs filtering, paging or more than the 10 most recent jobs. Note low_stock_parts is silentl
No parameter schema on file.
List maintenance jobs across the account with filters, paging and sorting — the tool for "what maintenance is outstanding, and on which printer". Each job carries its printer, priority, scheduled date, task progress, assignees and linked problems. Returns 10 per page by default; raise page_size (max 100) or advance page. IMPORTANT: a returned job status may read "overdue", but that value is DERIVE
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | no | Only jobs for this printer. Takes precedence over printer_ids. |
| printer_ids | string | no | Only jobs for these printers, as a comma-separated list of ids ("4,9,12"). Ignored when printer_id is set. |
| status | string | no | Filter by stored job status. "overdue" is not a stored status and is rejected here — it is derived from scheduled_date at read time. |
| search | string | no | Substring match over job title, description and printer name. |
| page | integer | no | Page number (1-based). |
| page_size | integer | no | Jobs per page, 1-100. Defaults to 10 over MCP; job records are large. |
| sort_id | string | no | Sort field; default created_at. |
| sort_dir | string | no | Sort direction; default desc. |
Everything known about one printer's maintenance: current status, health (last maintenance, days since, open problem count, active job), lifetime print and maintenance stats, the last 50 jobs, per-task completion history and spare parts consumed. The only source of a PREDICTED next-due date — when nothing is scheduled yet, health.next_scheduled_job is filled from the matching maintenance plan and
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | yes | The printer to profile. Required. |
| include_active_job_detail | boolean | no | Also return the full task checklist of the active (or next scheduled) job. Off by default; get_maintenance_job gives the same detail for any job. |
List reported printer problems with their description, problem type, reporter, status and age — get_maintenance_dashboard returns only an open-problem count, none of this. Returns 10 per page by default; raise page_size (max 100) or advance page.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| printer_id | integer | no | Only problems reported against this printer. |
| problem_type_id | integer | no | Only problems of this problem type. |
| status | string | no | Filter by problem status. Use "open" for what still needs attention. |
| search | string | no | Substring match over problem description, printer name, problem type name and reporter name. |
| page | integer | no | Page number (1-based). |
| page_size | integer | no | Problems per page, 1-100. Defaults to 10 over MCP. |
| sort_id | string | no | Sort field; default created_at. |
| sort_dir | string | no | Sort direction; default desc (newest first). |
Full detail for one maintenance job: the task checklist with per-task completion, assignee and spare-part requirement, the printer's stats since its last maintenance, the problems linked to the job, and other unresolved problems on the same printer. Task checklists and spare-part requirements are available nowhere else over MCP. Pass the job id as job_id (list_maintenance_jobs returns it as "id");
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | integer | yes | Maintenance job id. |
List maintenance spare parts with stock level, low-stock threshold, SKU, category, cost and the printer models each part fits. Requires the Maintenance Inventory plan feature: without it this tool fails with an explicit "your account doesn't have access to this feature" error, so an empty list here always means the account genuinely has no matching parts. (get_maintenance_dashboard cannot tell you
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | Exact spare-part category match. |
| stock_status | string | no | Filter by derived stock state. low_stock means at or below the part's threshold but not yet zero. |
| search | string | no | Substring match over part name, SKU, description and category. |
| page | integer | no | Page number (1-based). |
| page_size | integer | no | Parts per page, 1-100; default 25. |
| sort_id | string | no | Sort field; default name. |
| sort_dir | string | no | Sort direction; default asc. |
| printer_brand | string | no | Only parts that fit this printer brand. |
| printer_model_ids | array | no | Only parts that fit these printer models. |
Cheapest fleet-wide maintenance check; takes no parameters. Returns an object keyed by printer id, each entry holding status (in_maintenance, due or scheduled) and next_scheduled_date. Only printers with a scheduled or in-progress job appear, so a printer that is absent has no maintenance outstanding and an empty object means nothing is scheduled anywhere. Follow up with get_printer_maintenance_pr
No parameter schema on file.
For a partner, reseller, OEM or Enterprise group account: maintenance across every account it services. Returns counters (in maintenance, scheduled, overdue, open problems, open alerts, out of order, accounts needing a visit), one row per serviced account (printers, open problems, overdue jobs, next scheduled job, next visit, agreement), the most recent open problems, and the accounts due a visit.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| problems | string | no | — |
| problem_limit | integer | no | — |
For a partner account: its maintenance "needs attention" inbox - alerts its escalation rules opened for serviced accounts (problem thresholds, printers out of order too long, overdue jobs, visits due). Open alerts by default; status can be acknowledged, resolved, unresolved or all. Each alert has a human-readable message.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | string | no | — |
| company_id | integer | no | — |
| limit | integer | no | — |
For a partner account: its maintenance visits to serviced accounts. Open visits (proposed, confirmed, in progress) by default, soonest first; filter by status, company_id or a from/to date range.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| status | string | no | — |
| company_id | integer | no | — |
| from | string | no | — |
| to | string | no | — |
| limit | integer | no | — |
For a partner account: serviced accounts due a maintenance visit under their agreed visits per year, soonest first, with visits used this year, the next booked visit, and whether it is overdue. Suggestions only; nothing is booked.
No parameter schema on file.
Move a scheduled maintenance job to in-progress, putting the printer into maintenance mode so AutoPrint stops sending it work. Only works on a job in "scheduled" status. This is the safe direction: it takes a printer OUT of rotation.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | integer | yes | — |
Tick one task off a maintenance job. Does NOT complete the job or return the printer to the AutoPrint rotation - use complete_maintenance_job for that once every task is done. If the task is tied to a spare-part category you must pass selected_spare_part_id, or skip_spare_part true; completing it decrements that part's stock.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task_id | integer | yes | — |
| selected_spare_part_id | integer | no | — |
| skip_spare_part | boolean | no | — |
| custom_fields | array | no | — |
Reopen a task that was ticked off by mistake. The undo for complete_maintenance_task.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task_id | integer | yes | — |
Mark a task as skipped rather than done - it was not needed this time. Reversible with unskip_maintenance_task.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task_id | integer | yes | — |
Undo a skip, putting the task back on the job as outstanding.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task_id | integer | yes | — |
Assign a maintenance task to a user, or pass no user_id to unassign it. Set notify true to tell them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task_id | integer | yes | — |
| user_id | integer | no | — |
| notify | boolean | no | — |
Close a maintenance job as done. This RETURNS THE PRINTER TO THE AUTOPRINT ROTATION, so only call it when the work has actually been carried out - confirm with the user first. Optionally pass completion_summary, and resolve_problem_ids to close the problems this job fixed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | integer | yes | — |
| completion_summary | string | no | — |
| resolve_problem_ids | array | no | — |
| skip_resolve_linked | boolean | no | — |
Cancel a maintenance job that is not going to happen. If it was in progress this also returns the printer to the AutoPrint rotation. Not the same as completing it: no work is recorded and schedule counters are not reset.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | integer | yes | — |
Get one or more realistic sample webhook payloads for a specific event type, matching the envelope a live webhook delivery would produce. Used by integration platforms (Activepieces, n8n, Zapier) to show the payload shape before any real event fires. Falls back to synthetic data when no applicable entity exists in the account.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event | string | yes | — |
| limit | integer | no | — |
| version | integer | no | — |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install SimplyPrint: 3D Print Farm Management or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish SimplyPrint: 3D Print Farm Management can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.