3D Printer on Demand
REMOTE · 3DPRINTERONDEMAND.COM
Quote, check and order 3D prints of STL, 3MF, STEP or OBJ files. Made in the USA, shipped in the US.
Available components
Last scanned (43 minutes ago)
Scores higher than 93% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Design and Media
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2230 tokens (~159/item across 14 items; 13 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
- Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 0
- New tool “combine_quotes” functional
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://3dprinterondemand.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=3dprinterondemand.com | CN=YR1,O=Let's Encrypt,C=US | 27 Oct 2026 | 25 Jan 2027 | RSA 2048 | SHA256-RSA | 6d97eb0b1bd963ab1a5a096e0535a38bef8 |
| SANs: 3dprinterondemand.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of 3dprinterondemand.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| 3dprinterondemand.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://3dprinterondemand.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://3dprinterondemand.com/api/mcp | HTTPS enforced | 308 | https://3dprinterondemand.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_printability Check a 3D model for printing ~176
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.
| Name | Type | Req | Description |
|---|---|---|---|
| material | string | – | Material id the part would be printed in, if the user named one, one of the listed values. |
| model_file | object | – | The STL, 3MF, STEP or OBJ file the user attached. |
| part_description | string | – | What the user says this part is or what it is for, in their own words, if they said. Leave out if they did not. |
| Name | Type | Req | Description |
|---|---|---|---|
| design_check_url | string | – | – |
| file_name | string | – | – |
| findings | array | – | – |
| fits_instant_size_limit | boolean | – | – |
| material | string | – | – |
| material_pricing_mode | string | – | – |
| message | string | yes | – |
| multi_color | boolean | – | – |
| needs_person | boolean | – | – |
| notes | array | – | – |
| outcome | string | yes | – |
| person_reasons | array | – | – |
| review_url | string | – | – |
| size_limit | string | – | – |
| size_mm | object | – | – |
| upload_url | string | – | – |
| volume_cm3 | number | – | – |
No examples provided.
combine_quotes Combine quotes into one order ~126
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.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_urls | array | yes | The private quote links from earlier quotes in this chat, one per part. |
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | – | – |
| link_number | number | – | – |
| message | string | yes | – |
| next_step | string | – | – |
| outcome | string | yes | – |
| parts | array | – | – |
| price_held_days | number | – | – |
| quote_url | string | – | – |
| saved_usd | number | – | – |
| separate_total_usd | number | – | – |
| shipping_usd | number | – | – |
| total_usd | number | – | – |
No examples provided.
compare_print_vs_molding Compare 3D printing with molding ~222
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.
| Name | Type | Req | Description |
|---|---|---|---|
| molded_unit_cost | number | – | The user's cost per molded part once the tool exists, in US dollars. |
| printed_unit_cost | number | – | The user's cost per printed part, in US dollars. |
| quantity | integer | – | The total or yearly quantity to compare. |
| revision_cost | number | – | Cost per tool revision, in US dollars. |
| setup_cost | number | – | Setup or secondary cost per printed order, in US dollars. Default 0. |
| tool_revisions | integer | – | Expected tool revisions. Default 0. |
| tooling_cost | number | – | What the mold costs, in US dollars. 0 if the user has no tooling quote yet. |
| Name | Type | Req | Description |
|---|---|---|---|
| assumptions | array | – | – |
| message | string | yes | – |
| missing | array | – | – |
| notes | array | yes | – |
| outcome | string | yes | – |
| problems | array | – | – |
| published_range | object | yes | – |
| reading | array | yes | – |
| result | object | – | – |
| sources | array | yes | – |
| table | array | – | – |
| tool_url | string | yes | – |
No examples provided.
get_design_guidance Get 3D print design guidance ~151
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.
| Name | Type | Req | Description |
|---|---|---|---|
| question | string | – | The user's question in their own words. Used only to pick the topic and the most relevant answers. |
| topic | string | – | The engineering topic, when it is clear which one the user means. |
| Name | Type | Req | Description |
|---|---|---|---|
| available_topics | array | – | – |
| citation_rule | string | yes | – |
| claim_classes | array | yes | – |
| engineering_url | string | yes | – |
| message | string | yes | – |
| outcome | string | yes | – |
| sources | array | yes | – |
| topics | array | yes | – |
No examples provided.
get_order_status Check an order's status ~98
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.
| Name | Type | Req | Description |
|---|---|---|---|
| order_link | string | yes | The private order link from the order confirmation or shipping email. |
| Name | Type | Req | Description |
|---|---|---|---|
| expedited | boolean | – | – |
| message | string | yes | – |
| need_by | string | – | – |
| order_number | string | – | – |
| outcome | string | yes | – |
| packages | array | – | – |
| paid | boolean | – | – |
| parts | array | – | – |
| placed_on | string | – | – |
| status | string | – | – |
| status_detail | string | – | – |
| totals | object | – | – |
No examples provided.
get_print_quote Get a 3D print quote ~240
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.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Color name for the chosen material. Default is the material's first color. |
| material | string | – | Material id, one of the listed values. Default petg. |
| model_file | object | – | The STL, 3MF, STEP or OBJ file the user attached. |
| part_description | string | – | What the user says this part is or what it is for, in their own words, if they said. Leave out if they did not. |
| quantity | integer | – | How many copies of the part. |
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | – |
| currency | string | – | – |
| file_name | string | – | – |
| material | string | – | – |
| message | string | yes | – |
| multi_color | boolean | – | – |
| next_step | string | – | – |
| order_fee_usd | number | – | – |
| outcome | string | yes | – |
| price_held_days | number | – | – |
| price_per_part_usd | number | – | – |
| print_fit_notes | array | – | – |
| quantity | number | – | – |
| quote_url | string | – | – |
| review_url | string | – | – |
| shipping_usd | number | – | – |
| size_mm | object | – | – |
| subtotal_usd | number | – | – |
| total_usd | number | – | – |
| upload_url | string | – | – |
| valid_colors | array | – | – |
| valid_materials | array | – | – |
No examples provided.
get_service_details Get service details ~75
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| brand | string | yes | – |
| contact_email | string | yes | – |
| expedite | string | yes | – |
| file_types | string | yes | – |
| file_types_in_chat | array | yes | – |
| file_types_instant | array | yes | – |
| file_types_review | array | yes | – |
| freight_quote_over | string | yes | – |
| largest_instant_part_mm | number | yes | – |
| lead_time | string | yes | – |
| lead_time_reviewed | string | yes | – |
| made_in | string | – | – |
| materials | string | yes | – |
| not_printed | array | yes | – |
| part_size | string | yes | – |
| quote_hold | string | yes | – |
| quote_hold_days | number | yes | – |
| review_follow_up | string | yes | – |
| shipping | string | yes | – |
| shipping_flat_usd | number | yes | – |
| ships_to | string | – | – |
| urls | object | yes | – |
No examples provided.
list_materials List print materials ~83
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| guidance | array | yes | – |
| heat_rank_note | string | yes | – |
| materials | array | yes | – |
| materials_url | string | yes | – |
| review_url | string | yes | – |
| strength_note | string | yes | – |
No examples provided.
quote_from_link Quote a 3D print from a link ~317
Use this when someone shares a link to a 3D model, such as a model page on Thingiverse or Printables or a direct link to an STL, 3MF, STEP or OBJ file, and wants a quote to have it printed and shipped by 3D Printer on Demand. It reads the model's licence where the site publishes one, gets the 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 the link offers several files, it lists them to pick from. Links that are not model pages with a licence need the person to confirm they have the right to print the file.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Color name for the chosen material. Default is the material's first color. |
| file_key | string | – | The file_key of one file from an earlier answer that listed several files for this link. |
| link | string | yes | The link to the model page or to the file, starting with https. |
| material | string | – | Material id, one of the listed values. Default petg. |
| part_description | string | – | What the user says this part is or what it is for, in their own words, if they said. Leave out if they did not. |
| quantity | integer | – | How many copies of the part. |
| rights_confirmed | boolean | – | True only when the person has said they own this file or have the right to have it printed. Leave out otherwise. |
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | – |
| currency | string | – | – |
| file_name | string | – | – |
| files | array | – | – |
| material | string | – | – |
| message | string | yes | – |
| multi_color | boolean | – | – |
| next_step | string | – | – |
| order_fee_usd | number | – | – |
| outcome | string | yes | – |
| price_held_days | number | – | – |
| price_per_part_usd | number | – | – |
| print_fit_notes | array | – | – |
| quantity | number | – | – |
| quote_url | string | – | – |
| review_url | string | – | – |
| shipping_usd | number | – | – |
| size_mm | object | – | – |
| source | object | – | – |
| subtotal_usd | number | – | – |
| total_usd | number | – | – |
| upload_url | string | – | – |
| valid_colors | array | – | – |
| valid_materials | array | – | – |
No examples provided.
recommend_material Recommend a print material ~219
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.
| Name | Type | Req | Description |
|---|---|---|---|
| appearance | string | – | high when looks and color choice matter. |
| chemical_exposure | string | – | Contact with oils, fuels, cleaners or solvents. Default none. |
| cost_sensitivity | string | – | high when keeping material cost low matters most. |
| environment | string | – | Where the part lives. Default indoor. |
| flexibility | string | – | flexible for parts that must bend and spring back, rigid for parts that must not. |
| heat_exposure | string | – | How much heat the part sees in use. Default none. |
| impact | string | – | high when the part takes knocks or drops. |
| Name | Type | Req | Description |
|---|---|---|---|
| guidance | array | yes | – |
| heat_rank_note | string | yes | – |
| materials_url | string | yes | – |
| message | string | yes | – |
| outcome | string | yes | – |
| properties_url | string | yes | – |
| recommendations | array | yes | – |
| review_url | string | yes | – |
| ruled_out | array | yes | – |
| selector_url | string | yes | – |
| strength_note | string | yes | – |
No examples provided.
reorder_from_order Reorder parts from an earlier order ~103
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.
| Name | Type | Req | Description |
|---|---|---|---|
| order_link | string | yes | The private order link from the order confirmation or shipping email. |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | – |
| needs_review | array | – | – |
| next_step | string | – | – |
| order_number | string | – | – |
| outcome | string | yes | – |
| parts | array | – | – |
| reorder_url | string | – | – |
| review_url | string | – | – |
No examples provided.
size_hole_or_tolerance Size a printed hole or fit ~180
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fit_type | string | – | What the fit is for: sliding-moving, bolt-clearance, pin-in-hole, mating-fdm-parts, press-interference or snap-fit. |
| hole_axis | string | – | vertical-z when the hole goes through a top or bottom face, horizontal-xy when it goes through a side wall. |
| hole_diameter_mm | number | – | The hole diameter the user plans to draw, in mm. |
| Name | Type | Req | Description |
|---|---|---|---|
| citation_rule | string | yes | – |
| fit | object | – | – |
| fit_types | array | – | – |
| guidance | array | yes | – |
| hole | object | – | – |
| message | string | yes | – |
| outcome | string | yes | – |
| sources | array | yes | – |
| tolerance_posture | string | yes | – |
| urls | object | yes | – |
No examples provided.
update_print_quote Update a 3D print quote ~160
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.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | A new color for the same material. Leave out to keep the saved color. |
| quantity | integer | yes | The new number of copies of the part. |
| quote_url | string | yes | The private quote link from an earlier quote in this chat. |
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | – |
| currency | string | – | – |
| file_name | string | – | – |
| material | string | – | – |
| message | string | yes | – |
| multi_color | boolean | – | – |
| next_step | string | – | – |
| order_fee_usd | number | – | – |
| outcome | string | yes | – |
| price_held_days | number | – | – |
| price_per_part_usd | number | – | – |
| print_fit_notes | array | – | – |
| quantity | number | – | – |
| quote_url | string | – | – |
| review_url | string | – | – |
| shipping_usd | number | – | – |
| size_mm | object | – | – |
| subtotal_usd | number | – | – |
| total_usd | number | – | – |
| upload_url | string | – | – |
| valid_colors | array | – | – |
| valid_materials | array | – | – |
No examples provided.
How do I install the 3D Printer on Demand MCP server?
3D Printer on Demand is a hosted endpoint at https://3dprinterondemand.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · 3dprinterondemand.com
claude mcp add --transport http afontana77-3d-printer-on-demand 'https://3dprinterondemand.com/api/mcp'
What is the 3D Printer on Demand MCP server?
3D Printer on Demand is an MCP server listed in the public MCP registry as io.github.AFontana77/3d-printer-on-demand. Quote, check and order 3D prints of STL, 3MF, STEP or OBJ files. Made in the USA, shipped in the US. This page covers its hosted endpoint (https://3dprinterondemand.com/api/mcp).
Is the 3D Printer on Demand MCP server safe to use?
3D Printer on Demand scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the 3D Printer on Demand MCP server expose?
3D Printer on Demand exposes 13 tools: get_print_quote, update_print_quote, list_materials, get_service_details, check_printability, and 8 more. Their descriptions and schemas cost roughly 2,150 tokens of context every time the server is loaded.
Does the 3D Printer on Demand MCP server require authentication?
No. We connected to 3D Printer on Demand without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the 3D Printer on Demand MCP server still maintained?
3D Printer on Demand is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.