Skip to content
Agentmart
Submit a tool

prusactl

Run a Prusa 3D printer: status, camera, files, printing, G-code, over PrusaLink or Prusa Connect.

Connector by trevin-lee · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 1
Write a review

Install

Works with Claude Desktop. Read the repository before you give any tool access to your data.

Download the bundle

MCP bundle (.mcpb): open it with Claude Desktop.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Run a Prusa 3D printer: status, camera, files, printing, G-code, over PrusaLink or Prusa Connect.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.

Tools
15 read · 8 write · 4 delete · 1 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Downloaded binary

Tools by what they do 28

Read from the source code; the running server may list different tools.

Read 15 · Look things up without changing anything.

  • connection_status
  • get_camera_snapshot
  • get_command
  • get_firmware_status
  • get_job
  • get_printer
  • get_queue
  • get_telemetry
  • get_transfers
  • list_connect_files
  • list_events
  • list_jobs
Show 3 more tools
  • list_printer_files
  • list_printers
  • list_supported_commands

Write 8 · Create, change, send or run things.

  • add_to_queue
  • api_request
  • download_printer_file
  • run_gcode
  • send_command
  • start_print
  • update_firmware
  • upload_file

Delete 4 · Delete, drop, revoke or wipe things.

  • delete_connect_files
  • delete_printer_files
  • remove_from_queue
  • respond_to_dialog

Not yet classified 1 · We could not tell from the name and description.

  • control_print

Network hosts it talks to 6

  • account.prusa3d.com · found in code
  • connect-api.prusa3d.com · found in code
  • connect.prusa3d.com · found in code
  • github.com · found in install command, code
  • printer.lan · found in code
  • prusa.local · found in code

Tools (28)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_to_queue

    Add a file to the printer's Prusa Connect print queue, either one on the printer (path) or one in Connect storage (hash). Connect starts the next queued job when the printer is idle and marked ready (send_command SET_PRINTER_READY, or set_ready here). Marking it ready says the plate is clear, the same assertion as plate_clear, and nothing verifies it: do it only after looking at get_camera_snapshot or asking the user.

  • api_request

    Call any printer API endpoint directly, for anything the other tools don't cover. Paths starting with /api/ go to the printer itself over the local network (PrusaLink, e.g. /api/v1/status); paths starting with /app/ go to Prusa Connect as the signed-in user (e.g. PATCH /app/printers/{uuid} for settings, /app/stats/printers/{uuid}/..., /app/teams/{team_id}/files). Credentials in responses are redacted. This is a raw escape hatch for what the other tools don't cover, not a shortcut around them: no safety checks apply (a busy printer, plate_clear), a DELETE or PUT is permanent and really done, an…

  • connection_status

    How the printer can be reached right now: directly on the local network (PrusaLink) and/or through Prusa Connect, which account is signed in, and whether a local camera (RTSP) is saved. Says what to set up if neither route works.

  • control_print

    Pause, resume, or stop the current print. A question on the printer's screen (state ATTENTION) can't be answered this way; use respond_to_dialog through Prusa Connect. Pause is reversible and is the right first move when a print looks wrong; stop is final: the job can't be resumed and the part stays on the plate. Stop only for a clear failure or when the user says so.

  • delete_connect_files

    Delete files from Prusa Connect's cloud storage, freeing the team's quota. Takes the hashes list_connect_files and upload_file report. Permanent, with no undo, and it removes the file for the whole team. delete_printer_files is the equivalent for the printer's own storage.

  • delete_printer_files

    Delete files from the printer's storage. Permanent: there is no trash and no undo, and a file that is printing is refused. List the folder first and delete only what the user named or clearly asked to clean up.

  • download_printer_file

    Copy a file from the printer's storage to this computer, e.g. to inspect the G-code or the slicer settings a finished print used. Direct route only: Prusa Connect can't read files off the printer.

  • get_camera_snapshot

    The latest image from the printer's camera, so you can see the print, the bed, and the nozzle. Use it before starting a print or moving anything (is the plate clear?) and to watch a print for failures. It is the only way to check the plate yourself: plate_clear is just your say-so. Where the picture comes from: the printer's own camera API if it has one; else the camera's RTSP stream, if its address is saved (prusactl setup --camera rtsp://<camera-ip>/live, or PRUSACTL_CAMERA_URL), grabbed with ffmpeg, which must be installed; else Prusa Connect. via=direct forces the first two, via=connect fo…

  • get_command

    Check the state of a command sent with send_command async=true. The state is the last thing that happened to it: CREATED (accepted), EMIT (sent to the printer), FINISHED, or REJECTED.

  • get_firmware_status

    The firmware the printer runs, the latest one Prusa Connect offers for it, and whether they differ (state: supported, outdated or unsupported). Read-only; Prusa Connect only.

  • get_job

    One print job in detail, including the objects on the plate that can be cancelled individually (cancelable.objects; cancel one with send_command CANCEL_OBJECT and kwargs {"object_id": id}).

  • get_printer

    Live status of the printer. "summary" holds the common facts in the same place whichever route was used: state, nozzle/bed/chamber temperatures with their targets, and the current job's name, progress and time remaining. Everything the route itself reported is kept alongside it, so through Prusa Connect that also includes axis positions, fans, speed/flow, filament, nozzle, settings and dialog_info (the dialog on the printer's screen, which respond_to_dialog answers), and directly it includes the printer's own status, info and job records.

  • get_queue

    The printer's print queue in Prusa Connect: jobs waiting to print, in order, with their ids.

  • get_telemetry

    Recent telemetry history from Prusa Connect: temperatures, fans, speed, and axis positions over time.

  • get_transfers

    File transfers to the printer that are in progress (with progress), plus, through Prusa Connect, files waiting in its download queue.

Show 13 more tools
  • list_connect_files

    Files stored in Prusa Connect's cloud storage for a team, with the hashes add_to_queue takes. These count against the team's storage quota; delete_connect_files removes them, and delete_printer_files removes files from the printer instead.

  • list_events

    The printer's event log from Prusa Connect, newest first: state changes, job starts and finishes, errors, attention requests, commands, and file transfers. Use it to find out what happened while nobody was watching.

  • list_jobs

    The printer's job history, newest first: what printed, when, for how long, and how it ended.

  • list_printer_files

    Browse files on the printer's own storage (USB drive). Without path, lists the storages.

  • list_printers

    The printers prusactl can reach: the one set up for direct access (with whether it answers right now) and those on the Prusa Connect account, with state, temperatures, filament, job progress, and any dialog on the printer's screen.

  • list_supported_commands

    List every command this printer's firmware accepts through Connect: its arguments (name, type, unit, default, required) and the printer states it may run in (executable_from_state). This is the full control surface of the printer: movement, homing, temperatures, fans, speed/flow, filament load/unload, mesh bed leveling, file and folder management, printer-ready flags, resets, and G-code snippets from the team library.

  • remove_from_queue

    Remove a job from the printer's Prusa Connect print queue. The queue entry is gone for good; add_to_queue puts it back at the end.

  • respond_to_dialog

    Press a button on the dialog currently shown on the printer's screen (filament runout, errors, confirmations, "remove the print" prompts, etc.), the way the Connect web app does remotely. get_printer shows the open dialog in dialog_info with its text and buttons.

  • run_gcode

    Description is built at runtime.

  • send_command

    Run any command from list_supported_commands on the printer, exactly as the Connect web app's controls do. The command and state are checked against the printer's supported-command list first. By default waits for the printer to acknowledge. Physical commands (MOVE, HOME, heating, filament, MESH_BED_LEVELING) act on real hardware: check get_printer and the camera first. After a finished or stopped print, START_PRINT, HOME, MOVE, MOVE_Z and MESH_BED_LEVELING also need plate_clear=true, as start_print does. SET_PRINTER_READY tells Connect the plate is clear, so it is itself that confirmation: se…

  • start_print

    Start printing a file that is already on the printer's storage. The printer must be idle and the plate clear: check get_printer and look at get_camera_snapshot first. After a finished or stopped print it needs plate_clear=true, which is your own assertion that the plate is empty, so verify it with the camera or the user before setting it.

  • update_firmware

    Install firmware through Prusa Connect: Connect copies the .bbf it hosts (the latest, or version) to the printer's USB drive, then sends the FLASH command, and the printer installs it and restarts. Waits for the copy (a few minutes at most). Without version it goes by Prusa Connect's own verdict: installs the latest when Connect says the firmware is outdated, does nothing when Connect says it is current, and refuses when there is no verdict, so a printer newer than Connect's latest is never downgraded by accident. Refuses before copying anything unless the printer is idle, ready, finished or s…

  • upload_file

    Upload a sliced print file (.bgcode/.gcode) from this computer to the printer, optionally starting it (then=print) or adding it to the Prusa Connect queue (then=queue). Directly on the local network the file goes straight to the printer; through Connect it is stored in Connect and copied to the printer in the background (get_transfers shows progress); there then=print puts it first in the queue and marks the printer ready, and Connect starts it once the file arrives. then=print is refused unless the printer is idle. Before then=print, confirm the plate is clear (a camera snapshot, or the user)…

Signals

Stars
1
Forks
1
Open issues
0
Last commit
Oct 10, 2026 (19 days ago)
Last release
Oct 10, 2026 (19 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.trevin-lee/prusactl
Version
0.3.0
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from trevin-lee

Cite this page

prusactl MCP server. Agent Mart. https://agentmart.dev/connectors/trevin-lee-prusactl (last updated 2026-10-24)