Agent Guidance for Fabworks
How AI agents work with Fabworks, and where to look for everything else.
This page is the starting point for AI agents that work with Fabworks through the Fabworks MCP server. It covers how to work, and links to the pages that hold the details. Load those only when a question needs them. An agent connected to the server can load this page with the get_agent_guidance tool.
Rules
- Live tool results are the answer for a quote: catalog IDs, prices, DFM, bend data, and delivery dates. Do not invent capabilities, tolerances, prices, or lead times. When neither a tool nor a Fabworks page answers, say so and point the user to support@fabworks.com.
- Report every DFM error and warning, quoting the message. Never call a part clean unless
dfm.errorsanddfm.warningsare both 0, and never call a quote complete whilefailed_fileslists a file: those files are not in its parts or price. - Never pick a suggested material, thickness, profile, or finish without asking. Suggestions are alternatives, not matches.
- Checkout, payment, and ownership transfers happen in the Fabworks dashboard. Give the user the link, and never imply a quote was ordered or paid.
- A part we can make but can't ship makes the quote local pickup only:
get_delivery_optionsreturnslocal_pickup: trueand lists the parts inpickup_only_parts. Tell the user which parts, and that they can pick up in Ventura, California or contact support@fabworks.com for freight. Size limits are on the maximum part size page.
Quote parts
- Confirm the STEP files, quantities, names, material, and finish. A missing finish means No Deburring.
find_materialsfor exact material and finish IDs.get_catalogreturns the whole catalog with acatalog_version: keep it, and pass the version back to getnot_modifiedinstead of the rows.find_materialsresults carry the same version.create_uploadwithfiles(up to 100 per call) returns an upload for each file, in order; withfilenameit returns one. PUT each file's raw bytes from disk to itsupload_urlwith every returned header. Inline base64 also works, but it fills your context, so keep it for small files.create_quoteonce, with anidempotency_keyyou generate. It takes up to 25 parts and 24 MB per call; add the rest to the same quote withadd_quote_parts. Ifstatusisprocessing, callget_quoteinstead of creating it again.- Report the price, every DFM issue, and the links in the result.
get_manufacturabilityis available to every account. Call it for the engine's review and fix what it reports before calling the part ready (see below).
Each tool's description says what it does and returns. Read those rather than guessing.
Revise a design
Keep one quote per part while the design changes, rather than a new quote for every revision.
create_quotewith the first file. Give taps, countersinks, and hardware in the part'shole_opsby hole location:atis the hole center in inches, at mid-thickness, in the STEP file's own coordinates, anddiametertells close holes apart. They are applied when the file is parsed, even withwait_seconds0; each part'srequested_hole_opssays which hole each one landed on and why any was rejected.- For each revision,
replace_part_filewith the quote, the part, and the new file. It keeps the name, quantity, material, finish, and hole operations (matched again by location and size;dropped_hole_opslists the ones with no matching hole now), and returns the new part ID inreplaced.new_part_id. Welds are dropped and listed; weld again withfind_weld_seams. get_manufacturabilityon that quote for the engine's review of the new revision.- To change a hole operation later,
update_quote_partstakesatas well as hole numbers fromget_quotewith view full, whoseholes[].locationis in the same frame.
Many files
- An account can upload 500 STEP files (1 GB) at once, then one file (1 MB) a second. Past that a PUT is answered 429 with a
Retry-Afterheader in seconds: wait that long, then send the same PUT again to the same URL with the same headers. Don't create a new upload for it. - An upload URL expires after
expires_in_seconds(15 minutes), so create them in batches as you go rather than all at the start.
Fix what the engine finds
get_manufacturabilityreturns the DFM engine's findings and the press brake simulation. If it answersstatus: unavailable, the engine is briefly down: useget_quote's checks and try again shortly. When a bend fails, it names the step, the bend line (BL2), and which flange (F3) or formed bend hits the punch or die, with measured fixes in millimetres: lengthen or shorten a flange, or stop a bend short of a lip. Ask forfiles: ["svg"]to see the flat and a side view of the failing bend.- Fix amounts are enough for the reported bend order and punch, not the least possible. After a change, upload again: the solver re-checks every step and may pick another order.
- Flange labels (
F0…) follow your model's axes and usually stay put between uploads. Bend line numbers (BL1…) can change, so find each bend by the flanges it joins (bend_simulation.bends[].model) and check both againstflanges[].modeleach time. - It carries the same catalog rules as
get_quoteasrule_issues, so checkout needs both clean of errors.checkout_blocked_reasonsays why checkout is blocked:errors(fix them),checking(wait and call again), ornot_ready.
Weld bent parts
- Confirm which seams the user wants welded, whether continuous or stitched, and whether to grind them flush.
find_weld_seamswith the quote ID lists the bent parts that can be welded. With apart_id, it lists that part's numbered seams, longest first, with their end points in the STEP file's coordinates.- Match the user's description (for example "the four corners") to seam numbers using the lengths and end points. Mirror-image seams have the same length. Ask when the match is unclear.
update_quote_partswithwelds, then report the new price and give the userwelding_urlto review the welds in 3D.
Hand-offs
- Quote links open in the account that owns the quote. If the user sees an empty or blocked page, call
get_accountto check which account and organization the connection uses. - Send the user to
quote_urlto review the part, orbending_urlto watch the bend sequence in 3D.
Where to look next
Use search_docs and read_doc to load these pages when a question depends on them, and cite the page you used.
| Question | Start here |
|---|---|
| What Fabworks makes and how each service works | Services and the guidelines overview |
| Whether a design can be cut, bent, tapped, or coated as drawn | Guidelines, one page per process |
| Which materials and thicknesses are available | Materials, then find_materials for the exact catalog |
| When parts arrive and what shipping costs | get_delivery_options, then the shipping page |
| How big a part can be cut, bent, or shipped | Maximum part size |
| Common customer questions | FAQ |