Manage 3D printer farms directly from Claude, controlling printers, queues, and jobs.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 6 days ago
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The SimplyPrint MCP MCP server exposes 71 tools, focused primarily on filesystem capabilities. Its published description reads: "Manage 3D printer farms directly from Claude, controlling printers, queues, and jobs". It communicates over Streamable HTTP using the 2026-07-28 protocol revision, and does not require authorization to connect. MCPGrade currently rates SimplyPrint MCP F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Cross-tool shadowing" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check SimplyPrint MCP's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add SimplyPrint MCP to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://simplyprint.io/api/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
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 ge
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: list_printers
A tool description tries to alter the model’s use of another tool.
n printer, call get_printer instead — do not list-then-filter. For farm-widRecommendationDescriptions must describe only their own tool.
tool: get_printer
A tool description tries to alter the model’s use of another tool.
. Use this (not list_printers) whenever the user asks about a single printerRecommendationDescriptions must describe only their own tool.
tool: get_farm_overview
A tool description tries to alter the model’s use of another tool.
. Use this (NOT list_printers) when the user asks "how many printers are prinRecommendationDescriptions must describe only their own tool.
tool: send_gcode
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "macro_context"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: get_next_queue_items_for_printers
A tool description tries to alter the model’s use of another tool.
edup matcher as create_print_job with next_queue_item=true, so the same queue itRecommendationDescriptions must describe only their own tool.
tool: list_files
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: delete_file
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
delete_file Delete one or more files. {"type":"object","properties":{"file":{"type":RecommendationAnnotate destructive tools and require human approval.
tool: list_filaments
A tool description tries to alter the model’s use of another tool.
. "T2SO"), call get_filament instead — do NOT list and grep. Amount-remaininRecommendationDescriptions must describe only their own tool.
tool: get_filament
A tool description tries to alter the model’s use of another tool.
. Use this (NOT list_filaments+grep) when the user names a spool by id or shorRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: cancel_print
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: send_gcode
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: remove_from_queue
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: empty_queue
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: delete_queue_group
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: deny_queue_item
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: send_back_for_revision
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: delete_queue_comment
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: delete_folder
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: delete_folder
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "folder"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
tool: delete_file
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: delete_file
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "file"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
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 —
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
Pause the current print on a printer
Resume a paused print on a printer
Cancel the current print on a printer
Send G-code commands to a printer
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-
Home the printer axes (move to origin position)
Move a printer axis to a relative position
Control the printer cooling fans
Enable or disable the printer stepper motors
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.
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 ad
Get details of a specific queue item
Remove an item from the print queue
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
Update a queue item (amount, note, custom print time, material usage, printer assignments).
Move a single queue item to a new 1-based position.
Move one or more queue items to a different queue group.
Bring a completed (done) queue item back to the active queue.
DESTRUCTIVE: Delete all items from the queue (optionally filtered by group or done-only). Confirm with the user before calling.
Show which queue items match/miss a specific printer and why. Useful for diagnosing why a queue item will not print.
Calculate the estimated cost of a queue item, optionally for a specific printer.
Find the best-matching queue item(s) for a set of printers using SimplyPrint's compatibility matcher.
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
List all queue groups in the user's account.
Create a new queue group or update an existing one.
Delete a queue group. Optionally move its items to another group via move_to.
Move a queue group to a new position.
List queue items pending approval (status: PENDING, DENIED, or REVISION).
Approve one or more pending/revision/denied queue items, with optional comment.
Deny a pending queue item, either removing it or requesting revisions. Include a comment explaining the decision.
Revoke approval on an already-approved item and send it back to the submitter for revisions.
Resubmit a denied or revision-requested queue item back to pending approval. File-replacement is not supported via MCP.
Retrieve all approval comments on a queue item or user file.
Add a comment (general or feedback) to a queue item or user file. File attachments are not supported via MCP.
Edit an approval comment you authored.
Delete an approval comment you authored (or any comment if you have the permission).
List custom field definitions with pagination and search.
List custom field definitions for a specific entity category and optional sub-category (e.g. PRINT + PRINT_QUEUE for queue-item custom fields).
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.
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 recursiv
Get a folder's details including permissions.
Estimate the print cost of a file, optionally for a specific printer.
Find which printer models in the account are compatible with a given file.
Set the printers/models/groups a file is assigned to.
Update file metadata such as name and GCODE analysis.
Create a new folder (or edit an existing one with optional org-level permissions).
Delete one or more folders.
Move one or more files to a folder.
Move a folder to another location.
Delete one or more files.
Retrieve slicer settings stored for a file.
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 spoo
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 co
Adjust the remaining weight of a filament spool (e.g. after manual weighing).
Assign a filament spool to a printer (or a specific extruder slot).
Remove a filament spool from its printer assignment.
Retrieve the usage history of a filament spool.
Mark a filament spool as freshly dried (resets humidity tracking).
List available filament colors (for UI pickers or picking similar spools).
List filament products from a specific brand.
List past print jobs with pagination, filters, and sort. Compact mode (default) drops gcodeAnalysis, filament breakdowns, and panel-only flags.
Get detailed info for a specific print job.
Archive a print job (hide from default history listings).
Restore an archived print job.
Account-level print statistics (success rate, filament used, print time, cost) with optional date range and user/printer filters.
Overview of maintenance jobs, problems, inventory, and printer maintenance status.
Referral program statistics: conversions, earnings, pending payout.
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 s