Agent Tools
Back to MCP servers
● healthy

skills: {'id': 'list_printers', 'name': 'list_printers', 'description': '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).', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'get_printer', 'name': 'get_printer', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'get_farm_overview', 'name': 'get_farm_overview', 'description': '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.', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'pause_print', 'name': 'pause_print', 'description': 'Pause the current print on a printer', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'resume_print', 'name': 'resume_print', 'description': 'Resume a paused print on a printer', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'cancel_print', 'name': 'cancel_print', 'description': 'Cancel the current print on a printer', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'send_gcode', 'name': 'send_gcode', 'description': 'Send G-code commands to a printer', 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}, {'id': 'create_print_job', 'name': 'create_print_job', 'description': "Start a print job on one or more printers. 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).", 'tags': [], 'examples': None, 'input_modes': None, 'output_modes': None}; uptime_30d 1.0%; p95 571.1ms; conformance: pass

Transport
streamable-http
Auth
Cost

How to connect

MCP endpoint (streamable-http)
https://simplyprint.io/api/mcp
JSON-RPC initialize probe
curl -X POST https://simplyprint.io/api/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
Homepage
https://simplyprint.io/api/mcp
Listed at (chiark)
https://chiark.ai/agents/3c26e30b-5472-4bc7-a48f-65f805a78939