accueil / serveurs / Dev & Code / io.github.AFontana77/3d-printer-on-demand
io.github.AFontana77/3d-printer-on-demand
serveur MCP (Model Context Protocol) · 3d-printer-on-demand 1.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.AFontana77/3d-printer-on-demand est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.AFontana77/3d-printer-on-demand » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 12 outils
- check_printability≈ 747 tokens
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.
Paramètres, retour & exemple (3)
Paramètresmaterial· string · optionnel · petg | pla | abs | pa-cf | petg-cf | opm | tpu
Material id the part would be printed in, if the user named one, one of the listed values.model_file· object · optionnel
The STL, 3MF, STEP or OBJ file the user attached.part_description· string · optionnel
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.
Exemple d'appel{"name": "check_printability", "arguments": {"material": "petg", "model_file": {}, "part_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"notes": [], "message": "texte", "outcome": "checked", "size_mm": {}, "findings": [], "material": "texte", "file_name": "texte", "review_url": "texte", "size_limit": "texte", "upload_url": "texte", "volume_cm3": 1, "multi_color": true}} - compare_print_vs_molding≈ 984 tokens
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.
Paramètres, retour & exemple (7)
Paramètresquantity· integer · optionnel
The total or yearly quantity to compare.setup_cost· number · optionnel
Setup or secondary cost per printed order, in US dollars. Default 0.tooling_cost· number · optionnel
What the mold costs, in US dollars. 0 if the user has no tooling quote yet.revision_cost· number · optionnel
Cost per tool revision, in US dollars.tool_revisions· integer · optionnel
Expected tool revisions. Default 0.molded_unit_cost· number · optionnel
The user's cost per molded part once the tool exists, in US dollars.printed_unit_cost· number · optionnel
The user's cost per printed part, in US dollars.
Exemple d'appel{"name": "compare_print_vs_molding", "arguments": {"quantity": 1, "setup_cost": 1, "tooling_cost": 1, "revision_cost": 1, "tool_revisions": 1, "molded_unit_cost": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"notes": [], "table": [], "result": {}, "message": "texte", "missing": [], "outcome": "computed", "reading": [], "sources": [], "problems": [], "tool_url": "texte", "assumptions": [], "published_range": {}}} - get_design_guidance≈ 1182 tokens
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.
Paramètres, retour & exemple (2)
Paramètrestopic· string · optionnel · wall-thickness | fdm-tolerances | supports-and-overhangs | orientation | infill | hole-clearances | dimensional-accuracy | bosses
The engineering topic, when it is clear which one the user means.question· string · optionnel
The user's question in their own words. Used only to pick the topic and the most relevant answers.
Exemple d'appel{"name": "get_design_guidance", "arguments": {"topic": "wall-thickness", "question": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"topics": [], "message": "texte", "outcome": "guidance", "sources": [], "citation_rule": "texte", "claim_classes": [], "engineering_url": "texte", "available_topics": []}} - get_order_status≈ 642 tokens
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.
Paramètres, retour & exemple (1)
Paramètresorder_link· string · requis
The private order link from the order confirmation or shipping email.
Exemple d'appel{"name": "get_order_status", "arguments": {"order_link": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"paid": true, "parts": [], "status": "texte", "totals": {}, "message": "texte", "need_by": "texte", "outcome": "found", "packages": [], "expedited": true, "placed_on": "texte", "order_number": "texte", "status_detail": "texte"}} - get_print_quote≈ 821 tokens
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.
Paramètres, retour & exemple (5)
Paramètrescolor· string · optionnel
Color name for the chosen material. Default is the material's first color.material· string · optionnel · petg | pla | abs | pa-cf | petg-cf | opm | tpu
Material id, one of the listed values. Default petg.quantity· integer · optionnel
How many copies of the part.model_file· object · optionnel
The STL, 3MF, STEP or OBJ file the user attached.part_description· string · optionnel
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.
Exemple d'appel{"name": "get_print_quote", "arguments": {"color": "texte", "material": "petg", "quantity": 1, "model_file": {}, "part_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"color": "texte", "message": "texte", "outcome": "instant", "size_mm": {}, "currency": "texte", "material": "texte", "quantity": 1, "file_name": "texte", "next_step": "texte", "quote_url": "texte", "total_usd": 1, "review_url": "texte"}} - get_service_details≈ 576 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_service_details", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"urls": {}, "brand": "texte", "made_in": "texte", "expedite": "texte", "shipping": "texte", "ships_to": "texte", "lead_time": "texte", "materials": "texte", "part_size": "texte", "file_types": "texte", "quote_hold": "texte", "not_printed": []}} - list_materials≈ 402 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_materials", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"guidance": [], "materials": [], "review_url": "texte", "materials_url": "texte", "strength_note": "texte", "heat_rank_note": "texte"}} - quote_from_link≈ 1035 tokens
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.
Paramètres, retour & exemple (7)
Paramètreslink· string · requis
The link to the model page or to the file, starting with https.color· string · optionnel
Color name for the chosen material. Default is the material's first color.file_key· string · optionnel
The file_key of one file from an earlier answer that listed several files for this link.material· string · optionnel · petg | pla | abs | pa-cf | petg-cf | opm | tpu
Material id, one of the listed values. Default petg.quantity· integer · optionnel
How many copies of the part.part_description· string · optionnel
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.rights_confirmed· boolean · optionnel
True only when the person has said they own this file or have the right to have it printed. Leave out otherwise.
Exemple d'appel{"name": "quote_from_link", "arguments": {"link": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"color": "texte", "files": [], "source": {}, "message": "texte", "outcome": "instant", "size_mm": {}, "currency": "texte", "material": "texte", "quantity": 1, "file_name": "texte", "next_step": "texte", "quote_url": "texte"}} - recommend_material≈ 809 tokens
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.
Paramètres, retour & exemple (7)
Paramètresimpact· string · optionnel · no_preference | high
high when the part takes knocks or drops.appearance· string · optionnel · standard | high
high when looks and color choice matter.environment· string · optionnel · indoor | outdoor
Where the part lives. Default indoor.flexibility· string · optionnel · no_preference | flexible | rigid
flexible for parts that must bend and spring back, rigid for parts that must not.heat_exposure· string · optionnel · none | warm | hot
How much heat the part sees in use. Default none.cost_sensitivity· string · optionnel · standard | high
high when keeping material cost low matters most.chemical_exposure· string · optionnel · none | some | harsh
Contact with oils, fuels, cleaners or solvents. Default none.
Exemple d'appel{"name": "recommend_material", "arguments": {"impact": "no_preference", "appearance": "standard", "environment": "indoor", "flexibility": "no_preference", "heat_exposure": "none", "cost_sensitivity": "standard"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"message": "texte", "outcome": "ranked", "guidance": [], "ruled_out": [], "review_url": "texte", "selector_url": "texte", "materials_url": "texte", "strength_note": "texte", "heat_rank_note": "texte", "properties_url": "texte", "recommendations": []}} - reorder_from_order≈ 482 tokens
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.
Paramètres, retour & exemple (1)
Paramètresorder_link· string · requis
The private order link from the order confirmation or shipping email.
Exemple d'appel{"name": "reorder_from_order", "arguments": {"order_link": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"parts": [], "message": "texte", "outcome": "ready", "next_step": "texte", "review_url": "texte", "reorder_url": "texte", "needs_review": [], "order_number": "texte"}} - size_hole_or_tolerance≈ 1270 tokens
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.
Paramètres, retour & exemple (3)
Paramètresfit_type· string · optionnel · sliding-moving | bolt-clearance | pin-in-hole | mating-fdm-parts | press-interference | snap-fit
What the fit is for: sliding-moving, bolt-clearance, pin-in-hole, mating-fdm-parts, press-interference or snap-fit.hole_axis· string · optionnel · vertical-z | horizontal-xy
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 · optionnel
The hole diameter the user plans to draw, in mm.
Exemple d'appel{"name": "size_hole_or_tolerance", "arguments": {"fit_type": "sliding-moving", "hole_axis": "vertical-z", "hole_diameter_mm": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"fit": {}, "hole": {}, "urls": {}, "message": "texte", "outcome": "guidance", "sources": [], "guidance": [], "fit_types": [], "citation_rule": "texte", "tolerance_posture": "texte"}} - update_print_quote≈ 648 tokens
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.
Paramètres, retour & exemple (3)
Paramètrescolor· string · optionnel
A new color for the same material. Leave out to keep the saved color.quantity· integer · requis
The new number of copies of the part.quote_url· string · requis
The private quote link from an earlier quote in this chat.
Exemple d'appel{"name": "update_print_quote", "arguments": {"quantity": 1, "quote_url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"color": "texte", "message": "texte", "outcome": "instant", "size_mm": {}, "currency": "texte", "material": "texte", "quantity": 1, "file_name": "texte", "next_step": "texte", "quote_url": "texte", "total_usd": 1, "review_url": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».