Fabworks MCP Server

Connect an AI agent to Fabworks to quote laser-cut sheet metal and tube parts from STEP files.

The Fabworks MCP server connects AI agents to Fabworks online laser cutting. An agent can search the manufacturing catalog, upload STEP files, create quotes, review pricing and DFM results, update quote parts, and check orders. It works with Claude Code, Codex, Cursor, and any client that supports remote MCP servers.

Quotes cover laser-cut flat sheet, bent sheet, and tube parts. Signed uploads keep STEP file bytes out of the agent context.

Connect an agent

Copy this prompt into an agent that supports remote MCP servers:

Prompt for an AI agent
Add the Fabworks remote MCP server to this agent.

Name: Fabworks
URL: https://api.fabworks.com/mcp
Transport: Streamable HTTP
Authentication: OAuth

Configure the server and start OAuth. If you cannot edit your MCP
configuration, give me the exact steps for this client. Then list
the Fabworks tools to verify the connection.

OAuth opens a Fabworks sign-in page. MCP clients that support custom headers can also use a Fabworks user or organization API key:

Authorization header
Authorization: Bearer $FABWORKS_API_KEY

Keep API keys in an environment variable or secret store. Do not paste a key into chat or commit it to a repository.

Generate an API key

Use OAuth when your client supports it. For an automated client that requires a Bearer token, create and manage a Fabworks API key below.

If an organization is active in Fabworks, Clerk creates an organization API key. Otherwise, it creates a personal API key.

Set up your client

Claude Code

Add Fabworks for your user so it is available in every project:

Terminal
claude mcp add --transport http --scope user fabworks https://api.fabworks.com/mcp

Open /mcp in Claude Code, select Fabworks, and complete the browser sign-in. Use /mcp again to confirm that the Fabworks tools are connected.

Codex

Add the remote server, then start OAuth:

Terminal
codex mcp add fabworks --url https://api.fabworks.com/mcp
codex mcp login fabworks

After sign-in, start a new Codex session and ask it to list the Fabworks tools.

OpenClaw

Save Fabworks as a Streamable HTTP server and start OAuth:

Terminal
openclaw mcp add fabworks \
  --url https://api.fabworks.com/mcp \
  --transport streamable-http \
  --auth oauth
openclaw mcp login fabworks
openclaw mcp doctor fabworks --probe

The final command checks the connection and lists any authorization problem.

Hermes Agent

Add Fabworks and sign in:

Terminal
hermes mcp add fabworks --url https://api.fabworks.com/mcp --auth oauth
hermes mcp login fabworks
hermes mcp test fabworks

Hermes adds the Fabworks tools to later agent sessions after the connection test succeeds.

Agent Guidance

The Agent Guidance page is where agents start: the rules, the quoting workflow, and links to the Fabworks pages that hold the details. The server tells every client to load it with get_agent_guidance before quoting.

Quote STEP files

Use this workflow:

  1. Call find_materials to get exact material and finish IDs.
  2. Call create_upload for each STEP file and upload the file to the returned signed URL.
  3. Call create_quote with the upload IDs, quantities, names, material ID, and finish ID.
  4. If processing continues, call get_quote. It waits for a result by default.
  5. Review the price, manufacturing configuration, DFM results, and checkout URL with the user.

Do not send STEP files as base64. The signed upload keeps file bytes out of the agent context. Do not select a suggested material without user confirmation. Exact tube searches treat box, square, and rectangular as the same profile family.

What a quote returns

A ready quote includes the price of each part, the subtotal, and the checkout URL. It also runs the same DFM checks as checkout:

  • dfm.errors and dfm.warnings count the problems across the quote. Each part lists its own dfm_issues, for example a flange shorter than the minimum for its thickness or a cutout inside a bend's distortion zone.
  • dfm.checkout_blocked is true while any error remains. Fix the model or change the material, then quote again.
  • Warnings do not block checkout. The agent should still show them before you order.

Bent parts also list each bend with its angle, inside radius, flange length, and the limits for the selected material: minimum flange, distortion zone, and tooling radius. A failing bend names the check it failed, so the agent can tell you which flange to lengthen and by how much.

Each part has a review_url that opens the quote scrolled to that part. Bent parts also have a bending_url that opens the press brake simulation for that part. Add &step=N to hold the simulation after step N, which lets an agent with a browser screenshot a specific bend. The simulation page carries a hidden status block ([data-press-brake-summary]) with the search result, the step order, and a data-settled flag that turns true once playback stops. The bend sequence simulation runs only in the browser, so bent parts get one more check there. The subtotal does not include shipping or tax.

The checkout URL opens the quote in the Fabworks account that owns it. Sign in to that account before you open the link. An API key belongs to the account or organization that created it.

Tools

The server covers what the Fabworks dashboard does. Checkout, payment, and ownership changes stay in the dashboard: the agent hands you a link and you finish there.

ToolUse
get_accountShow the user and organizations the connection acts for, and where new quotes go.
find_materialsFind exact sheet, tube, and finish IDs.
find_hole_operationsList taps, countersinks, and hardware that fit a material and thickness.
create_uploadCreate a temporary signed upload URL for one STEP file.
create_quoteCreate and price a quote from one or more uploaded files, in a personal or organization account.
add_quote_partsUpload more STEP files into an existing quote.
get_quoteRead status, prices, DFM, bend data, configurable holes, and price breaks at other quantities.
get_delivery_optionsDelivery dates and shipping cost per tier for a ZIP code.
list_quotesFind quotes by name or number, including archived ones.
update_quote_partsChange quantities, names, materials, finishes, and hole operations, or remove parts.
update_quoteRename a quote, set its ZIP code or local pickup, archive or restore it.
update_quote_assembliesChange how many sets of an assembly are ordered, or split it into standalone parts.
duplicate_quoteCopy a quote before trying changes.
share_quoteCreate a read-only link for a purchaser or teammate.
get_linkLink to a quote, part, bend simulation step, checkout, order, or list in the dashboard.
list_ordersList orders with status and tracking.
check_order_statusRead one order's jobs, totals, shipments, and tracking.
reorderStart a new quote from a past order at current prices.
search_docsSearch Fabworks guidelines, materials, services, FAQs, and policies.
read_docRead a Fabworks docs page as markdown.
get_agent_guidanceRead the Agent Guidance playbook as markdown.

The server also provides the same guidance as the resource://fabworks/agent-guide resource and a quote_step_files prompt.

Choose toolsets

Clients that can't turn individual tools on and off can pick toolsets in the server URL. The toolsets are catalog, quotes, orders, docs, and account. Add read_only=true to leave out every tool that changes data:

Server URL
https://api.fabworks.com/mcp?toolsets=quotes,docs&read_only=true

Example requests

Things to ask your agent
Quote 25 of bracket.step in 0.125-inch 5052 aluminum.

Quote these square-tube STEP files in A513 steel and name the parts.

Open my latest quote and explain its price and DFM results.

Change every part in this quote to quantity 50 and show the new total.

Check order 26-12345 and summarize its production and shipping status.

How much are these parts at 1, 10, and 100, and when would they arrive in 93003?

Tap the four small holes in the bracket for 8-32 and show me the new price.

Show me step 2 of the bend sequence for the channel.