Skip to main content
Glama

3D Printer on Demand

Get a 3D print quote

get_print_quote

Use this when someone asks how much it costs to 3D print a part, or wants a quote to have a 3D model (an STL, 3MF, STEP or OBJ file) printed and shipped by 3D Printer on Demand. It reads the attached file, checks that it can be printed, saves the quote, and returns the estimate with a private link that opens the saved quote on our website. When no file is attached, or the file type cannot be read, it returns a link to upload the file on our website. It does not cover drawings or photos.

Input Schema

NameRequiredDescriptionDefault
colorNoColor name for the chosen material. Default is the material's first color.
materialNoMaterial id, one of the listed values. Default petg.petg
quantityNoHow many copies of the part.
model_fileNoThe STL, 3MF, STEP or OBJ file the user attached.
part_descriptionNoWhat the user says this part is or what it is for, in their own words, if they said. Leave out if they did not.

Output Schema

NameRequiredDescriptionDefault
colorNo
messageYes
outcomeYes
size_mmNo
currencyNo
materialNo
quantityNo
file_nameNo
next_stepNo
quote_urlNo
total_usdNo
review_urlNo
upload_urlNo
multi_colorNo
shipping_usdNo
subtotal_usdNo
valid_colorsNo
order_fee_usdNo
price_held_daysNo
print_fit_notesNo
valid_materialsNo
price_per_part_usdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / order_fee_usd
      Added value: +{
      +  "type": "number"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false, openWorldHint=false; the description adds substantial behavior on top: it reads the file, validates printability, persists the quote, returns an estimate with a private website link, and degrades to an upload link when no file or an unreadable type is present. The stated 'saves the quote' is consistent with readOnlyHint=false.

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?

Front-loads the trigger condition, then layers the normal path, the fallback path, and the scope exclusion in four tight sentences with no filler. Each sentence carries distinct, load-bearing information.

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

Completeness5/5

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

An output schema exists so return values need no explanation, yet the description still clarifies the key output (estimate plus a private quote link) and the degraded fallback response. Combined with the write semantics implied by annotations, an agent has everything needed to call this correctly.

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 100%, so the schema already documents material, color, quantity, and the nested model_file fields — this sets the baseline at 3. The description reinforces which file types are acceptable and that a missing attachment is tolerated, but adds no new syntax or constraint detail for the individual parameters.

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?

States a specific verb+resource (produce a 3D printing cost quote) and enumerates the exact input file types accepted (STL, 3MF, STEP, OBJ). It also carves out scope boundaries that separate it from siblings — it explicitly excludes drawings/photos and describes the no-file fallback that distinguishes it from quote_from_link.

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?

Opens with an explicit trigger ('Use this when someone asks how much it costs...'), states an exclusion ('does not cover drawings or photos'), and describes the no-file/unreadable fallback path. It stops short of naming the sibling to use instead (e.g., quote_from_link, check_printability), so routing among neighbors is still partly inferential.

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.

Resources