simplyprint avatar

SimplyPrint: 3D Print Farm Management

simplyprint/simplyprint-claude-plugin

Connects Claude to your SimplyPrint account so you can monitor and control your 3D printer farm from the terminal. The server exposes operations for queuing print jobs, checking printer status, and managing your print farm through SimplyPrint's official API. Comes bundled with starter skills for common workflows like checking queue status or sending files to specific printers. Built for people running multiple printers who want to stay in their development environment instead of switching to a web dashboard. Uses streamable HTTP transport and hooks into the same SimplyPrint infrastructure you'd access through their web interface.

tools
80
transport
HTTP
last updated
Apr 22, 2026

Install

From registry metadata
$ npx add-mcp https://simplyprint.io/api/mcp --name simplyprint

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http simplyprint https://simplyprint.io/api/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 80 tools

Verified live against the running server on Nov 6, 2026.

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...16 params

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...

Parameters* required
compactboolean
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.default: true
filament_columnsstring
group_idinteger
Only return printers in this printer group
job_columnsstring
limitinteger
Cap on results (1-100). Alias for page_size. Use this with sort_by for "top N" queries.
order_bystring
one of status · name · online · last_online · ui · created
out_of_orderboolean
If true, only out-of-order printers; if false, only in-order printers (enterprise feature)
pageinteger
Page number (1-based) when paginating beyond limit/page_size.
page_sizeinteger
printer_columnsstring
searchstring
sort_bystring
Sort by this field. Default: stable (no sort).one of name · sku · mac · created · status · last_online
sort_dirstring
Sort direction; default asc when sort_by is set.one of asc · desc
sort_idstring
statusarray
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 Pri...
tagsarray
Filter printers that have any of the given tag names
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...2 params

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...

Parameters* required
compactboolean
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.default: true
printer_id*string
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, no...

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, no...

No parameters. Call it with no arguments.

pause_printPause the current print on a printer1 params

Pause the current print on a printer

Parameters* required
printer_id*integer
The printer IDs (comma-separated for multiple)
resume_printResume a paused print on a printer1 params

Resume a paused print on a printer

Parameters* required
printer_id*integer
The printer IDs (comma-separated for multiple)
cancel_printCancel the current print on a printer6 params

Cancel the current print on a printer

Parameters* required
commentstring
Optional comment explaining why the print was cancelled. May be required depending on organization settings.
custom_positioninteger
Custom sort position when return_position is 'custom'.
printer_id*integer
The printer IDs (comma-separated for multiple)
reasoninteger
Cancel reason ID. May be required depending on organization settings.
return_positionstring
Position to insert queue item at when returning to queue (original, top, bottom or custom).one of top · bottom · custom · original
return_to_queueboolean
Whether to return cancelled queued print to the queue. Uses organization default if not specified.
send_gcodeSend G-code commands to a printer5 params

Send G-code commands to a printer

Parameters* required
gcodearray
Array of G-code commands to send. Either gcode, macro, or snippet_id is required.
macrostring
Predefined macro name to execute. Either gcode, macro, or snippet_id is required.one of is_start · is_end · is_cancel · is_pause · is_resume · move_axis
macro_contextarray
Optional context data for macro execution.
printer_id*integer
The printer IDs (comma-separated for multiple)
snippet_idinteger
ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required.
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...11 params

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...

Parameters* required
custom_fieldsarray
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).
file_idstring
Hex bucket hash returned by the files.simplyprint.io Upload endpoint. Choose this when starting from a file uploaded via the API.
filesystemstring
UserFile.uid of an existing library file. Choose this when starting from an already-imported file.
individual_custom_fieldsarray
Per-printer or per-queue-item PRINT_JOB custom fields. Each entry: {id: <string>, value: [customFieldSubmissions]}.
mms_mapstring
next_queue_itemboolean
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_f...
printer_id*string
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).
queue_fileinteger
Existing print queue item id. Choose this to start the job from a queued item (most common flow).
reprintinteger
Previous print_job id to reprint with the same file and settings.
schedule_forstring
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 Sc...
start_optionsstring
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,...3 params

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,...

Parameters* required
page*integer
page_size*integer
printer_idsarray
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...3 params

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...

Parameters* required
expected_job_uidstring
Job uid returned by list_scheduled_prints. The action is refused if that printer now holds a different pending print.
printer_id*string
Comma-separated printer id(s) whose scheduled print should move.
schedule_forstring
New absolute instant (ISO 8601), at least 1 minute and at most 7 days ahead. Omit or null to start the print now.
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.2 params

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.

Parameters* required
expected_job_uidstring
Job uid returned by list_scheduled_prints. The action is refused if that printer now holds a different pending print.
printer_id*integer
The printer IDs (comma-separated for multiple)
home_printerHome the printer axes (move to origin position)3 params

Home the printer axes (move to origin position)

Parameters* required
axesstring
Axes to home, space-separated. Examples: "X Y Z" (all), "X Y" (XY only), "Z" (Z only)default: X Y Z
printer_id*integer
The printer IDs (comma-separated for multiple)
snippet_idinteger
ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required.
move_printer_axisMove a printer axis to a relative position5 params

Move a printer axis to a relative position

Parameters* required
direction*string
Axis and direction to move. Use axis letter, optionally with minus for negative. Examples: "X" (+X), "X-" (-X), "Y", "Y-", "Z", "Z-"one of X · X- · Y · Y- · Z · Z-
distance*number
Distance to move in millimeters
printer_id*integer
The printer IDs (comma-separated for multiple)
snippet_idinteger
ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required.
speednumber
Movement speed in mm/min. If not specified, uses printer default.
set_printer_fansControl the printer cooling fans3 params

Control the printer cooling fans

Parameters* required
printer_id*integer
The printer IDs (comma-separated for multiple)
snippet_idinteger
ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required.
speed*integer
Fan speed from 0 (off) to 255 (full speed). Use 0 to turn fans off.
set_printer_motorsEnable or disable the printer stepper motors3 params

Enable or disable the printer stepper motors

Parameters* required
enabled*string
Motor state: "on" to enable motors (lock axes), "off" to disable (allow manual movement)one of on · off
printer_id*integer
The printer IDs (comma-separated for multiple)
snippet_idinteger
ID of a gcode snippet to send. Either gcode, macro, or snippet_id is required.
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.5 params

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.

Parameters* required
bedinteger
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.
chamberinteger
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.
printer_id*integer
The printer IDs (comma-separated for multiple)
toolinteger
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_indexinteger
Zero-based tool index for multi-tool printers. Requires tool to be set. Defaults to 0.
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: "Engineeri...15 params

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: "Engineeri...

Parameters* required
added_afterstring
Items created strictly after this ISO-8601 date
added_beforestring
Items created strictly before this ISO-8601 date
approval_statusstring
Filter by approval status. Default excludes denied.one of not_required · pending · approved · denied · revision
compactboolean
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.default: true
custom_fieldsarray
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...
groupinteger
Only return items in this queue group (0 = the ungrouped bucket)
newer_than_daysinteger
Items created within the last this many days
older_than_daysinteger
Items created more than this many days ago
pageinteger
page_sizeinteger
Items per page (1-200). Use this as the result-size cap.
printer_idarray
Only return queue items assigned to (via for_printers) any of these printer ids
searchstring
Filename substring search
sort_bystring
Sort by this field. Default: sort_position (ascending — matches the queue's display order).one of sort_position · created · name · approval_status
sort_dirstring
Sort direction; default asc.one of asc · desc
tagsarray
Match items that have any of the given tag names
get_queue_itemGet details of a specific queue item1 params

Get details of a specific queue item

Parameters* required
item_id*integer
remove_from_queueRemove an item from the print queue2 params

Remove an item from the print queue

Parameters* required
jobinteger
jobsstring
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...11 params

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...

Parameters* required
amountinteger
Number of copies to queue. Default 1.
custom_fieldsarray
PRINT_QUEUE custom fields for the new queue item. Each entry: {customFieldId: string uuid, value: one-of {string, number, boolean, date, options[]}}.
fileIdstring
Hex bucket hash returned by the files.simplyprint.io Upload endpoint. Use this when the file was uploaded via the API (recommended for integrations).
filesystemstring
UserFile.uid of an existing library file (use list_files to discover). Either numeric id or UID string is accepted.
for_groupsstring
for_modelsstring
for_printersstring
groupinteger
Queue group id to add the item to. Use list_queue_groups to discover available groups.
notestring
positionstring
Where to insert: "top", "bottom", or a 1-based numeric position.
tagsobject
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 positi...
update_queue_itemUpdate a queue item (amount, note, custom print time, material usage, printer assignments).16 params

Update a queue item (amount, note, custom print time, material usage, printer assignments).

Parameters* required
amountinteger
deadlinestring
for_groupsstring
for_modelsstring
for_printersstring
infiniteboolean
log_printboolean
material_usagenumber
max_concurrent_printersinteger
notestring
pausedboolean
persistentboolean
printedinteger
prioritystring
one of normal · low
queue_item_id*integer
timeinteger
reorder_queue_itemMove a single queue item to a new 1-based position.3 params

Move a single queue item to a new 1-based position.

Parameters* required
frominteger
queue_item_id*integer
to*integer
move_queue_itemMove one or more queue items to a different queue group.2 params

Move one or more queue items to a different queue group.

Parameters* required
jobs*string
target_group_id*integer
revive_queue_itemBring a completed (done) queue item back to the active queue.6 params

Bring a completed (done) queue item back to the active queue.

Parameters* required
amountinteger
groupinteger
positionstring
one of top · bottom
position_indexinteger
prioritystring
one of normal · low
queue_item_id*integer
empty_queueDESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling.2 params

DESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling.

Parameters* required
done_itemsboolean
groupinteger
inspect_printer_queueShow which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print.3 params

Show which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print.

Parameters* required
criteriaarray
modestring
one of autoprint
printer_id*string
get_queue_item_costCalculate the estimated cost of a queue item, optionally for a specific printer.4 params

Calculate the estimated cost of a queue item, optionally for a specific printer.

Parameters* required
item_idinteger
mms_maparray
printer_idinteger
queue_item_id*integer
get_next_queue_itemFind the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.12 params

Find the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.

Parameters* required
compactboolean
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.default: true
deselectsstring
filtersarray
includeTodoSummaryboolean
mustClearBedboolean
normalOnlyboolean
printer_id*integer
The printer IDs (comma-separated for multiple)
queueGroupsOrderarray
settingsarray
skippedQueueItemsarray
sortingarray
specificQueueGroupsarray
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 print...2 params

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 print...

Parameters* required
compactboolean
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.default: true
printer_id*string
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.
list_queue_groupsList all queue groups in the user's account.1 params

List all queue groups in the user's account.

Parameters* required
item_idinteger
save_queue_groupCreate a new queue group or update an existing one.

Create a new queue group or update an existing one.

No parameters. Call it with no arguments.

delete_queue_groupDelete a queue group. Optionally move its items to another group via move_to.2 params

Delete a queue group. Optionally move its items to another group via move_to.

Parameters* required
item_id*integer
move_tointeger
reorder_queue_groupMove a queue group to a new position.2 params

Move a queue group to a new position.

Parameters* required
group_id*integer
to*integer
list_pending_queue_itemsList queue items pending approval (status: PENDING, DENIED, or REVISION).3 params

List queue items pending approval (status: PENDING, DENIED, or REVISION).

Parameters* required
pageinteger
per_pageinteger
statusstring
approve_queue_itemApprove one or more pending/revision/denied queue items, with optional comment.3 params

Approve one or more pending/revision/denied queue items, with optional comment.

Parameters* required
commentstring
jobinteger
jobsstring
deny_queue_itemDeny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision.4 params

Deny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision.

Parameters* required
commentstring
jobinteger
jobsstring
removeboolean
send_back_for_revisionRevoke approval on an already-approved item and send it back to the submitter for revisions.2 params

Revoke approval on an already-approved item and send it back to the submitter for revisions.

Parameters* required
commentstring
queue_item_id*integer
resubmit_queue_itemResubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP.2 params

Resubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP.

Parameters* required
commentstring
queue_item_id*integer
list_queue_commentsRetrieve all approval comments on a queue item or user file.2 params

Retrieve all approval comments on a queue item or user file.

Parameters* required
file_idstring
item_idinteger
add_queue_commentAdd a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP.4 params

Add a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP.

Parameters* required
commentstring
file_idstring
item_idinteger
typestring
update_queue_commentEdit an approval comment you authored.2 params

Edit an approval comment you authored.

Parameters* required
comment*string
item_id*integer
delete_queue_commentDelete an approval comment you authored (or any comment if you have the permission).1 params

Delete an approval comment you authored (or any comment if you have the permission).

Parameters* required
item_id*integer
list_custom_fieldsList custom field definitions with pagination and search.7 params

List custom field definitions with pagination and search.

Parameters* required
end_datenumber
page*integer
page_size*integer
searchstring
sort_dirstring
one of asc · desc
sort_idstring
start_datenumber
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).3 params

List custom field definitions for a specific entity category and optional sub-category (e.g. PRINT + PRINT_QUEUE for queue-item custom fields).

Parameters* required
category*string
one of project · project_item · project_variant · print · user · printer
includeDisabledstring
one of true · false · 1 · 0
subCategorystring
one of project_edit · project_slice · project_release · manufacturing_input · print_queue · print_job
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.4 params

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.

Parameters* required
category*string
one of project · project_item · project_variant · print · user · printer
entityIds*array
subCategorystring
one of project_edit · project_slice · project_release · manufacturing_input · print_queue · print_job
values*array
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.14 params

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.

Parameters* required
compactboolean
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.default: true
cursorstring
The next page of projects: pass projects_page.next_cursor from the previous answer, with the same folder, search and sort.
finteger
Folder id to list (0 or omitted = root)
files_cursorstring
files_page_sizeinteger
global_searchboolean
If true (default), search recursively across all folders instead of only the current one
has_gcodeboolean
true = only files with a parsed G-code analysis (printable); false = only non-printable files (models, etc.)
limitinteger
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.
nest_intostring
printer_idinteger
Only return files compatible with this printer (full compatibility check, not just model)
searchstring
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.
sort_bystring
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.one of name · size · created
sort_dirstring
Sort direction; default desc (newest/largest first).one of asc · desc
startboolean
get_folderGet a folder's details including permissions.1 params

Get a folder's details including permissions.

Parameters* required
item_id*integer
estimate_file_costEstimate the print cost of a file, optionally for a specific printer.5 params

Estimate the print cost of a file, optionally for a specific printer.

Parameters* required
analysisarray
item_idstring
mms_maparray
newFileboolean
printer_idinteger
match_file_to_printersFind which printer models in the account are compatible with a given file.2 params

Find which printer models in the account are compatible with a given file.

Parameters* required
gcodeAnalysisarray
model*string
set_file_printersSet the printers/models/groups a file is assigned to.4 params

Set the printers/models/groups a file is assigned to.

Parameters* required
groupsarray
items*array
modelsarray
printersarray
update_fileUpdate file metadata such as name and GCODE analysis.7 params

Update file metadata such as name and GCODE analysis.

Parameters* required
analysisarray
item_id*string
namestring
printer_groupsstring
printer_modelsstring
printersstring
remove_thumbnailboolean
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).13 params

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).

Parameters* required
bedTypeobject
Build-plate tag.
customarray
Custom tag ids to assign.
detach_tag_idsarray
Custom tag ids to remove.
editedstring
one of nozzle · material · custom · bedType
file_idstring
UserFile.uid of one file from list_files.
file_idsarray
UserFile.uid values when assigning the same tags to multiple files.
materialarray
Material tags, one object per extruder. Set color and/or hex to tag a file by colour.
nozzlenumber
Legacy single-nozzle size in millimetres.
nozzleDataarray
Nozzle data, one object per nozzle.
overrideboolean
tag_idinteger
Legacy alias for a single custom tag id.
tag_idsarray
Alias for custom.
type*integer
one of 3default: 3
create_folderCreate a new folder (or edit an existing one with optional org-level permissions).5 params

Create a new folder (or edit an existing one with optional org-level permissions).

Parameters* required
item_idinteger
name*string
orgboolean
org_permsarray
parent_folder*integer
delete_folderDelete one or more folders.1 params

Delete one or more folders.

Parameters* required
folder*string
move_fileMove one or more files to a folder.3 params

Move one or more files to a folder.

Parameters* required
all_or_nothingboolean
files*string
folder*integer
move_folderMove a folder to another location.2 params

Move a folder to another location.

Parameters* required
folder*integer
target*integer
delete_fileDelete one or more files.1 params

Delete one or more files.

Parameters* required
file*string
get_slicer_settings_for_fileRetrieve slicer settings stored for a file.1 params

Retrieve slicer settings stored for a file.

Parameters* required
file*string
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=l...10 params

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=l...

Parameters* required
assignedboolean
true = only spools assigned to a printer; false = only unassigned spools
brandstring
Brand name substring
colorstring
Color substring — matches hex, name, or color group
compactboolean
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.default: true
emptyboolean
true = only empty spools; false = only non-empty spools
limitinteger
Cap on number of spools returned after sorting/filtering. Use this with sort_by to grab e.g. the 3 newest.
material_typestring
Material type substring (e.g. "PLA", "PETG")
printer_idinteger
Only spools assigned to this printer id
sort_bystring
Field to sort by. Defaults to created (newest first).one of created · last_used · left · brand · color
sort_dirstring
Sort direction. Defaults to desc.one of asc · desc
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").5 params

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").

Parameters* required
company_idinteger
locationscountboolean
publicboolean
spool_idinteger
spool_short_idstring
adjust_filament_weightAdjust the remaining weight of a filament spool (e.g. after manual weighing).10 params

Adjust the remaining weight of a filament spool (e.g. after manual weighing).

Parameters* required
empty_spool_weightinteger
filament_id*integer
The filament ID
grams_remainingnumber
log_printboolean
log_print_filenamestring
log_print_printer_idinteger
percent_leftnumber
save_empty_spool_weightboolean
subtract_empty_spoolboolean
weighed_grossnumber
assign_filamentAssign a filament spool to a printer (or a specific extruder slot).4 params

Assign a filament spool to a printer (or a specific extruder slot).

Parameters* required
extruderarray
filament_id*integer
The filament IDs (comma-separated for multiple)
printer_id*integer
The printer ID
sourcestring
one of changer · tag · filamentpage · viewspool · startprint · slicer
unassign_filamentRemove a filament spool from its printer assignment.3 params

Remove a filament spool from its printer assignment.

Parameters* required
filament_id*integer
The filament ID
location_idinteger
sourcestring
one of changer · tag · filamentpage · viewspool · startprint · slicer
get_filament_historyRetrieve the usage history of a filament spool.5 params

Retrieve the usage history of a filament spool.

Parameters* required
item_idinteger
pageinteger
perPageinteger
publicboolean
user_idstring
mark_filament_driedMark a filament spool as freshly dried (resets humidity tracking).2 params

Mark a filament spool as freshly dried (resets humidity tracking).

Parameters* required
dried_atstring
filament_id*integer
The filament IDs (comma-separated for multiple)
list_filament_colorsList available filament colors (for UI pickers or picking similar spools).

List available filament colors (for UI pickers or picking similar spools).

No parameters. Call it with no arguments.

list_brand_filamentsList filament products from a specific brand.1 params

List filament products from a specific brand.

Parameters* required
item_id*integer
list_print_jobsList past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags.20 params

List past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags.

Parameters* required
accepted_statusesarray
Filter by job status. Multiple values OR-matched.
archived_statusstring
null (default): hide archived; archived: only archived; both: include archivedone of null · archived · both
compactboolean
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.default: true
end_datestring
Latest start (ISO-8601)
limitinteger
Cap on results per page (1-100). Alias for page_size.
machine_typesarray
page*integer
Page number (1-based)
page_size*integer
Items per page (1-100)
printer_groupsarray
Only jobs from printers in these groups
printer_idsarray
Only jobs from these printer ids
printer_typesarray
queue_jobinteger
searchstring
Filename / UID / custom-field substring search
sort_bystring
Sort by this field. Default: started date desc (newest first).one of filename · dates · status · cost
sort_dirstring
Sort direction; default desc.one of asc · desc
sort_idstring
sourcesarray
spool_idinteger
Only jobs that used this filament spool
start_datestring
Earliest start (ISO-8601)
user_idsarray
Only jobs started by these users (requires VIEW_ALL_PRINT_HISTORY)
get_print_jobGet detailed info for a specific print job.3 params

Get detailed info for a specific print job.

Parameters* required
extrastring
getcustomfieldsstring
item_id*string
archive_print_jobArchive a print job (hide from default history listings).2 params

Archive a print job (hide from default history listings).

Parameters* required
jobs*array
reasonstring
unarchive_print_jobRestore an archived print job.1 params

Restore an archived print job.

Parameters* required
jobs*array
get_account_statisticsAccount-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.7 params

Account-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.

Parameters* required
end_datestring
fake_databoolean
generalboolean
printer_modelsarray
printersarray
start_datestring
usersarray
get_referral_statsReferral program statistics: conversions, earnings, pending payout.

Referral program statistics: conversions, earnings, pending payout.

No parameters. Call it with no arguments.

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_maint...

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_maint...

No parameters. Call it with no arguments.

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 defaul...9 params

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 defaul...

Parameters* required
datedboolean
Only jobs with a scheduled_date. With sort_id scheduled_date and sort_dir asc this lists what is due next; without it, undated jobs sort first.
pageinteger
Page number (1-based).
page_sizeinteger
Jobs per page, 1-100. Defaults to 10 over MCP; job records are large.
printer_idinteger
Only jobs for this printer. Takes precedence over printer_ids.
printer_idsstring
Only jobs for these printers, as a comma-separated list of ids ("4,9,12"). Ignored when printer_id is set.
searchstring
Substring match over job title, description and printer name.
sort_dirstring
Sort direction; default desc.one of asc · desc
sort_idstring
Sort field; default created_at.one of created_at · scheduled_date · status · priority · printer · title
statusstring
Filter by stored job status. "overdue" is not a stored status and is rejected here — it is derived from scheduled_date at read time.one of scheduled · in_progress · completed · cancelled
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...2 params

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...

Parameters* required
include_active_job_detailboolean
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.
printer_id*integer
The printer to profile. Required.
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.8 params

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.

Parameters* required
pageinteger
Page number (1-based).
page_sizeinteger
Problems per page, 1-100. Defaults to 10 over MCP.
printer_idinteger
Only problems reported against this printer.
problem_type_idinteger
Only problems of this problem type.
searchstring
Substring match over problem description, printer name, problem type name and reporter name.
sort_dirstring
Sort direction; default desc (newest first).one of asc · desc
sort_idstring
Sort field; default created_at.one of created_at · status · printer · problem_type
statusstring
Filter by problem status. Use "open" for what still needs attention.one of open · acknowledged · resolved
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-p...1 params

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-p...

Parameters* required
job_id*integer
Maintenance job id.
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,...9 params

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,...

Parameters* required
categorystring
Exact spare-part category match.
pageinteger
Page number (1-based).
page_sizeinteger
Parts per page, 1-100; default 25.
printer_brandstring
Only parts that fit this printer brand.
printer_model_idsarray
Only parts that fit these printer models.
searchstring
Substring match over part name, SKU, description and category.
sort_dirstring
Sort direction; default asc.one of asc · desc
sort_idstring
Sort field; default name.one of name · quantity · category · sku · cost_per_unit · status
stock_statusstring
Filter by derived stock state. low_stock means at or below the part's threshold but not yet zero.one of in_stock · low_stock · out_of_stock
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, scheduled, or operational when only problems are open), next_scheduled_date and open_problems (the number of reported problems not...

Cheapest fleet-wide maintenance check; takes no parameters. Returns an object keyed by printer id, each entry holding status (in_maintenance, due, scheduled, or operational when only problems are open), next_scheduled_date and open_problems (the number of reported problems not...

No parameters. Call it with no arguments.

Sponsors

Readme

SimplyPrint Claude Code marketplace

Official Claude Code marketplace from SimplyPrint. Hosts the SimplyPrint plugin for Claude Code so you can manage your 3D printer farm without leaving your terminal.

Install

/plugin marketplace add simplyprint/simplyprint-claude-plugin
/plugin install simplyprint@simplyprint

Plugins

PluginDescription
simplyprintConnects Claude Code to your SimplyPrint account via the official SimplyPrint MCP server. Includes starter skills for common workflows.

Hosting it yourself

This whole repo is the marketplace. Anyone can add it with /plugin marketplace add simplyprint/simplyprint-claude-plugin. To run a fork, just point users at your repo instead.

See .claude-plugin/marketplace.json for the catalog and Claude Code marketplace docs for how this all works.

License

MIT

Details

Repository
github.com/simplyprint/simplyprint-claude-plugin
Website
simplyprint.io
Categories
Design & Creative, Monitoring & Observability
Transport
HTTP
Registry
MCP registry, active
Tools verified
Nov 6, 2026

Related Design & Creative MCP servers

View all
1n0ss4 avatargraftan0ss4/graftaTalk to any Figma file with your AI: ask what's in it, change it, or turn it into code.1stars
2prashantbtkl avatarSpresh Mcpprashantbtkl/spresh-mcpSearch Facebook ads, decode competitor creative strategy, and track brand ad history.1stars
3smallhandsome avatarShotAPI MCP Serversmallhandsome/shotapi-mcp-serverScreenshot and HTML render MCP server for AI agents1stars
4tkmd avatarReftrixmcptkmd/reftrixmcpWeb design analysis with 26 MCP tools: layout, motion, quality, semantic search via pgvector1stars
5tokenarcade avatarTokenarcadeai.tokenarcade/tokenarcadeGames for AI agents. Each game runs inside a single context window.0stars
6allyburns avatarTrazo pilotallyburns/trazo-pilotFly Trazo, a browser game over the real Nazca lines, turn by turn, and post to its AI board.0stars