SimplyPrint: 3D Print Farm Management

io.simplyprint/simplyprint · v1.0.1 · productivity

SimplyPrint: 3D Print Farm Management is healthy: it completed an MCP handshake in 1929 ms and exposes 93 tools.

3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.

Endpoint: https://simplyprint.io/api/mcp (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count93
Latency1929 ms
Last checked (UTC)2026-10-15T11:50:13.206Z

Health history

Checked (UTC)StatusLatencyError
2026-10-15T11:50:13.206ZHealthy1929

Tools (93)

list_printersList 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
get_printerGet 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 noi
get_farm_overviewOne-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, operationa
pause_printPause the current print on a printer
resume_printResume a paused print on a printer
cancel_printCancel the current print on a printer
send_gcodeSend G-code commands to a printer
create_print_jobStart 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 pe
list_scheduled_printsList 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
reschedule_printChange 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.
cancel_scheduled_printCancel 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.
home_printerHome the printer axes (move to origin position)
move_printer_axisMove a printer axis to a relative position
set_printer_fansControl the printer cooling fans
set_printer_motorsEnable or disable the printer stepper motors
set_printer_temperaturesSet 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.
list_queueList 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 de
get_queue_itemGet details of a specific queue item
remove_from_queueRemove an item from the print queue
add_to_queueQueue 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 exampl
update_queue_itemUpdate a queue item (amount, note, custom print time, material usage, printer assignments).
reorder_queue_itemMove a single queue item to a new 1-based position.
move_queue_itemMove one or more queue items to a different queue group.
revive_queue_itemBring a completed (done) queue item back to the active queue.
empty_queueDESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling.
inspect_printer_queueShow which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print.
get_queue_item_costCalculate the estimated cost of a queue item, optionally for a specific printer.
get_next_queue_itemFind the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.
get_next_queue_items_for_printersRead-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
list_queue_groupsList all queue groups in the user's account.
save_queue_groupCreate a new queue group or update an existing one.
delete_queue_groupDelete a queue group. Optionally move its items to another group via move_to.
reorder_queue_groupMove a queue group to a new position.
list_pending_queue_itemsList queue items pending approval (status: PENDING, DENIED, or REVISION).
approve_queue_itemApprove one or more pending/revision/denied queue items, with optional comment.
deny_queue_itemDeny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision.
send_back_for_revisionRevoke approval on an already-approved item and send it back to the submitter for revisions.
resubmit_queue_itemResubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP.
list_queue_commentsRetrieve all approval comments on a queue item or user file.
add_queue_commentAdd a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP.
update_queue_commentEdit an approval comment you authored.
delete_queue_commentDelete an approval comment you authored (or any comment if you have the permission).
list_custom_fieldsList custom field definitions with pagination and search.
list_custom_fields_forList custom field definitions for a specific entity category and optional sub-category (e.g. PRINT + PRINT_QUEUE for queue-item custom fields).
set_custom_field_valuesSet 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.
list_filesList 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.
get_folderGet a folder's details including permissions.
estimate_file_costEstimate the print cost of a file, optionally for a specific printer.
match_file_to_printersFind which printer models in the account are compatible with a given file.
set_file_printersSet the printers/models/groups a file is assigned to.
update_fileUpdate file metadata such as name and GCODE analysis.
assign_tagsAssign 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).
create_folderCreate a new folder (or edit an existing one with optional org-level permissions).
delete_folderDelete one or more folders.
move_fileMove one or more files to a folder.
move_folderMove a folder to another location.
delete_fileDelete one or more files.
get_slicer_settings_for_fileRetrieve slicer settings stored for a file.
list_filamentsList 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/fulles
get_filamentGet 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").
adjust_filament_weightAdjust the remaining weight of a filament spool (e.g. after manual weighing).
assign_filamentAssign a filament spool to a printer (or a specific extruder slot).
unassign_filamentRemove a filament spool from its printer assignment.
get_filament_historyRetrieve the usage history of a filament spool.
mark_filament_driedMark a filament spool as freshly dried (resets humidity tracking).
list_filament_colorsList available filament colors (for UI pickers or picking similar spools).
list_brand_filamentsList filament products from a specific brand.
list_print_jobsList past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags.
get_print_jobGet detailed info for a specific print job.
archive_print_jobArchive a print job (hide from default history listings).
unarchive_print_jobRestore an archived print job.
get_account_statisticsAccount-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.
get_referral_statsReferral program statistics: conversions, earnings, pending payout.
get_maintenance_dashboardWhole-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 anythin
list_maintenance_jobsList 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
get_printer_maintenance_profileEverything 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 n
list_maintenance_problemsList 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.
get_maintenance_jobFull 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 av
list_spare_partsList 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
get_maintenance_status_mapCheapest 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 outstandin
get_partner_maintenance_overviewFor 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
list_partner_maintenance_alertsFor 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
list_partner_maintenance_visitsFor 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.
list_accounts_due_maintenance_visitFor 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.
start_maintenance_jobMove 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.
complete_maintenance_taskTick 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 de
uncomplete_maintenance_taskReopen a task that was ticked off by mistake. The undo for complete_maintenance_task.
skip_maintenance_taskMark a task as skipped rather than done - it was not needed this time. Reversible with unskip_maintenance_task.
unskip_maintenance_taskUndo a skip, putting the task back on the job as outstanding.
assign_maintenance_taskAssign a maintenance task to a user, or pass no user_id to unassign it. Set notify true to tell them.
complete_maintenance_jobClose 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.
cancel_maintenance_jobCancel 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.
get_webhook_sampleGet 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 e