Formada3D 3D Printing
by formada3d.com · remote · no sign-in to list tools · v2.5.0 · published by com.formada3d
Melbourne 3D printing: instant quotes for STL/3MF/OBJ files, 3D-printed products, order status
29 tools: 2 do something that can't be undone, 17 change things and 10 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things17Claude Code: ask: see these tools
- Only reads10Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http formada3d https://mcp.formada3d.com/Findings
Matches of fixed checks, with the text they matched.
- Warnstart_order
The server marks "start_order" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_order" says "start": a word for a change.
- Warnget_quote
The server marks "get_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_quote" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
29 tools
Can't be undone 2Claude Code: ask
design_requestSends a paid design-help request to Formada3D with fixed prices: quick_fix (change an existing file, A$29, 1-2 business days), replacement (simple part rebuilt from photos and meas…No findings
Why it is in this group
- The name "design_request" says "request": a word for a change.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Sends a paid design-help request to Formada3D with fixed prices: quick_fix (change an existing file, A$29, 1-2 business days), replacement (simple part rebuilt from photos and measurements, A$69, 3-5 days), new_design (from A$129, bigger jobs quoted first, 5-7 days); extra revision A$19. Returns a checkout_url (business.formada3d.com/design-help/) where the person pays and then uploads their files. Organic or sculpted shapes (figures, freeform or sculpted products, scan clean-up) take longer and cost more, so they are a custom quote depending on the designer. Printing is separate. The person pays on formada3d.com; nothing is paid by the AI. Requires user_confirmed=true, meaning the person asked for it and agreed to share their name and email. Rate-limited; links only, no files stored.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- title: Request paid design help
request_custom_quoteSends a brief to Formada3D (info@formada3d.com) for a custom design or manual quote, with the person's name and email so we can reply (within 1 business day).No findings
Why it is in this group
- The name "request_custom_quote" says "request": a word for a change.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Sends a brief to Formada3D (info@formada3d.com) for a custom design or manual quote, with the person's name and email so we can reply (within 1 business day). Requires user_confirmed=true, meaning the person asked for it and agreed to share those details. Rate-limited; no files are stored (pass a link to the file).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- title: Request a custom design quote
Changes things 17Claude Code: ask
business_servicesFormada3D Business (business.formada3d.com): robot parts, sensor/IoT enclosures, rapid prototyping, small-batch production, the parts catalogue, materials guide; invoice/PO; NDA on…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Formada3D Business (business.formada3d.com): robot parts, sensor/IoT enclosures, rapid prototyping, small-batch production, the parts catalogue, materials guide; invoice/PO; NDA on request.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Business services
cart_permalinkBackward-compatible v1 tool.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Backward-compatible v1 tool. Returns a link that adds one product to the Formada3D cart (our own shop, Stripe checkout). Inputs: id or sku, optional quantity and optional variant text (e.g. "Matte Black / Right Pull"). The person opens the link, reviews and pays.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Add-to-cart link
contactHow to reach Formada3D (email, response time, links).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it How to reach Formada3D (email, response time, links). Location is Melbourne, Australia; online only.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Contact Formada3D
estimate_quoteESTIMATE when there is no file yet: shape (box, cylinder or sphere) + size in mm (or volume_cm3), material, quantity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it ESTIMATE when there is no file yet: shape (box, cylinder or sphere) + size in mm (or volume_cm3), material, quantity. The quote engine generates a solid of that size and prices it with the same slicer and rules as a real upload (AUD, no GST): each, parts, minimum-order top-up (A$8 floor), shipping, total, grams, print time, plus upload_url for the exact price. Nothing stored. Same thing as a plain GET: https://formada3d.com/api/quote/estimate?shape=box&x=10&y=10&z=10&material=PLA&qty=1&format=text
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Quick price estimate (no file)
get_quoteInstant price for printing a 3D file (STL, 3MF or OBJ, by public URL or base64).1 finding
Why it is in this group
- The name "get_quote" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_quote" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_quote" says "get": a word for reading.
Description, as the server wrote it Instant price for printing a 3D file (STL, 3MF or OBJ, by public URL or base64). Our live quote engine slices it server-side and returns price (AUD, no GST), grams, print time, size, printability checks (fits printer, watertight, thin walls), bulk prices and a review_and_pay_url. Creates a saved quote. STEP/IGES files are quoted on the quote page. Materials: PLA, PETG and PLA Matte in stock; TPU, ABS, ASA, carbon/glass-fibre and 20+ more filaments ordered in (+2-3 days); SLA, SLS, MJF and metal via our production network (~2-3 weeks); live list in quote_options. Equivalent plain GET endpoint: https://formada3d.com/api/quote/v1/quote?file_url=<public STL link>&material=PLA&qty=1&format=text
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- title: Instant 3D print quote (your file)
materials_guideWhich material to choose: PLA, PLA Matte, PETG in stock; TPU, ABS, ASA, PC, finishes and carbon/glass-fibre filaments ordered in (instant price, +2-3 days); resin (Formlabs Form 4)…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Which material to choose: PLA, PLA Matte, PETG in stock; TPU, ABS, ASA, PC, finishes and carbon/glass-fibre filaments ordered in (instant price, +2-3 days); resin (Formlabs Form 4) coming soon; SLS/MJF nylon, resin, metal and PEEK via our production network (instant price on upload, ~2-3 weeks).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Materials guide
price_cookie_cutterPrice a custom cookie cutter with the exact formula our checkout charges (Cookie Cutter Studio).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price a custom cookie cutter with the exact formula our checkout charges (Cookie Cutter Studio). Returns price (AUD) and the studio link where the person designs it and adds it to the cart.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price a custom cookie cutter
price_lettersPrice custom wall letters or two-colour shadow letters / house numbers from the live price list (per letter, by size XS 3.5 cm to XL 25 cm).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price custom wall letters or two-colour shadow letters / house numbers from the live price list (per letter, by size XS 3.5 cm to XL 25 cm). Returns the total and the letters designer link.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price custom wall letters
price_logo_plaquePrice a business logo plaque / sign from the Logo Plaque Maker with the checkout's formula (size, number of colours, optional NFC e.g.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price a business logo plaque / sign from the Logo Plaque Maker with the checkout's formula (size, number of colours, optional NFC e.g. Google review link).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price a logo plaque
price_nfc_tagPrice a personalised keyring / bag tag from the NFC Tag Designer, using the checkout's own formula.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price a personalised keyring / bag tag from the NFC Tag Designer, using the checkout's own formula. Optional NFC chip (tap to open a link).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price an NFC keyring tag
price_pet_id_tagPrice a Pet ID tag (two-sided, optional NFC chip that opens the pet's found page) with the checkout's formula.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price a Pet ID tag (two-sided, optional NFC chip that opens the pet's found page) with the checkout's formula.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price a pet ID tag
price_slab_boxPrice the Slab Box Studio keepsake case for one graded trading card (engraved lid A$39.99, optional NFC +A$5).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price the Slab Box Studio keepsake case for one graded trading card (engraved lid A$39.99, optional NFC +A$5).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price a graded-card slab box
price_stampPrice a custom stamp / embosser using the Stamp Studio's own price formula (the studio confirms the order by email).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price a custom stamp / embosser using the Stamp Studio's own price formula (the studio confirms the order by email).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price a custom stamp
price_terrain_rollerPrice a printed texture roller (Roller Studio formula: by diameter and length).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Price a printed texture roller (Roller Studio formula: by diameter and length). The STL is also a free download in the studio.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Price a texture roller
quote_optionsWhat the instant quote accepts: materials, colours, infill and layer options, printers/build volume, file types and size limits, pricing rule, shipping table.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it What the instant quote accepts: materials, colours, infill and layer options, printers/build volume, file types and size limits, pricing rule, shipping table. Live from the quote engine.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Quote options and materials
shipping_and_lead_timesShipping rates (AUD) by country and production lead times, from Melbourne, Australia.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Shipping rates (AUD) by country and production lead times, from Melbourne, Australia.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Shipping and lead times
start_orderReturns the link where the person reviews and pays.1 finding
Why it is in this group
- The name "start_order" says "start": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "start_order" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_order" says "start": a word for a change.
Description, as the server wrote it Returns the link where the person reviews and pays. Shop items: items[] with product id/sku, quantity and option text -> a formada3d.com cart link (pre-filled, live prices, Stripe checkout). Print quote: quote_id -> the quote page with that quote loaded. Design-studio items have their own studio links. This tool makes no payment and handles no card details.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Start an order (checkout link)
Only reads 10Claude Code: allow
find_or_designNatural-language need -> what Formada3D can do: (a) matching shop products with live prices, (b) our online design studios that make it (cookie cutters, stamps, NFC/pet tags, logo …No findings
Why it is in this group
- The name "find_or_design" says "find": a word for reading.
Description, as the server wrote it Natural-language need -> what Formada3D can do: (a) matching shop products with live prices, (b) our online design studios that make it (cookie cutters, stamps, NFC/pet tags, logo plaques, letters, slab/vinyl boxes, rollers, moulds, boxes, terrain) with a price when computable, (c) a custom-design path (we design it to measure; quoted by us). Example: "a jacket hook for a 4 mm nail, 2 kg load".
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Find or design what you need
get_partFull detail for one business-catalogue part: description, specs (material, sizes, what it fits, hardware), option prices (AUD guide prices), availability (made to order / after fit…No findings
Why it is in this group
- The name "get_part" says "get": a word for reading.
Description, as the server wrote it Full detail for one business-catalogue part: description, specs (material, sizes, what it fits, hardware), option prices (AUD guide prices), availability (made to order / after fit check), safety and usage notes, FAQ and images. Identify by id (catalogue slug), sku (F3D-PARTS-nn), url or exact name. Catalogue: https://business.formada3d.com/parts/
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Business part details
get_productFull detail for one shop product: description, option names and values (e.g.No findings
Why it is in this group
- The name "get_product" says "get": a word for reading.
Description, as the server wrote it Full detail for one shop product: description, option names and values (e.g. colours, sizes, left/right pull), every variant with its live price, images, size mentions from the product page, lead time, shipping, and links. Identify by id (feed slug), product_id, sku, url or exact title.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Product details
get_saved_quoteLook up a quote by quote_id (e.g.No findings
Why it is in this group
- The name "get_saved_quote" says "get": a word for reading.
Description, as the server wrote it Look up a quote by quote_id (e.g. from a formada3d.com/quote/?q= link): parts, prices, total and the review/pay link.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Look up a saved quote
list_categoriesAll shop categories with product counts, starting prices (AUD) and category page links.No findings
Why it is in this group
- The name "list_categories" says "list": a word for reading.
Description, as the server wrote it All shop categories with product counts, starting prices (AUD) and category page links.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Shop categories
list_design_studiosOur live online 3D design studios (design in the browser, we print it), what each makes, and the tool that prices it.No findings
Why it is in this group
- The name "list_design_studios" says "list": a word for reading.
Description, as the server wrote it Our live online 3D design studios (design in the browser, we print it), what each makes, and the tool that prices it.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Online design studios
list_partsFormada3D Business parts catalogue (business.formada3d.com/parts/): parts we designed ourselves for robotics (soft gripper fingers, servo/camera brackets, ISO 9409 flange adapters,…No findings
Why it is in this group
- The name "list_parts" says "list": a word for reading.
Description, as the server wrote it Formada3D Business parts catalogue (business.formada3d.com/parts/): parts we designed ourselves for robotics (soft gripper fingers, servo/camera brackets, ISO 9409 flange adapters, sensor brackets), sensor and IoT enclosures (sealed O-ring boxes, LoRa mesh node cases), 42 mm grid organisers and NFC review stands. Guide prices in AUD (no GST), printed to order in Melbourne. Optional query/category filter; live from the catalogue pages.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Business parts catalogue
order_statusStatus of a Formada3D order: received / printing / packed / shipped, carrier, tracking number and link, dates and item names.No findings
Why it is in this group
- The name "order_status" says "status": a word for reading.
Description, as the server wrote it Status of a Formada3D order: received / printing / packed / shipped, carrier, tracking number and link, dates and item names. Requires the order reference AND the exact email used for the order (both in the confirmation email); any other combination returns "not found". Reference formats: print quotes Q......-XXXX; shop orders: the THANKS-XXXXXX code, the tracking number, or the Stripe session id (cs_live_...). Rate-limited.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Order status
policiesReturns (Australian Consumer Law), made in Melbourne, GST (not registered), minimum order, payment, privacy and safety notes.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns (Australian Consumer Law), made in Melbourne, GST (not registered), minimum order, payment, privacy and safety notes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Store policies
search_productsSearch the Formada3D shop (3D-printed paint racks, desk & home organisers, wall planters, Mac mounts, collectibles display, kids wooden-railway track parts, custom letters, cookie …No findings
Why it is in this group
- The name "search_products" says "search": a word for reading.
Description, as the server wrote it Search the Formada3D shop (3D-printed paint racks, desk & home organisers, wall planters, Mac mounts, collectibles display, kids wooden-railway track parts, custom letters, cookie cutters, tabletop terrain, STL files). Relevance-ranked; live AUD prices from our price list (no GST); made to order in Melbourne, Australia. Returns product URL and add_to_cart_url.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Search the shop
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.5.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http formada3d https://mcp.formada3d.com/Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__formada3d__search_products",
"mcp__formada3d__get_product",
"mcp__formada3d__list_categories",
"mcp__formada3d__get_saved_quote",
"mcp__formada3d__find_or_design",
"mcp__formada3d__list_design_studios",
"mcp__formada3d__list_parts",
"mcp__formada3d__get_part",
"mcp__formada3d__order_status",
"mcp__formada3d__policies"
],
"ask": [
"mcp__formada3d__cart_permalink",
"mcp__formada3d__start_order",
"mcp__formada3d__get_quote",
"mcp__formada3d__estimate_quote",
"mcp__formada3d__quote_options",
"mcp__formada3d__price_cookie_cutter",
"mcp__formada3d__price_nfc_tag",
"mcp__formada3d__price_pet_id_tag",
"mcp__formada3d__price_logo_plaque",
"mcp__formada3d__price_stamp",
"mcp__formada3d__price_terrain_roller",
"mcp__formada3d__price_slab_box",
"mcp__formada3d__price_letters",
"mcp__formada3d__materials_guide",
"mcp__formada3d__shipping_and_lead_times",
"mcp__formada3d__business_services",
"mcp__formada3d__contact",
"mcp__formada3d__request_custom_quote",
"mcp__formada3d__design_request"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as formada3d. Review it before you use it.