Skip to content

SimplyPrint: 3D Print Farm Management

by simplyprint.io · remote · no sign-in to list tools · v1.0.1 · published by io.simplyprint

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

Deletes · 15Final · 2Changes · 36

93 tools: 15 can delete or cancel things, 2 do something that can't be undone, 36 change things and 40 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

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

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "unassign_filament" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "unassign_filament" says "unassign": a word for a change.

    What this check looks for
  • The server marks "archive_print_job" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "archive_print_job" says "archive": a word for removing or ending something.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

93 tools

Deletes or cancels 15Claude Code: deny
  • archive_print_jobArchive a print job (hide from default history listings).1 finding

    Why it is in this group

    • The name "archive_print_job" says "archive": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "archive_print_job" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "archive_print_job" says "archive": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Archive a print job (hide from default history listings).

    Annotations the server declares

    • title: Archive print job
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • cancel_maintenance_jobCancel a maintenance job that is not going to happen.No findings

    Why it is in this group

    • The name "cancel_maintenance_job" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Cancel maintenance job
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • cancel_printCancel the current print on a printerNo findings

    Why it is in this group

    • The name "cancel_print" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancel the current print on a printer

    Annotations the server declares

    • title: Cancel print
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • 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.No findings

    Why it is in this group

    • The name "cancel_scheduled_print" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Cancel scheduled print
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • complete_maintenance_jobClose a maintenance job as done.No findings

    Why it is in this group

    • The description's first verb is "close": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Complete maintenance job
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_fileDelete one or more files.No findings

    Why it is in this group

    • The name "delete_file" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete one or more files.

    Annotations the server declares

    • title: Delete file
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_folderDelete one or more folders.No findings

    Why it is in this group

    • The name "delete_folder" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete one or more folders.

    Annotations the server declares

    • title: Delete folder
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_queue_commentDelete an approval comment you authored (or any comment if you have the permission).No findings

    Why it is in this group

    • The name "delete_queue_comment" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an approval comment you authored (or any comment if you have the permission).

    Annotations the server declares

    • title: Delete queue comment
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_queue_groupDelete a queue group.No findings

    Why it is in this group

    • The name "delete_queue_group" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a queue group. Optionally move its items to another group via move_to.

    Annotations the server declares

    • title: Delete queue group
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • deny_queue_itemDeny a pending queue item, either removing it or requesting revisions.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Deny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision.

    Annotations the server declares

    • title: Deny queue item
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • empty_queueDESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    DESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling.

    Annotations the server declares

    • title: Empty queue
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • remove_from_queueRemove an item from the print queueNo findings

    Why it is in this group

    • The name "remove_from_queue" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Remove an item from the print queue

    Annotations the server declares

    • title: Remove from queue
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • send_back_for_revisionRevoke approval on an already-approved item and send it back to the submitter for revisions.No findings

    Why it is in this group

    • The name "send_back_for_revision" says "send": a word for sending, and what is sent cannot be taken back.
    • The description's first verb is "revoke": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Revoke approval on an already-approved item and send it back to the submitter for revisions.

    Annotations the server declares

    • title: Send back for revision
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • send_gcodeSend G-code commands to a printerNo findings

    Why it is in this group

    • The name "send_gcode" says "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Send G-code commands to a printer

    Annotations the server declares

    • title: Send gcode
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • unassign_filamentRemove a filament spool from its printer assignment.1 finding

    Why it is in this group

    • The name "unassign_filament" says "unassign": a word for a change.
    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "unassign_filament" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "unassign_filament" says "unassign": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Remove a filament spool from its printer assignment.

    Annotations the server declares

    • title: Unassign filament
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Can't be undone 2Claude Code: ask
  • reorder_queue_groupMove a queue group to a new position.No findings

    Why it is in this group

    • The description's first verb is "move": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Move a queue group to a new position.

    Annotations the server declares

    • title: Reorder queue group
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • reorder_queue_itemMove a single queue item to a new 1-based position.No findings

    Why it is in this group

    • The description's first verb is "move": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    Description, as the server wrote it
    Move a single queue item to a new 1-based position.

    Annotations the server declares

    • title: Reorder queue item
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 36Claude Code: ask
  • add_queue_commentAdd a comment (general or feedback) to a queue item or user file.No findings

    Why it is in this group

    • The name "add_queue_comment" says "add": a word for a change.
    Description, as the server wrote it
    Add a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP.

    Annotations the server declares

    • title: Add queue comment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • add_to_queueQueue a file for printing.No findings

    Why it is in this group

    • The name "add_to_queue" says "add": a word for a change.
    Description, as the server wrote it
    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}]}).

    Annotations the server declares

    • title: Add to queue
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • adjust_filament_weightAdjust the remaining weight of a filament spool (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Adjust the remaining weight of a filament spool (e.g. after manual weighing).

    Annotations the server declares

    • title: Adjust filament weight
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • approve_queue_itemApprove one or more pending/revision/denied queue items, with optional comment.No findings

    Why it is in this group

    • The name "approve_queue_item" says "approve": a word for a change.
    Description, as the server wrote it
    Approve one or more pending/revision/denied queue items, with optional comment.

    Annotations the server declares

    • title: Approve queue item
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • assign_filamentAssign a filament spool to a printer (or a specific extruder slot).No findings

    Why it is in this group

    • The name "assign_filament" says "assign": a word for a change.
    Description, as the server wrote it
    Assign a filament spool to a printer (or a specific extruder slot).

    Annotations the server declares

    • title: Assign filament
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • assign_maintenance_taskAssign a maintenance task to a user, or pass no user_id to unassign it.No findings

    Why it is in this group

    • The name "assign_maintenance_task" says "assign": a word for a change.
    Description, as the server wrote it
    Assign a maintenance task to a user, or pass no user_id to unassign it. Set notify true to tell them.

    Annotations the server declares

    • title: Assign maintenance task
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • assign_tagsAssign or remove routing tags on a file, including material colour.No findings

    Why it is in this group

    • The name "assign_tags" says "assign": a word for a change.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Assign tags
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • complete_maintenance_taskTick one task off a maintenance job.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Complete maintenance task
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_folderCreate a new folder (or edit an existing one with optional org-level permissions).No findings

    Why it is in this group

    • The name "create_folder" says "create": a word for a change.
    Description, as the server wrote it
    Create a new folder (or edit an existing one with optional org-level permissions).

    Annotations the server declares

    • title: Create folder
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_print_jobStart a print job on one or more printers, now or at a chosen time.No findings

    Why it is in this group

    • The name "create_print_job" says "create": a word for a change.
    Description, as the server wrote it
    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").

    Annotations the server declares

    • title: Create print job
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • estimate_file_costEstimate the print cost of a file, optionally for a specific printer.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate the print cost of a file, optionally for a specific printer.

    Annotations the server declares

    • title: Estimate file cost
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • home_printerHome the printer axes (move to origin position)No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Home the printer axes (move to origin position)

    Annotations the server declares

    • title: Home printer
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • mark_filament_driedMark a filament spool as freshly dried (resets humidity tracking).No findings

    Why it is in this group

    • The name "mark_filament_dried" says "mark": a word for a change.
    Description, as the server wrote it
    Mark a filament spool as freshly dried (resets humidity tracking).

    Annotations the server declares

    • title: Mark filament dried
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • move_fileMove one or more files to a folder.No findings

    Why it is in this group

    • The name "move_file" says "move": a word for a change.
    Description, as the server wrote it
    Move one or more files to a folder.

    Annotations the server declares

    • title: Move file
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • move_folderMove a folder to another location.No findings

    Why it is in this group

    • The name "move_folder" says "move": a word for a change.
    Description, as the server wrote it
    Move a folder to another location.

    Annotations the server declares

    • title: Move folder
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • move_printer_axisMove a printer axis to a relative positionNo findings

    Why it is in this group

    • The name "move_printer_axis" says "move": a word for a change.
    Description, as the server wrote it
    Move a printer axis to a relative position

    Annotations the server declares

    • title: Move printer axis
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • move_queue_itemMove one or more queue items to a different queue group.No findings

    Why it is in this group

    • The name "move_queue_item" says "move": a word for a change.
    Description, as the server wrote it
    Move one or more queue items to a different queue group.

    Annotations the server declares

    • title: Move queue item
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • pause_printPause the current print on a printerNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pause the current print on a printer

    Annotations the server declares

    • title: Pause print
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • reschedule_printChange when a scheduled print starts, or release it immediately.No findings

    Why it is in this group

    • The name "reschedule_print" says "reschedule": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Reschedule print
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • resubmit_queue_itemResubmit a denied or revision-requested queue item back to pending approval.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Resubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP.

    Annotations the server declares

    • title: Resubmit queue item
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • resume_printResume a paused print on a printerNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Resume a paused print on a printer

    Annotations the server declares

    • title: Resume print
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • revive_queue_itemBring a completed (done) queue item back to the active queue.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Bring a completed (done) queue item back to the active queue.

    Annotations the server declares

    • title: Revive queue item
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • save_queue_groupCreate a new queue group or update an existing one.No findings

    Why it is in this group

    • The name "save_queue_group" says "save": a word for a change.
    Description, as the server wrote it
    Create a new queue group or update an existing one.

    Annotations the server declares

    • title: Save queue group
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • set_custom_field_valuesSet custom field values on one or more entities (queue items, files, printers, etc.).No findings

    Why it is in this group

    • The name "set_custom_field_values" says "set": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Set custom field values
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • set_file_printersSet the printers/models/groups a file is assigned to.No findings

    Why it is in this group

    • The name "set_file_printers" says "set": a word for a change.
    Description, as the server wrote it
    Set the printers/models/groups a file is assigned to.

    Annotations the server declares

    • title: Set file printers
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • set_printer_fansControl the printer cooling fansNo findings

    Why it is in this group

    • The name "set_printer_fans" says "set": a word for a change.
    Description, as the server wrote it
    Control the printer cooling fans

    Annotations the server declares

    • title: Set printer fans
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • set_printer_motorsEnable or disable the printer stepper motorsNo findings

    Why it is in this group

    • The name "set_printer_motors" says "set": a word for a change.
    Description, as the server wrote it
    Enable or disable the printer stepper motors

    Annotations the server declares

    • title: Set printer motors
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • set_printer_temperaturesSet target temperatures (nozzle, bed and/or chamber) on one or more printers - works while idle and mid-print.No findings

    Why it is in this group

    • The name "set_printer_temperatures" says "set": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Set printer temperatures
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • skip_maintenance_taskMark a task as skipped rather than done - it was not needed this time.No findings

    Why it is in this group

    • The description's first verb is "mark": a word for a change.
    Description, as the server wrote it
    Mark a task as skipped rather than done - it was not needed this time. Reversible with unskip_maintenance_task.

    Annotations the server declares

    • title: Skip maintenance task
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • start_maintenance_jobMove a scheduled maintenance job to in-progress, putting the printer into maintenance mode so AutoPrint stops sending it work.No findings

    Why it is in this group

    • The name "start_maintenance_job" says "start": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Start maintenance job
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • unarchive_print_jobRestore an archived print job.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Restore an archived print job.

    Annotations the server declares

    • title: Unarchive print job
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • uncomplete_maintenance_taskReopen a task that was ticked off by mistake.No findings

    Why it is in this group

    • The description's first verb is "reopen": a word for a change.
    Description, as the server wrote it
    Reopen a task that was ticked off by mistake. The undo for complete_maintenance_task.

    Annotations the server declares

    • title: Uncomplete maintenance task
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • unskip_maintenance_taskUndo a skip, putting the task back on the job as outstanding.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Undo a skip, putting the task back on the job as outstanding.

    Annotations the server declares

    • title: Unskip maintenance task
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • update_fileUpdate file metadata such as name and GCODE analysis.No findings

    Why it is in this group

    • The name "update_file" says "update": a word for a change.
    Description, as the server wrote it
    Update file metadata such as name and GCODE analysis.

    Annotations the server declares

    • title: Update file
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • update_queue_commentEdit an approval comment you authored.No findings

    Why it is in this group

    • The name "update_queue_comment" says "update": a word for a change.
    Description, as the server wrote it
    Edit an approval comment you authored.

    Annotations the server declares

    • title: Update queue comment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • update_queue_itemUpdate a queue item (amount, note, custom print time, material usage, printer assignments).No findings

    Why it is in this group

    • The name "update_queue_item" says "update": a word for a change.
    Description, as the server wrote it
    Update a queue item (amount, note, custom print time, material usage, printer assignments).

    Annotations the server declares

    • title: Update queue item
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 40Claude Code: allow
  • get_account_statisticsAccount-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.No findings

    Why it is in this group

    • The name "get_account_statistics" says "get": a word for reading.
    Description, as the server wrote it
    Account-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.

    Annotations the server declares

    • title: Get account statistics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_farm_overviewOne-shot summary of farm-wide printer state.No findings

    Why it is in this group

    • The name "get_farm_overview" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get farm overview
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_filamentGet details of one specific filament spool.No findings

    Why it is in this group

    • The name "get_filament" says "get": a word for reading.
    Description, as the server wrote it
    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").

    Annotations the server declares

    • title: Get filament
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_filament_historyRetrieve the usage history of a filament spool.No findings

    Why it is in this group

    • The name "get_filament_history" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the usage history of a filament spool.

    Annotations the server declares

    • title: Get filament history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_folderGet a folder's details including permissions.No findings

    Why it is in this group

    • The name "get_folder" says "get": a word for reading.
    Description, as the server wrote it
    Get a folder's details including permissions.

    Annotations the server declares

    • title: Get folder
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • 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-…No findings

    Why it is in this group

    • The name "get_maintenance_dashboard" says "get": a word for reading.
    Description, as the server wrote it
    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 silently [] when the account lacks the Maintenance Inventory feature — list_spare_parts says so explicitly instead.

    Annotations the server declares

    • title: Get maintenance dashboard
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • 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 …No findings

    Why it is in this group

    • The name "get_maintenance_job" says "get": a word for reading.
    Description, as the server wrote it
    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"); each task's id is what the task tools take as task_id.

    Annotations the server declares

    • title: Get maintenance job
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_maintenance_status_mapCheapest fleet-wide maintenance check; takes no parameters.No findings

    Why it is in this group

    • The name "get_maintenance_status_map" says "get": a word for reading.
    Description, as the server wrote it
    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_profile for one printer, or list_maintenance_jobs for job-level detail.

    Annotations the server declares

    • title: Get maintenance status map
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_next_queue_itemFind the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.No findings

    Why it is in this group

    • The name "get_next_queue_item" says "get": a word for reading.
    Description, as the server wrote it
    Find the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.

    Annotations the server declares

    • title: Get next queue item
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_next_queue_items_for_printersRead-only preview: for each given printer, return the next queue item that would be started.No findings

    Why it is in this group

    • The name "get_next_queue_items_for_printers" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get next queue items for printers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_partner_maintenance_overviewFor a partner, reseller, OEM or Enterprise group account: maintenance across every account it services.No findings

    Why it is in this group

    • The name "get_partner_maintenance_overview" says "get": a word for reading.
    Description, as the server wrote it
    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. Fails on an account that is not a partner with the maintenance module.

    Annotations the server declares

    • title: Get partner maintenance overview
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_print_jobGet detailed info for a specific print job.No findings

    Why it is in this group

    • The name "get_print_job" says "get": a word for reading.
    Description, as the server wrote it
    Get detailed info for a specific print job.

    Annotations the server declares

    • title: Get print job
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_printerGet details, status, temps, current job, filament, notifications for ONE specific printer by id.No findings

    Why it is in this group

    • The name "get_printer" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get printer
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • 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 l…No findings

    Why it is in this group

    • The name "get_printer_maintenance_profile" says "get": a word for reading.
    Description, as the server wrote it
    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 carries is_predicted=true with a null id. Large response: ask for one printer at a time, and use get_maintenance_status_map for fleet-wide questions.

    Annotations the server declares

    • title: Get printer maintenance profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_queue_itemGet details of a specific queue itemNo findings

    Why it is in this group

    • The name "get_queue_item" says "get": a word for reading.
    Description, as the server wrote it
    Get details of a specific queue item

    Annotations the server declares

    • title: Get queue item
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_queue_item_costCalculate the estimated cost of a queue item, optionally for a specific printer.No findings

    Why it is in this group

    • The name "get_queue_item_cost" says "get": a word for reading.
    Description, as the server wrote it
    Calculate the estimated cost of a queue item, optionally for a specific printer.

    Annotations the server declares

    • title: Get queue item cost
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_referral_statsReferral program statistics: conversions, earnings, pending payout.No findings

    Why it is in this group

    • The name "get_referral_stats" says "get": a word for reading.
    Description, as the server wrote it
    Referral program statistics: conversions, earnings, pending payout.

    Annotations the server declares

    • title: Get referral stats
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_slicer_settings_for_fileRetrieve slicer settings stored for a file.No findings

    Why it is in this group

    • The name "get_slicer_settings_for_file" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve slicer settings stored for a file.

    Annotations the server declares

    • title: Get slicer settings for file
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_webhook_sampleGet one or more realistic sample webhook payloads for a specific event type, matching the envelope a live webhook delivery would produce.No findings

    Why it is in this group

    • The name "get_webhook_sample" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get webhook sample
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • inspect_printer_queueShow which queue items match/miss a specific printer and why.No findings

    Why it is in this group

    • The name "inspect_printer_queue" says "inspect": a word for reading.
    Description, as the server wrote it
    Show which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print.

    Annotations the server declares

    • title: Inspect printer queue
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • 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 i…No findings

    Why it is in this group

    • The name "list_accounts_due_maintenance_visit" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List accounts due maintenance visit
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_brand_filamentsList filament products from a specific brand.No findings

    Why it is in this group

    • The name "list_brand_filaments" says "list": a word for reading.
    Description, as the server wrote it
    List filament products from a specific brand.

    Annotations the server declares

    • title: List brand filaments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_custom_fieldsList custom field definitions with pagination and search.No findings

    Why it is in this group

    • The name "list_custom_fields" says "list": a word for reading.
    Description, as the server wrote it
    List custom field definitions with pagination and search.

    Annotations the server declares

    • title: List custom fields
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_custom_fields_forList custom field definitions for a specific entity category and optional sub-category (e.g.No findings

    Why it is in this group

    • The name "list_custom_fields_for" says "list": a word for reading.
    Description, as the server wrote it
    List custom field definitions for a specific entity category and optional sub-category (e.g. PRINT + PRINT_QUEUE for queue-item custom fields).

    Annotations the server declares

    • title: List custom fields for
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_filament_colorsList available filament colors (for UI pickers or picking similar spools).No findings

    Why it is in this group

    • The name "list_filament_colors" says "list": a word for reading.
    Description, as the server wrote it
    List available filament colors (for UI pickers or picking similar spools).

    Annotations the server declares

    • title: List filament colors
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_filamentsList filament spools with optional filters and sorting.No findings

    Why it is in this group

    • The name "list_filaments" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List filaments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_filesList files and folders in the user's SimplyPrint storage.No findings

    Why it is in this group

    • The name "list_files" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List files
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_maintenance_jobsList maintenance jobs across the account with filters, paging and sorting — the tool for "what maintenance is outstanding, and on which printer".No findings

    Why it is in this group

    • The name "list_maintenance_jobs" says "list": a word for reading.
    Description, as the server wrote it
    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 DERIVED (a scheduled job whose scheduled_date has passed) and is NOT accepted by the status filter — ask for status "scheduled" and read each job's returned status, or use the dashboard's overdue count.

    Annotations the server declares

    • title: List maintenance jobs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • 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.No findings

    Why it is in this group

    • The name "list_maintenance_problems" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List maintenance problems
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • 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, overd…No findings

    Why it is in this group

    • The name "list_partner_maintenance_alerts" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List partner maintenance alerts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_partner_maintenance_visitsFor a partner account: its maintenance visits to serviced accounts.No findings

    Why it is in this group

    • The name "list_partner_maintenance_visits" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List partner maintenance visits
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_pending_queue_itemsList queue items pending approval (status: PENDING, DENIED, or REVISION).No findings

    Why it is in this group

    • The name "list_pending_queue_items" says "list": a word for reading.
    Description, as the server wrote it
    List queue items pending approval (status: PENDING, DENIED, or REVISION).

    Annotations the server declares

    • title: List pending queue items
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_print_jobsList past print jobs with pagination, filters, and sort.No findings

    Why it is in this group

    • The name "list_print_jobs" says "list": a word for reading.
    Description, as the server wrote it
    List past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags.

    Annotations the server declares

    • title: List print jobs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_printersList MULTIPLE printers with optional filters.No findings

    Why it is in this group

    • The name "list_printers" says "list": a word for reading.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: List printers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_queueList print queue items with optional filters.No findings

    Why it is in this group

    • The name "list_queue" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List queue
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_queue_commentsRetrieve all approval comments on a queue item or user file.No findings

    Why it is in this group

    • The name "list_queue_comments" says "list": a word for reading.
    Description, as the server wrote it
    Retrieve all approval comments on a queue item or user file.

    Annotations the server declares

    • title: List queue comments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_queue_groupsList all queue groups in the user's account.No findings

    Why it is in this group

    • The name "list_queue_groups" says "list": a word for reading.
    Description, as the server wrote it
    List all queue groups in the user's account.

    Annotations the server declares

    • title: List queue groups
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_scheduled_printsList every print across the account that is waiting for a scheduled start time, soonest first.No findings

    Why it is in this group

    • The name "list_scheduled_prints" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List scheduled prints
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_spare_partsList maintenance spare parts with stock level, low-stock threshold, SKU, category, cost and the printer models each part fits.No findings

    Why it is in this group

    • The name "list_spare_parts" says "list": a word for reading.
    Description, as the server wrote it
    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 that — its low_stock_parts is silently [] both when the feature is missing and when stock is healthy.)

    Annotations the server declares

    • title: List spare parts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • match_file_to_printersFind which printer models in the account are compatible with a given file.No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Find which printer models in the account are compatible with a given file.

    Annotations the server declares

    • title: Match file to printers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__simplyprint__list_printers",
      "mcp__simplyprint__get_printer",
      "mcp__simplyprint__get_farm_overview",
      "mcp__simplyprint__list_scheduled_prints",
      "mcp__simplyprint__list_queue",
      "mcp__simplyprint__get_queue_item",
      "mcp__simplyprint__inspect_printer_queue",
      "mcp__simplyprint__get_queue_item_cost",
      "mcp__simplyprint__get_next_queue_item",
      "mcp__simplyprint__get_next_queue_items_for_printers",
      "mcp__simplyprint__list_queue_groups",
      "mcp__simplyprint__list_pending_queue_items",
      "mcp__simplyprint__list_queue_comments",
      "mcp__simplyprint__list_custom_fields",
      "mcp__simplyprint__list_custom_fields_for",
      "mcp__simplyprint__list_files",
      "mcp__simplyprint__get_folder",
      "mcp__simplyprint__match_file_to_printers",
      "mcp__simplyprint__get_slicer_settings_for_file",
      "mcp__simplyprint__list_filaments",
      "mcp__simplyprint__get_filament",
      "mcp__simplyprint__get_filament_history",
      "mcp__simplyprint__list_filament_colors",
      "mcp__simplyprint__list_brand_filaments",
      "mcp__simplyprint__list_print_jobs",
      "mcp__simplyprint__get_print_job",
      "mcp__simplyprint__get_account_statistics",
      "mcp__simplyprint__get_referral_stats",
      "mcp__simplyprint__get_maintenance_dashboard",
      "mcp__simplyprint__list_maintenance_jobs",
      "mcp__simplyprint__get_printer_maintenance_profile",
      "mcp__simplyprint__list_maintenance_problems",
      "mcp__simplyprint__get_maintenance_job",
      "mcp__simplyprint__list_spare_parts",
      "mcp__simplyprint__get_maintenance_status_map",
      "mcp__simplyprint__get_partner_maintenance_overview",
      "mcp__simplyprint__list_partner_maintenance_alerts",
      "mcp__simplyprint__list_partner_maintenance_visits",
      "mcp__simplyprint__list_accounts_due_maintenance_visit",
      "mcp__simplyprint__get_webhook_sample"
    ],
    "ask": [
      "mcp__simplyprint__pause_print",
      "mcp__simplyprint__resume_print",
      "mcp__simplyprint__create_print_job",
      "mcp__simplyprint__reschedule_print",
      "mcp__simplyprint__home_printer",
      "mcp__simplyprint__move_printer_axis",
      "mcp__simplyprint__set_printer_fans",
      "mcp__simplyprint__set_printer_motors",
      "mcp__simplyprint__set_printer_temperatures",
      "mcp__simplyprint__add_to_queue",
      "mcp__simplyprint__update_queue_item",
      "mcp__simplyprint__reorder_queue_item",
      "mcp__simplyprint__move_queue_item",
      "mcp__simplyprint__revive_queue_item",
      "mcp__simplyprint__save_queue_group",
      "mcp__simplyprint__reorder_queue_group",
      "mcp__simplyprint__approve_queue_item",
      "mcp__simplyprint__resubmit_queue_item",
      "mcp__simplyprint__add_queue_comment",
      "mcp__simplyprint__update_queue_comment",
      "mcp__simplyprint__set_custom_field_values",
      "mcp__simplyprint__estimate_file_cost",
      "mcp__simplyprint__set_file_printers",
      "mcp__simplyprint__update_file",
      "mcp__simplyprint__assign_tags",
      "mcp__simplyprint__create_folder",
      "mcp__simplyprint__move_file",
      "mcp__simplyprint__move_folder",
      "mcp__simplyprint__adjust_filament_weight",
      "mcp__simplyprint__assign_filament",
      "mcp__simplyprint__mark_filament_dried",
      "mcp__simplyprint__unarchive_print_job",
      "mcp__simplyprint__start_maintenance_job",
      "mcp__simplyprint__complete_maintenance_task",
      "mcp__simplyprint__uncomplete_maintenance_task",
      "mcp__simplyprint__skip_maintenance_task",
      "mcp__simplyprint__unskip_maintenance_task",
      "mcp__simplyprint__assign_maintenance_task"
    ],
    "deny": [
      "mcp__simplyprint__cancel_print",
      "mcp__simplyprint__send_gcode",
      "mcp__simplyprint__cancel_scheduled_print",
      "mcp__simplyprint__remove_from_queue",
      "mcp__simplyprint__empty_queue",
      "mcp__simplyprint__delete_queue_group",
      "mcp__simplyprint__deny_queue_item",
      "mcp__simplyprint__send_back_for_revision",
      "mcp__simplyprint__delete_queue_comment",
      "mcp__simplyprint__delete_folder",
      "mcp__simplyprint__delete_file",
      "mcp__simplyprint__unassign_filament",
      "mcp__simplyprint__archive_print_job",
      "mcp__simplyprint__complete_maintenance_job",
      "mcp__simplyprint__cancel_maintenance_job"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as simplyprint. Review it before you use it.