Skip to main content
Glama

3D Printer on Demand

Server Details

Quote, check and order 3D prints of STL, 3MF, STEP or OBJ files. Made in the USA, shipped in the US.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 20 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 13 tools

Disambiguation4/5

Most tools have clearly distinct purposes, and descriptions go out of their way to state boundaries (e.g. check_printability gives no quote, get_print_quote does not cover drawings). However, several advisory tools overlap: get_design_guidance covers hole clearances/tolerances and printing vs molding, which also belong to size_hole_or_tolerance and compare_print_vs_molding, and recommend_material vs list_materials both address material choice. An agent could reasonably pick the wrong advisory tool, though the descriptions mostly steer it right.

Naming Consistency5/5

All 13 tools use consistent snake_case with a verb-first pattern (get_, list_, update_, combine_, compare_, check_, recommend_, reorder_, quote_, size_). The verbs vary appropriately by action rather than being chaotic, and each name reads as a predictable verb_noun phrase.

Tool Count5/5

13 tools is well within the ideal range and each one earns its place: quoting, file checking, material advice, design guidance, order status, reorder, and quote combination are all distinct capabilities. Nothing feels padded or redundant at the count level.

Completeness4/5

The quote lifecycle is well covered (create from file or link, update, combine, reorder) plus order status, printability checks, and a solid advisory set. Minor gaps exist: there is no way to retrieve or cancel an existing quote by its link without modifying it, and no order history lookup beyond a single order link, but agents can work around these via the website links returned.

Available Tools

13 tools
check_printabilityCheck a 3D model for printingA
Read-only
Inspect

Use this when someone attaches an STL, 3MF, STEP or OBJ file and wants to know whether it will 3D print well: size, walls, mesh problems and what to change. It reads the file, runs the same automatic design checks as our website, and stores nothing. It gives no quote. When no file is attached, it returns a link to upload the file on our website.

NameRequiredDescriptionDefault
materialNoMaterial id the part would be printed in, if the user named one, one of the listed values.
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

NameRequiredDescription
notesNo
messageYes
outcomeYes
size_mmNo
findingsNo
materialNo
file_nameNo
review_urlNo
size_limitNo
upload_urlNo
volume_cm3No
multi_colorNo
needs_personNo
person_reasonsNo
design_check_urlNo
material_pricing_modeNo
fits_instant_size_limitNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover read-only safety, but the description adds substantive behavior: it reads the file, runs the same automatic design checks as the website, stores nothing, and returns an upload link when no file is attached. That is real context beyond structured fields.

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?

Three sentences, trigger front-loaded, every clause carrying information (what it checks, what it does not do, the fallback). No filler or repetition of the title.

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 not be described. Given the read-only annotations plus the description's coverage of inputs, side effects (stores nothing) and the no-file path, an agent has everything needed to call it 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, model_file and part_description, including the enum values. The description names supported file formats but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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 and resource (check a 3D model's printability) and enumerates exactly what it inspects: size, walls, mesh problems and remediation. It also distinguishes itself from siblings with 'It gives no quote,' routing quoting intent to get_print_quote.

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

Usage Guidelines5/5

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

The trigger is explicit: 'Use this when someone attaches an STL, 3MF, STEP or OBJ file and wants to know whether it will 3D print well.' It also states the negative case ('gives no quote') and the no-file fallback behavior, leaving little to inference.

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

combine_quotesCombine quotes into one orderAInspect

Use this when someone has two or more quotes from 3D Printer on Demand in this chat and wants to order the parts together. It takes the private quote links, saves one quote that holds all the parts, and returns its private link with one combined total and one shipping charge, next to what the quotes cost ordered one by one. It does not change the earlier quotes, and it does not take a quote made outside this chat or a part still waiting for a person.

NameRequiredDescriptionDefault
quote_urlsYesThe private quote links from earlier quotes in this chat, one per part.

Output Schema

NameRequiredDescription
partsNo
messageYes
outcomeYes
currencyNo
next_stepNo
quote_urlNo
saved_usdNo
total_usdNo
link_numberNo
shipping_usdNo
price_held_daysNo
separate_total_usdNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=false and openWorldHint=false, so the bar is lower, and the description still adds real context: a new quote record is written, earlier quotes are left untouched, and the response carries combined totals versus per-quote costs. It stops short of stating idempotency or whether repeated combines stack, which is the only meaningful gap.

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

Conciseness4/5

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

Front-loaded with the selection condition, then behavior, then exclusions — a sensible order with no filler. Three sentences is proportionate, though the middle sentence packs two ideas (what is saved and what is returned) that could read more cleanly.

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?

For a one-parameter mutation with annotations and an output schema, everything an agent needs is present: trigger, preconditions, side effects, what is left unchanged, and what the returned link represents. Return-value details are bonus rather than a burden here since an output schema exists.

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 100% and minItems/maxItems already constrain the array, so the schema does the heavy lifting. The description still adds meaning the schema cannot: the links must be 'private quote links from earlier quotes in this chat' and one per part, which is exactly the mis-fill an agent would otherwise make.

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 and resource ('saves one quote that holds all the parts') plus the outcome ('returns its private link with one combined total and one shipping charge'). It also distinguishes itself from quote_from_link by excluding quotes made outside this chat, so an agent can pick it out of the sibling list without opening a schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('use this when someone has two or more quotes from 3D Printer on Demand in this chat') and explicit exclusions ('does not take a quote made outside this chat or a part still waiting for a person'). Both when-to-use and when-not-to-use are covered with no inference required.

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

compare_print_vs_moldingCompare 3D printing with moldingA
Read-only
Inspect

Use this when someone wants to compare 3D printing with injection molding for a quantity, using their own numbers: quantity, printed unit cost, tooling cost and molded unit cost. It returns the totals for each, the crossover quantity on those numbers, and the published range with sources. It makes up no cost, and when a number is missing it says which.

NameRequiredDescriptionDefault
quantityNoThe total or yearly quantity to compare.
setup_costNoSetup or secondary cost per printed order, in US dollars. Default 0.
tooling_costNoWhat the mold costs, in US dollars. 0 if the user has no tooling quote yet.
revision_costNoCost per tool revision, in US dollars.
tool_revisionsNoExpected tool revisions. Default 0.
molded_unit_costNoThe user's cost per molded part once the tool exists, in US dollars.
printed_unit_costNoThe user's cost per printed part, in US dollars.

Output Schema

NameRequiredDescription
notesYes
tableNo
resultNo
messageYes
missingNo
outcomeYes
readingYes
sourcesYes
problemsNo
tool_urlYes
assumptionsNo
published_rangeYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, and the description adds real behavioral guarantees beyond that: it will not fabricate costs and it reports which number is missing. That missing-value disclosure is the kind of failure-mode behavior annotations cannot express. The rest ('returns the totals for each, the crossover quantity...') largely restates what the output schema already conveys, which keeps it from a 5.

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?

Three sentences, front-loaded with the when-to-use clause, then outputs, then the reliability caveat. No filler and no repetition of the tool name or title.

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?

With seven optional parameters (zero required), a full output schema and clear annotations, the description covers purpose, inputs, outputs and trust behavior adequately. The one gap is that it never explains what happens if the user supplies no numbers at all, which matters given that every parameter is optional.

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 coverage is 100%, so the schema already documents all seven parameters with units, defaults and bounds, making 3 the baseline. The description adds little parameter meaning and only names four of the seven inputs (quantity, printed unit cost, tooling cost, molded unit cost), silently omitting setup_cost, revision_cost and tool_revisions, which could mislead an agent into ignoring revision-related costs.

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 (compare) and two specific resources (3D printing vs injection molding) plus the scope (for a quantity, using the user's own numbers). This is clearly distinguishable from siblings like get_print_quote or recommend_material, which do different jobs.

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?

'Use this when someone wants to compare 3D printing with injection molding for a quantity, using their own numbers' gives a clear triggering condition and even constrains the input mode (user-supplied figures, not a quote lookup). It does not name an alternative tool or state when not to use it, so it stops short of a 5.

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

get_design_guidanceGet 3D print design guidanceA
Read-only
Inspect

Use this when someone asks how to design a part for FDM 3D printing: wall thickness, tolerances, hole clearances, overhangs and supports, orientation, infill, bosses, ribs, snap fits, threaded inserts, dimensional accuracy, published material figures, or printing compared with molding or machining. It takes a topic or the question and returns short answers with their published sources and a link to the full page. It does not check a specific file.

NameRequiredDescriptionDefault
topicNoThe engineering topic, when it is clear which one the user means.
questionNoThe user's question in their own words. Used only to pick the topic and the most relevant answers.

Output Schema

NameRequiredDescription
topicsYes
messageYes
outcomeYes
sourcesYes
citation_ruleYes
claim_classesYes
engineering_urlYes
available_topicsNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld=false/destructive=false, so the safety profile is covered. The description still adds that answers come with published sources and a link to the full page and that it is scoped to guidance (not file checks), which is useful behavior beyond the structured fields.

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

Conciseness4/5

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

The topic list is long but front-loads the trigger and every item earns its place by defining coverage scope. No filler sentences; the exclusion is placed last as a boundary marker.

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?

With an output schema covering return values and annotations covering safety, the description only needs to cover trigger, scope, and boundaries – all present. The brief omission of how topic vs question interact when both are supplied is minor.

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% and the enum enumerates every topic, so the schema carries the parameter burden; per calibration this is a baseline 3. The description recaps 'takes a topic or the question' but adds no syntax or format detail beyond the schema.

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 and resource ('how to design a part for FDM 3D printing') and enumerates the covered topics, so the agent knows exactly what guidance it returns. The closing line 'It does not check a specific file' distinguishes it from the check_printability sibling.

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 trigger is explicit ('Use this when someone asks how to design a part...') and the exclusion 'does not check a specific file' rules out the file-inspection use case. It never names the routing sibling by name, but the when/when-not is clear enough to select correctly.

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

get_order_statusCheck an order's statusA
Read-only
Inspect

Use this when someone who ordered from 3D Printer on Demand asks where their order is or what state it is in. It takes the private order link from their order email and returns the order's status, its parts, how many have shipped, and any tracking numbers. It does not show the shipping address and it does not change the order.

NameRequiredDescriptionDefault
order_linkYesThe private order link from the order confirmation or shipping email.

Output Schema

NameRequiredDescription
paidNo
partsNo
statusNo
totalsNo
messageYes
need_byNo
outcomeYes
packagesNo
expeditedNo
placed_onNo
order_numberNo
status_detailNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real context: it consumes the private order link from email, it explicitly does not return the shipping address, and it does not mutate the order. This is useful beyond the annotations, though it doesn't mention rate limits or error behavior.

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?

Three efficient sentences, front-loaded with the usage condition, followed by what it returns and what it excludes. Every sentence adds distinct value and there is no redundancy.

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?

For a single-parameter read-only tool with an output schema, the description is complete: it states the trigger, the return contents, and explicit exclusions. Nothing an agent needs to call it correctly is missing, and the output schema handles return structure.

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 coverage is 100%, meaning the single parameter is already fully documented in the input schema. The description repeats that it 'takes the private order link from their order email' but adds no new syntax, format, or validation detail beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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 and resource ('returns the order's status, its parts, how many have shipped, and any tracking numbers') and clearly distinguishes it from siblings like get_print_quote and reorder_from_order by describing exactly what it retrieves. An agent knows precisely what this tool does without opening the schema.

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

Usage Guidelines5/5

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

Explicitly states when to use it: 'when someone who ordered from 3D Printer on Demand asks where their order is or what state it is in.' It also states exclusions ('does not show the shipping address and it does not change the order'), which helps an agent avoid misusing it for address changes or order modifications.

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

get_print_quoteGet a 3D print quoteAInspect

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.

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

NameRequiredDescription
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

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.

get_service_detailsGet service detailsA
Read-only
Inspect

Use this when someone asks how 3D Printer on Demand works: lead time, shipping, how long a quote is held, accepted file types, the largest part, the items we refuse to print, or where to upload a file, request a review or get in touch. It returns these facts as our website publishes them.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
urlsYes
brandYes
made_inNo
expediteYes
shippingYes
ships_toNo
lead_timeYes
materialsYes
part_sizeYes
file_typesYes
quote_holdYes
not_printedYes
contact_emailYes
quote_hold_daysYes
review_follow_upYes
file_types_reviewYes
shipping_flat_usdYes
file_types_in_chatYes
file_types_instantYes
freight_quote_overYes
lead_time_reviewedYes
largest_instant_part_mmYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds a meaningful behavioral fact beyond annotations: it returns facts 'as our website publishes them,' signalling the data is static published documentation rather than computed/real-time. It doesn't discuss freshness or latency, but the annotations carry the safety profile.

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

Conciseness4/5

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

One dense sentence with the trigger front-loaded and the fact list following. The topic enumeration is long but each item is a genuine query category; minimal waste.

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?

With no parameters, readOnly/openWorld annotations, and an output schema present, the description covers exactly what an agent needs: when to call it and what categories of facts come back. Return-value explanation is unnecessary given the output schema.

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?

Zero parameters, so the baseline is 4. The description correctly implies a no-argument retrieval of published facts, consistent with the empty schema.

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

Purpose4/5

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

States a specific resource (3D printing service details) with an enumerated list of covered facts (lead time, shipping, quote hold, file types, max size, refused items, upload/contact). It's clearly distinct from siblings like get_print_quote or list_materials, though it doesn't explicitly name them.

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?

Gives a clear trigger ('when someone asks how 3D Printer on Demand works') plus concrete example topics. It doesn't articulate when NOT to use it or name alternative tools, but the enumerated question types effectively scope its use.

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

list_materialsList print materialsA
Read-only
Inspect

Use this when someone asks which plastics 3D Printer on Demand prints, which colors each comes in, which material suits a job, or which materials are quoted by a person. It returns each material with what it is for, what it is not advised for, its colors and how it is quoted, plus plain guidance on comparing them. It returns no engineering figures.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
guidanceYes
materialsYes
review_urlYes
materials_urlYes
strength_noteYes
heat_rank_noteYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower. The description adds real value by describing the return contents and, notably, the negative scope 'returns no engineering figures', which sets agent expectations. It stops short of detailing any limits or freshness behavior.

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?

Two sentences, front-loaded with the trigger conditions and followed by the return summary. Both sentences carry distinct, non-redundant information and the negative scope note earns its place.

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?

An output schema exists so return values need not be enumerated, yet the description helpfully summarizes them anyway, and a 0-param list tool requires little else. The one gap is the unstated boundary against recommend_material, which is a relevant sibling.

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?

Zero parameters, so there is nothing to document and the baseline is 4. The description correctly does not invent parameter semantics, and the empty schema means no compensation was ever needed.

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

Purpose4/5

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

States a specific verb (list) and resource (print materials/plastics) with concrete detail about what each entry contains (purpose, colors, quoting). It is clear, but the trigger 'which material suits a job' overlaps with the sibling recommend_material, and the description never names that sibling to disambiguate.

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?

Gives four explicit trigger scenarios (which plastics, which colors, which suits a job, which are human-quoted), which is strong when-to-use guidance. However it offers no when-not guidance and does not explicitly route to recommend_material when a recommendation rather than a list is wanted.

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

recommend_materialRecommend a print materialA
Read-only
Inspect

Use this when someone wants help choosing which of our plastics suits a part, from where it will be used: indoor or outdoor, heat, impact, flexing, chemicals, looks and material cost. It returns the materials we offer that fit, best match first, the reasons in plain words, and the ones ruled out and why. It does not rank materials by strength or stiffness, and it sends safety-critical parts to a person.

NameRequiredDescriptionDefault
impactNohigh when the part takes knocks or drops.
appearanceNohigh when looks and color choice matter.
environmentNoWhere the part lives. Default indoor.
flexibilityNoflexible for parts that must bend and spring back, rigid for parts that must not.
heat_exposureNoHow much heat the part sees in use. Default none.
cost_sensitivityNohigh when keeping material cost low matters most.
chemical_exposureNoContact with oils, fuels, cleaners or solvents. Default none.

Output Schema

NameRequiredDescription
messageYes
outcomeYes
guidanceYes
ruled_outYes
review_urlYes
selector_urlYes
materials_urlYes
strength_noteYes
heat_rank_noteYes
properties_urlYes
recommendationsYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only establish that this is a safe, non-destructive read; the description goes well beyond them by disclosing the return shape (fits ranked best-first, plain-word reasons, ruled-out materials and why) and two real behavioral limits: it does not rank by strength/stiffness, and safety-critical parts are escalated to a human. That escalation behavior is exactly the kind of thing an agent could not infer from schema or annotations.

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?

Three sentences, front-loaded with the usage trigger, then the return contract, then the boundaries. Every sentence adds information an agent needs and none is redundant with structured fields.

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?

With an output schema present the description need not explain return values, yet it still summarizes the ranked/reasons/ruled-out shape and the human-escalation rule. Combined with the annotations and fully documented enums, an agent has everything needed to call and interpret this tool; the only unmentioned detail is that all parameters are optional, which is evident from the schema.

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% with all seven enums documented, including defaults, so the schema carries the parameter burden and a 3 baseline applies. The description restates the criteria categories but adds no format, precedence, or interaction guidance (e.g., how conflicting criteria are resolved) beyond the schema.

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 and resource ('recommend which of our plastics suits a part') and immediately scopes it to selection-by-requirements, which separates it from list_materials. The description also names the ordering and the rationale output, so an agent knows exactly what kind of answer to expect.

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 opening 'Use this when someone wants help choosing which of our plastics suits a part' gives clear trigger conditions, and the enumerated criteria (indoor/outdoor, heat, impact, flexing, chemicals, looks, cost) tell the agent what inputs matter. It does not name an alternative sibling (e.g., list_materials for a plain catalogue) or state exclusions as routing advice, so it stops short of a 5.

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

reorder_from_orderReorder parts from an earlier orderAInspect

Use this when someone wants the same parts again from an earlier 3D Printer on Demand order. It takes the private order link from their order email, works out a new estimate for each part from the files saved with that order, and returns a private link to review the parts and order them on our website. It takes no payment and does not change the earlier order.

NameRequiredDescriptionDefault
order_linkYesThe private order link from the order confirmation or shipping email.

Output Schema

NameRequiredDescription
partsNo
messageYes
outcomeYes
next_stepNo
review_urlNo
reorder_urlNo
needs_reviewNo
order_numberNo

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false with no destructiveness, which leaves the write semantics ambiguous. The description resolves this by stating it takes no payment and does not change the earlier order, and by describing the internal steps (estimate each part from saved files, return a private link). That is meaningful behavioral context beyond the structured fields.

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

Conciseness4/5

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

Front-loaded with the trigger sentence, then what it takes, what it does, and its side-effect boundary. Four sentences are all load-bearing, though the workflow sentence could be tightened slightly.

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?

Output schema exists, so the returned private link need not be elaborated further. With annotations, a single 100%-documented parameter, and no nested objects, the description covers when to use it, what it consumes, what it produces, and its non-side-effects — nothing an agent needs to call it correctly is missing.

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 coverage is 100% and the schema already documents order_link including its source emails. The description restates the same idea ("private order link from their order email") without adding format, validation, or failure-mode detail, so the baseline 3 applies.

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

Purpose4/5

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

Specific verb+resource+scope: it reorders parts from an *earlier* order, using saved files, and returns a review/order link. That scope implicitly separates it from quote_from_link and get_print_quote, but no sibling is named explicitly, so it falls just short of the top tier.

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?

"Use this when someone wants the same parts again from an earlier 3D Printer on Demand order" gives a clear trigger condition. There is no explicit when-not guidance or named alternative (e.g., if the user has no earlier order, use quote_from_link instead), which keeps it out of the 5 band.

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

size_hole_or_toleranceSize a printed hole or fitA
Read-only
Inspect

Use this when someone asks what clearance or hole size to draw for a printed fit: a sliding part, a bolt or pin through a hole, two printed parts that mate, a press fit, or a snap fit. It returns published starting clearances and hole guidance, each with its source, and how to test the fit. It gives no single universal hole offset, because none is published.

NameRequiredDescriptionDefault
fit_typeNoWhat the fit is for: sliding-moving, bolt-clearance, pin-in-hole, mating-fdm-parts, press-interference or snap-fit.
hole_axisNovertical-z when the hole goes through a top or bottom face, horizontal-xy when it goes through a side wall.
hole_diameter_mmNoThe hole diameter the user plans to draw, in mm.

Output Schema

NameRequiredDescription
fitNo
holeNo
urlsYes
messageYes
outcomeYes
sourcesYes
guidanceYes
fit_typesNo
citation_ruleYes
tolerance_postureYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish the read-only, non-destructive profile, so the bar is lower. The description still adds meaningful context: output is source-attributed published guidance plus a test method, and it proactively discloses a limitation ('no single universal hole offset, because none is published'), which prevents the agent from overpromising.

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?

Three sentences, zero waste, and the usage trigger is front-loaded ahead of the return and limitation notes. Every sentence carries a distinct piece of 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?

With an output schema present, the description need not explain return values, and it still covers usage trigger, output nature, and an explicit limitation. Nothing an agent needs to select or call the tool correctly is missing.

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 fit_type, hole_axis and hole_diameter_mm. The description's scenario list loosely maps to the fit_type enum values but adds no format or syntax detail beyond the schema, matching the baseline 3.

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 pairs a specific verb and resource ('size a printed hole or fit') with an enumeration of the exact scenarios it handles (sliding, bolt/pin clearance, mating, press, snap). It also states plainly what it returns (published starting clearances and hole guidance with sources), letting an agent distinguish it from generic siblings like get_design_guidance.

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 an explicit usage trigger ('Use this when someone asks what clearance or hole size to draw') followed by concrete scenario examples. It does not name alternatives such as get_design_guidance or state when-not-to-use, so it stops short of a full routing rule.

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

update_print_quoteUpdate a 3D print quoteAInspect

Use this when someone wants a different quantity or color on a quote 3D Printer on Demand already gave them. It takes that quote's private link and the new quantity, works out the estimate again from the file saved with the quote, saves it, and returns the new estimate with a new private link. The earlier link keeps the earlier quote. It does not take a new file, a different material, or a link that did not come from one of our quotes.

NameRequiredDescriptionDefault
colorNoA new color for the same material. Leave out to keep the saved color.
quantityYesThe new number of copies of the part.
quote_urlYesThe private quote link from an earlier quote in this chat.

Output Schema

NameRequiredDescription
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

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare the generic write/non-destructive/non-open-world profile. The description adds real behavior: the estimate is recomputed from the file saved with the original quote (no re-upload), the result is persisted, a new private link is issued, and the earlier link keeps serving the earlier quote. The last point is a non-obvious versioning guarantee the agent cannot infer from annotations.

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?

Four sentences, all load-bearing, with the trigger condition front-loaded before the mechanics and the exclusions. No restatement of the title and no filler.

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?

For a mutation tool with an output schema already covering return shape, the description supplies everything else: the eligibility condition, what is and is not accepted, the recompute-from-saved-file behavior, and the link-versioning outcome. Nothing an agent needs to call it correctly is missing.

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 100%, so per-parameter text is already handled and the baseline is 3. The description adds provenance semantics the schema does not stress — the link must come from one of our quotes — and clarifies that color changes apply to the same material. Small but genuine value over the schema.

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 and resource ('Update a 3D print quote') and immediately narrows scope to changing quantity or color on a quote that already exists. An agent can distinguish this from get_print_quote (create a new quote) without opening either schema.

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

Usage Guidelines5/5

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

Explicit trigger ('when someone wants a different quantity or color on a quote... already gave them') plus explicit exclusions: no new file, no different material, no link that did not come from one of our quotes. The negatives route the agent away from unsupported requests instead of leaving it to guess.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedcombine_quotes
  2. 1 tool update
    • Changedreorder_from_order1 field changed
      • addedOutput schema / properties / parts / items / properties / line_usd
        Added value: +{
        +  "type": "number"
        +}
  3. 3 tool updates
    • Addedget_order_status
    • Addedquote_from_link
    • Addedreorder_from_order
  4. 2 tool updates
    • Changedget_print_quote1 field changed
      • addedOutput schema / properties / order_fee_usd
        Added value: +{
        +  "type": "number"
        +}
    • Changedupdate_print_quote1 field changed
      • addedOutput schema / properties / order_fee_usd
        Added value: +{
        +  "type": "number"
        +}
  5. 9 tool updates
    • First observedcheck_printability
    • First observedcompare_print_vs_molding
    • First observedget_design_guidance
    • First observedget_print_quote
    • First observedget_service_details
    • First observedlist_materials
    • First observedrecommend_material
    • First observedsize_hole_or_tolerance
    • First observedupdate_print_quote

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Get live UK 3D printing prices for your own STL/3MF/STEP files or Printables and Thingiverse models, with a checkout link. Also finds mail-in electronics repair prices and checks order or repair progress.
    9
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Calculates 3D printing cost, time, material weight and build-plate fit from plain dimensions given in the conversation, with no STL upload and no API key. Covers PLA, PETG, ABS, ASA, TPU, Nylon, PC and PLA-CF, plus build volumes for Bambu Lab, Prusa, Creality, Voron and Elegoo printers.
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for real FDM 3D-printing slicing, quoting, and design-for-manufacturability analysis via the FabTally API, supporting 12 printer profiles and 12 materials. Includes free discovery/printability tools and paid slice/quote/orientation tools settled via x402 (USDC on Base).
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources