Skip to main content
Glama
mkebiclioglu

formlabs-local-mcp

by mkebiclioglu

print_to_printer

Destructive

Upload a scene to a Formlabs printer, then queue or start the print job after user confirmation.

Instructions

Upload the scene to a printer and queue it, or start it. Confirm with the user first. printer is a printer serial name (e.g. "Fuse-Loud-Otter"), a local IP address, a Fleet Control queue id (requires login), or a built-in virtual printer id such as "Form 4" for a dry run without hardware. print_now=true starts immediately if the printer is ready; otherwise the job waits in the queue. Returns job_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
printerYes
job_nameYes
scene_idNoScene id; omit for the default scenedefault
print_nowNo
find_printer_timeout_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.4

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive and non-read-only. The description adds useful behavioral context: jobs can be queued or started immediately, Fleet Control queue ids require login, and virtual printers enable dry runs without hardware. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the action, followed by user-confirmation guidance and parameter-specific details. Every clause carries necessary information; there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive print tool with no output schema, the description covers the essential return value (job_id), queue behavior, printer identifier variants, and the need for user confirmation. Minor gaps remain around error behavior and the timeout parameter, but the description is complete enough for typical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20%, so the description must compensate. It thoroughly explains printer and print_now, but does not describe job_name or find_printer_timeout_seconds. The latter is only somewhat inferable from its name, and the description does not clarify its purpose or effect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Upload the scene to a printer and queue it, or start it.' This clearly distinguishes the tool from siblings like list_devices, estimate_print_time, and preform_status, and explains the core action without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit operational guidance: confirm with the user first, then explains printer identifier formats and the behavior of print_now. It does not name alternatives or exclusion cases, but no direct sibling does the same job, so the context is largely sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.