Connection check
verified live · 26h ago
simplyprint
3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.
Tools
75
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
26h ago
Tools & capabilities
75 toolsRead from the running server on 26h ago.
add_queue_comment
typecommentfile_iditem_id
Add a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP. Add a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP.
add_to_queue
tagsgroupamountfileIdpositionfilesystem
+4
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). S… 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}]}).
adjust_filament_weight
log_printfilament_id*percent_leftweighed_grossgrams_remainingempty_spool_weight
+4
Adjust the remaining weight of a filament spool (e.g. after manual weighing). Adjust the remaining weight of a filament spool (e.g. after manual weighing).
approve_queue_item
jobjobscomment
Approve one or more pending/revision/denied queue items, with optional comment. Approve one or more pending/revision/denied queue items, with optional comment.
archive_print_job
jobs*reason
Archive a print job (hide from default history listings). Archive a print job (hide from default history listings).
assign_filament
sourceextruderprinter_id*filament_id*
Assign a filament spool to a printer (or a specific extruder slot). Assign a filament spool to a printer (or a specific extruder slot).
assign_tags
type*customeditednozzletag_idbedType
+7
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 t… 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).
cancel_print
can modify data
reasoncommentprinter_id*custom_positionreturn_positionreturn_to_queue
Cancel the current print on a printer Cancel the current print on a printer
cancel_scheduled_print
can modify data
printer_id*expected_job_uid
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 a… 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.
create_folder
orgname*item_idorg_permsparent_folder*
Create a new folder (or edit an existing one with optional org-level permissions). Create a new folder (or edit an existing one with optional org-level permissions).
create_print_job
file_idmms_mapreprintfilesystemprinter_id*queue_file
+5
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 (exis… 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). Auto-starts when the account's autostartPrints setting is on (default). Pass schedule_for to hold the print until a specific time instead ("print this tonight at 10pm", "start it tomorrow morning").
delete_file
can modify data
file*
Delete one or more files. Delete one or more files.
delete_folder
can modify data
folder*
Delete one or more folders. Delete one or more folders.
delete_queue_comment
can modify data
item_id*
Delete an approval comment you authored (or any comment if you have the permission). Delete an approval comment you authored (or any comment if you have the permission).
delete_queue_group
can modify data
item_id*move_to
Delete a queue group. Optionally move its items to another group via move_to. Delete a queue group. Optionally move its items to another group via move_to.
deny_queue_item
can modify data
jobjobsremovecomment
Deny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision. Deny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision.
empty_queue
can modify data
groupdone_items
DESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling. DESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling.
estimate_file_cost
read-only
item_idmms_mapnewFileanalysisprinter_id
Estimate the print cost of a file, optionally for a specific printer. Estimate the print cost of a file, optionally for a specific printer.
get_account_statistics
read-only
usersgeneralend_dateprintersfake_datastart_date
+1
Account-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters. Account-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.
get_farm_overview
read-only
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… 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 yet — printer is online + operational + still has a job; this is NOT print_pending), in_maintenance, print_pending (a queued staggered/scheduled start), requires_attention (has unresolved error notifications), ai_running, ai_detected_low, ai_detected_high. Counts overlap intentionally: a printer can be in "online" + "printing" + "ai_running" at once.
get_filament
read-only
publicspool_idcompany_idlocationscountspool_short_id
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… 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").
get_filament_history
read-only
pagepublicitem_idperPageuser_id
Retrieve the usage history of a filament spool. Retrieve the usage history of a filament spool.
get_folder
read-only
item_id*
Get a folder's details including permissions. Get a folder's details including permissions.
get_maintenance_dashboard
read-only
Overview of maintenance jobs, problems, inventory, and printer maintenance status. Overview of maintenance jobs, problems, inventory, and printer maintenance status.
get_next_queue_item
read-only
compactfilterssortingsettingsdeselectsnormalOnly
+6
Find the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher. Find the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.
get_next_queue_items_for_printers
read-only
compactprinter_id*
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… 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.
get_printer
read-only
compactprinter_id*
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… 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.
get_print_job
read-only
extraitem_id*getcustomfields
Get detailed info for a specific print job. Get detailed info for a specific print job.
get_queue_item
read-only
item_id*
Get details of a specific queue item Get details of a specific queue item
get_queue_item_cost
read-only
item_idmms_mapprinter_idqueue_item_id*
Calculate the estimated cost of a queue item, optionally for a specific printer. Calculate the estimated cost of a queue item, optionally for a specific printer.
get_referral_stats
read-only
Referral program statistics: conversions, earnings, pending payout. Referral program statistics: conversions, earnings, pending payout.
get_slicer_settings_for_file
read-only
file*
Retrieve slicer settings stored for a file. Retrieve slicer settings stored for a file.
get_webhook_sample
read-only
event*limitversion
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 (Activepiece… 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.
home_printer
axesprinter_id*snippet_id
Home the printer axes (move to origin position) Home the printer axes (move to origin position)
inspect_printer_queue
read-only
modeprinter_id*
Show which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print. Show which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print.
list_brand_filaments
read-only
item_id*
List filament products from a specific brand. List filament products from a specific brand.
list_custom_fields
read-only
page*searchsort_idend_datesort_dirpage_size*
+1
List custom field definitions with pagination and search. List custom field definitions with pagination and search.
list_custom_fields_for
read-only
category*subCategoryincludeDisabled
List custom field definitions for a specific entity category and optional sub-category (e.g. PRINT + PRINT_QUEUE for queue-item custom fields). List custom field definitions for a specific entity category and optional sub-category (e.g. PRINT + PRINT_QUEUE for queue-item custom fields).
list_filament_colors
read-only
List available filament colors (for UI pickers or picking similar spools). List available filament colors (for UI pickers or picking similar spools).
list_filaments
read-only
brandcoloremptylimitcompactsort_by
+4
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… 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 specific spool by id or 4-character short id (e.g. "T2SO"), call get_filament instead — do NOT list and grep. Amount-remaining fields: report weight from leftGrams/totalGrams (grams) and percentLeft (%), NOT the raw total/left which are internal filament LENGTH in mm. density (g/cm³) is the value used for the gram conversion; densityIsEstimated=true means the spool has no material profile so a default density was assumed.
list_files
read-only
flimitsearchcompactsort_bysort_dir
+3
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… 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.
list_pending_queue_items
read-only
pagestatusper_page
List queue items pending approval (status: PENDING, DENIED, or REVISION). List queue items pending approval (status: PENDING, DENIED, or REVISION).
list_printers
read-only
pagetagslimitsearchstatuscompact
+10
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 ar… 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 that dropped mid-print, status=["idle"] for available printers ready to accept a job, status=["awaiting_bed_clear"] for printers whose last print finished but the bed has not been cleared yet (NOT print_pending, which means a queued staggered start).
list_print_jobs
read-only
page*limitsearchcompactsort_bysort_id
+14
List past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags. List past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags.
list_queue
read-only
pagetagsgroupsearchcompactsort_by
+9
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_… 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.
list_queue_comments
read-only
file_iditem_id
Retrieve all approval comments on a queue item or user file. Retrieve all approval comments on a queue item or user file.
list_queue_groups
read-only
item_id
List all queue groups in the user's account. List all queue groups in the user's account.
list_scheduled_prints
read-only
page*page_size*printer_ids
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"… 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 those.
mark_filament_dried
dried_atfilament_id*
Mark a filament spool as freshly dried (resets humidity tracking). Mark a filament spool as freshly dried (resets humidity tracking).
match_file_to_printers
read-only
model*gcodeAnalysis
Find which printer models in the account are compatible with a given file. Find which printer models in the account are compatible with a given file.
move_file
files*folder*
Move one or more files to a folder. Move one or more files to a folder.
move_folder
folder*target*
Move a folder to another location. Move a folder to another location.
move_printer_axis
speeddistance*direction*printer_id*snippet_id
Move a printer axis to a relative position Move a printer axis to a relative position
move_queue_item
jobs*target_group_id*
Move one or more queue items to a different queue group. Move one or more queue items to a different queue group.
pause_print
printer_id*
Pause the current print on a printer Pause the current print on a printer
remove_from_queue
can modify data
jobjobs
Remove an item from the print queue Remove an item from the print queue
reorder_queue_group
to*group_id*
Move a queue group to a new position. Move a queue group to a new position.
reorder_queue_item
to*fromqueue_item_id*
Move a single queue item to a new 1-based position. Move a single queue item to a new 1-based position.
reschedule_print
printer_id*schedule_forexpected_job_uid
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.… 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.
resubmit_queue_item
commentqueue_item_id*
Resubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP. Resubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP.
resume_print
printer_id*
Resume a paused print on a printer Resume a paused print on a printer
revive_queue_item
groupamountpositionpriorityqueue_item_id*position_index
Bring a completed (done) queue item back to the active queue. Bring a completed (done) queue item back to the active queue.
save_queue_group
Create a new queue group or update an existing one. Create a new queue group or update an existing one.
send_back_for_revision
can modify data
commentqueue_item_id*
Revoke approval on an already-approved item and send it back to the submitter for revisions. Revoke approval on an already-approved item and send it back to the submitter for revisions.
send_gcode
can modify data
gcodemacroprinter_id*snippet_idmacro_context
Send G-code commands to a printer Send G-code commands to a printer
set_custom_field_values
values*category*entityIds*subCategory
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. 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.
set_file_printers
items*groupsmodelsprinters
Set the printers/models/groups a file is assigned to. Set the printers/models/groups a file is assigned to.
set_printer_fans
speed*printer_id*snippet_id
Control the printer cooling fans Control the printer cooling fans
set_printer_motors
enabled*printer_id*snippet_id
Enable or disable the printer stepper motors Enable or disable the printer stepper motors
set_printer_temperatures
bedtoolchamberprinter_id*tool_index
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… 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.
unarchive_print_job
jobs*
Restore an archived print job. Restore an archived print job.
unassign_filament
sourcefilament_id*location_id
Remove a filament spool from its printer assignment. Remove a filament spool from its printer assignment.
update_file
nameitem_id*analysisprintersprinter_groupsprinter_models
+1
Update file metadata such as name and GCODE analysis. Update file metadata such as name and GCODE analysis.
update_queue_comment
comment*item_id*
Edit an approval comment you authored. Edit an approval comment you authored.
update_queue_item
notetimeamountpausedprinteddeadline
+10