Skip to main content
Glama

SimplyPrint: 3D Print Farm Management

create_print_job

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").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_idNoHex bucket hash returned by the files.simplyprint.io Upload endpoint. Choose this when starting from a file uploaded via the API.
mms_mapNo
reprintNoPrevious print_job id to reprint with the same file and settings.
filesystemNoUserFile.uid of an existing library file. Choose this when starting from an already-imported file.
printer_idYesComma-separated printer id(s) to start the job on. Must be operational. When next_queue_item=true, each printer gets a different queue item (same item never duplicated within one call).
queue_fileNoExisting print queue item id. Choose this to start the job from a queued item (most common flow).
schedule_forNoHold the print until this absolute instant instead of starting it now. ISO 8601 with an offset or Z, e.g. "2026-08-18T22:30:00Z". Must be at least 1 minute and at most 7 days ahead. Requires the Schedule Print feature (Pro and up) and the schedule_print permission. The printer is reserved as soon as the job is created and reports state print_pending until it starts. Print allowance is only reserved on plans that have quotas (Print Farm and up); Pro has none. Not valid with next_queue_item. Resolve relative times ("tonight", "in 3 hours") against the user's clock before calling - this field takes an absolute instant only.
custom_fieldsNoPRINT_JOB custom fields shared across all started jobs. Each entry is an object with customFieldId (string uuid) and value (one-of string/number/boolean/date/options).
start_optionsNo
next_queue_itemNoIf true, auto-pick the next matching queue item for each printer in pid. Uses the same compatibility matcher as get_next_queue_items_for_printers. Mutually exclusive with file_id/filesystem/queue_file/reprint.
individual_custom_fieldsNoPer-printer or per-queue-item PRINT_JOB custom fields. Each entry: {id: <string>, value: [customFieldSubmissions]}.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond annotations, it discloses auto-start behavior when autostartPrints is enabled, reservation and print_pending behavior for scheduled jobs, quota-based allowance reservation, and per-printer deduplication for next_queue_item. These are meaningful, non-obvious runtime traits.

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 every sentence adding a distinct fact: core action, source exclusivity, custom-field support, auto-start behavior, and scheduling. No fluff or repetition.

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?

Given the tool's complexity, the combination of description and schema covers source selection, scheduling constraints, permissions, quotas, and custom fields well. Minor gaps remain: mms_map/start_options lack documentation and no response shape/return value is indicated.

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

Parameters4/5

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

Schema coverage is 82% and individual parameter descriptions already carry substantial weight. The description adds the crucial exclusivity rule across file sources and summarizes scheduling behavior, but leaves mms_map and start_options undiscussed.

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 opens with a specific action, resource, and scope: 'Start a print job on one or more printers, now or at a chosen time.' It then distinguishes the tool by naming the five possible file-source modes, which helps separate it from queue-only or G-code siblings.

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?

It gives strong within-tool guidance: exactly one file source must be chosen, schedule_for is the way to delay printing, and next_queue_item=true has special matching behavior. It does not explicitly compare against sibling tools like add_to_queue, but the action and source semantics make the intended use clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.1/5.0
Disambiguation3/5

Most tools are clearly separated by resource and action, but several overlapping queue-related tools exist—get_next_queue_item vs get_next_queue_items_for_printers, list_queue vs list_pending_queue_items, and inspect_printer_queue—which could cause misselection. list_custom_fields vs list_custom_fields_for and add_to_queue vs create_print_job add further ambiguity.

Naming Consistency4/5

Names overwhelmingly follow a verb_noun snake_case pattern with consistent resource nouns like print_job, queue_item, folder, and filament. Minor inconsistencies exist, such as add_to_queue vs create_folder/create_print_job, save_queue_group vs update/create, and the slightly odd home_printer and send_back_for_revision.

Tool Count1/5

With 74 tools, this is far beyond the recommended MCP server size and makes the toolset unwieldy to navigate, even for a broad domain. This clearly falls into the extreme 50+ tool category.

Completeness3/5

Core operational workflows—queue, print jobs, files, filament, and printer control—are well represented. However, printer lifecycle management is missing (no add/update/delete printer), and maintenance management is limited to a read-only dashboard with no corresponding actions.