fabtally-mcp
FabTally MCP server lets agents discover FDM printing options and run slicing, quoting, DFM/printability, and geometry checks on 3D models.
list_printers– free discovery of the live 12-printer fleet, 12 filament materials, and x402 pricing tiers.check_printability– free geometry-only DFM/printability preview; paidfull=trueadds exact slice-derived support and material deltas.analyze_model– geometry analysis: bbox, volume, triangles, watertight, fits-on-bed (paid in schema).get_print_quote– slicer-accurate quote with print time, filament grams, and volume discounts (paid in schema).slice_model– real OrcaSlicer slice metrics; optional paid preview PNG and/or G-code. Configure printer, material, quality/layer height, infill, and supports.optimize_orientation– slices up to 4 orientations to recommend the least-support orientation (paid).Model input – provide a public
model_urlor small inlinemodel_base64+filename; paid calls usex_paymentfor x402 settlement, otherwise return a 402 challenge.Note: the schema marks several tools paid that the README calls free, so real access depends on the live service/fair-use rules.
Provides calibrated FDM printer profiles for Anycubic printers (e.g., Kobra 2), enabling slicing, quoting, DFM analysis, and orientation optimization for these printers.
Provides calibrated FDM printer profiles for Bambu Lab printers (A1, A1 mini, P1S, X1 Carbon), enabling slicing, quoting, DFM analysis, and orientation optimization for these printers.
Provides calibrated FDM printer profiles for Creality printers (Ender-3 V3, K1, K1 Max), enabling slicing, quoting, DFM analysis, and orientation optimization for these printers.
Allows fetching 3D model files from Dropbox share links (auto-rewritten to direct-download form) for slicing, quoting, printability analysis, and other model-processing tools.
Provides calibrated FDM printer profiles for Elegoo printers (Centauri Carbon, Neptune 4 Max), enabling slicing, quoting, DFM analysis, and orientation optimization for these printers.
Allows fetching 3D model files from GitHub blob URLs (auto-rewritten to raw) for slicing, quoting, printability analysis, and other model-processing tools.
Allows fetching 3D model files from Google Drive share links (auto-rewritten to direct-download form) for slicing, quoting, printability analysis, and other model-processing tools.
Attempts to fetch 3D model files from Printables model pages for slicing, quoting, and printability analysis; if the site blocks server downloads, returns a clear message to download and upload the file manually.
Attempts to fetch 3D model files from Thingiverse model pages for slicing, quoting, and printability analysis; if the site blocks server downloads, returns a clear message to download and upload the file manually.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fabtally-mcpCan you check if this STL is printable? https://example.com/bracket.stl"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FabTally MCP Server
The first MCP server for real FDM 3D-printing slicing, quoting, and DFM / printability analysis. Every other 3D-printing MCP just drives a printer (OctoPrint, Bambu). None of them slice, quote, or run design-for-manufacturability checks — FabTally does.
It fronts the FabTally agent API (https://fabtally.com), which runs a production slicing engine against 12 calibrated FDM printer profiles and 12 filament materials, and exposes it as MCP tools so any MCP-capable agent (Claude Desktop, Cursor, custom agents) can discover and call it.
Free for people; per-call for agents. A human at a keyboard (Claude Desktop, ChatGPT Desktop — no crypto wallet) gets real answers with zero payment from every useful tool: slice metrics (print time, filament, layers, cost), full DFM, orientation optimisation, and the printer/material/settings advisors — subject to generous fair-use daily limits so the free compute can't be farmed. Only the downloadable G-code file (and the preview PNG) — the commercial deliverable — is paid, via x402 (USDC on Base) or prepaid credits, for agents, production and high volume. Hit the daily limit and you get a friendly pointer to prepaid credits (
https://fabtally.com/buy) or the x402 agent lane.This server holds no private key and persists no models. It relays calls to
https://fabtally.com/...; uploaded models are streamed to the slicer, never stored.
Tools
All tools are FREE for personal & interactive use (fair-use daily limits). Only
slice_model with include_gcode/include_preview is paid.
Tool | Price | What it does |
| free | Live printer fleet (id, bed, nozzle), 12 materials, pricing model. Call this first. |
| free | Slicer-accurate price quote: print time, filament grams, priced quote with volume discounts + bring-your-own pricing. |
| free metrics / paid file | Slice metrics (time, filament, layers, geometry, cost) are free. |
| free | DFM/printability. |
| free | Geometry preview: bbox (mm), volume (cm³), triangles, watertight, fits-on-bed, printable-so-far verdict. |
| free | Slices up to 4 orientations, recommends the one using the least support material, with savings vs as-is + est price. |
| free | Slice across several of your printers → table of time/filament/cost/fits-on-bed + cheapest & fastest picks. |
| free | Best filament(s) for a use case (functional/decorative/outdoor/flexible/high-temp/food-contact-note) with reasons + a quote per candidate. |
| free | Layer height / infill / walls for a goal (strength/speed/surface/cost), sliced so you see the tradeoff. |
| free | Table of time/filament/cost across several infill %s. |
| free | New dimensions/time/filament/cost after scaling ( |
| free | One-shot go/no-go: watertight, wall-thickness, size vs bed, verdict + one-liner. |
| free | Material vs machine-time vs setup vs margin, in your currency (bring your own pricing). |
| free | General 3D-model analysis (bbox, volume, triangles, watertight, solidity) — useful beyond printing (game/AR-VR asset QC, marketplace validation, engineering checks). |
Related MCP server: PrusaMCP
The 13 printers
Default: elegoo-centauri-carbon.
id | printer | bed X×Y×Z (mm) | nozzle |
| Elegoo Centauri Carbon | 256×256×257 | 0.4 |
| Elegoo Neptune 4 Max | 420×420×480 | 0.4 |
| Bambu Lab A1 | 256×256×256 | 0.4 |
| Bambu Lab A1 mini | 180×180×180 | 0.4 |
| Bambu Lab P1S | 256×256×250 | 0.4 |
| Bambu Lab X1 Carbon | 256×256×250 | 0.4 |
| Prusa MK4 | 250×210×220 | 0.4 |
| Prusa MINI | 180×180×180 | 0.4 |
| Creality Ender-3 V3 | 220×220×250 | 0.4 |
| Creality K1 | 220×220×250 | 0.4 |
| Creality K1 Max | 300×300×300 | 0.4 |
| Voron 2.4 350 | 350×350×325 | 0.4 |
| Anycubic Kobra 2 | 220×220×250 | 0.4 |
Materials: pla, pla-cf, petg, petg-cf, abs, abs-cf, asa, asa-cf,
nylon, pc, pet, tpu (PLA/PETG/ABS/ASA + carbon-fiber variants, Nylon, PC, PET, TPU).
list_printers always returns the authoritative live list.
Supplying a model file
MCP tools can't take raw file uploads, so every model-consuming tool accepts the model two ways — pick one:
model_url(PREFERRED) — just paste a link. The server fetches and, if needed, unpacks it:a direct
httpsURL to anSTL/3MF/OBJ/PLY/STEPfile;a Thingiverse, Printables or MakerWorld model page is tried, but these sites usually block downloads from servers (HTTP 403). You'll get a clear message to download the file yourself and upload it;
a GitHub blob URL (auto-rewritten to raw);
a Google Drive or Dropbox share link (auto-rewritten to the direct-download form);
a
.ziparchive — the first printable model inside (STL/3MF/OBJ/PLY/STEP) is extracted and used, and the response reports which file it picked.
Local file? Drop it once at https://fabtally.com/upload (no account, drag-and-drop) to get a short-lived URL (auto-deletes in ~2h, nothing kept), then paste that URL as
model_url. Max 64 MB.model_base64+filename— raw file bytes, base64, plus a filename. Small-file fallback only (roughly <50KB). MCP clients truncate large inline arguments, so a real STL sent this way can silently arrive corrupted. For anything bigger, usemodel_urlvia the upload bridge.
Example tool calls
// 1) Discover printers/materials/pricing (free)
{ "name": "list_printers", "arguments": {} }
// 2) Free printability check on a hosted model
{ "name": "check_printability",
"arguments": { "model_url": "https://fabtally.com/sample-cube-20mm.stl" } }
// 3) Full DFM report (free for interactive use) — paste a GitHub link
{ "name": "check_printability",
"arguments": { "model_url": "https://github.com/user/repo/blob/main/bracket.stl",
"full": true, "printer": "bambu-p1s", "material": "petg" } }
// 4) Slice metrics (free) — no wallet, real print time / filament / cost
{ "name": "slice_model",
"arguments": { "model_url": "https://raw.githubusercontent.com/CreativeTools/3DBenchy/master/Single-part/3DBenchy.stl",
"printer": "prusa-mk4", "material": "pla" } }
// 5) Compare your printers (free)
{ "name": "compare_printers",
"arguments": { "model_url": "https://.../part.zip",
"printers": "bambu-a1,prusa-mk4,ender3-v3", "material": "petg" } }
// 6) The G-code FILE (PAID) — returns an x402 402 challenge unless x_payment/api_key is supplied
{ "name": "slice_model",
"arguments": { "model_url": "https://example.com/gear.stl",
"printer": "voron-24-350", "material": "abs", "include_gcode": true } }Install
cd fabtally-mcp-server
npm installRun (stdio — primary)
node index.js
# or, after `npm install -g .`: fabtally-mcpThe server speaks MCP over stdio. Point your MCP client at it.
Claude Desktop / MCP client config
{
"mcpServers": {
"fabtally": {
"command": "node",
"args": ["/absolute/path/to/fabtally-mcp-server/index.js"]
}
}
}Run (Streamable HTTP — optional)
MCP_HTTP_PORT=8103 node http.js
# POST MCP JSON-RPC messages to http://127.0.0.1:8103/mcp (stateless)Configuration
Env var | Default | Purpose |
|
| Base origin for the paid |
| = | Base for the FREE lane. The hosted server points this at the localhost quote service. |
|
| Path prefix for the free lane (empty when |
| (unset) | Hosted server only: authenticates forwarding each desktop user's IP as the fair-use cap identity. |
|
| Port for the optional HTTP transport ( |
|
| Bind address for the HTTP transport. |
How paid calls work (x402)
Call a paid tool (or
check_printabilitywithfull: true) withoutx_payment. You get{ "payment_required": true, "http_status": 402, "challenge": { ... } }containing the x402acceptsentry (schemeexact, networkeip155:8453= Base, asset USDC, atomicamount,payTo).Build an x402 payment authorization (EIP-3009
transferWithAuthorizationtopayTo) for that entry using your x402 client / wallet.Call the tool again with the resulting token in the
x_paymentargument. The server forwards it as theX-PAYMENTheader and returns the actual result.
Free discovery is always at GET https://fabtally.com/agent/overview; the OpenAPI contract at
https://fabtally.com/openapi.json; x402 discovery at https://fabtally.com/.well-known/x402.
Test
node smoke-test.mjs # lists tools, calls list_printers + check_printability, checks paid 402sLicense
MIT · Sunstone Soft · https://fabtally.com
Available Tools
6 toolsanalyze_modelAnalyze 3D model geometryAInspect
PAID ($0.002 USDC on Base, x402). Geometry only, no slice: bounding box (mm), volume (cm3), triangle count, watertight flag, and a fits-on-bed check for an optional printer. Cheap sanity check for an STL/3MF/OBJ model. Without payment, returns the x402 challenge (price + how to pay).
Inputs: printer, filename, model_url, x_payment, +1 more.
check_printabilityCheck 3D-print printability (DFM)AInspect
3D printing DFM / design-for-manufacturability & printability check for an STL/3MF/OBJ model. Default (full=false) is FREE: a geometry-only preview — printable verdict (yes / with-warnings / no), watertight/manifold check, dimensions & volume, fits-on-bed, a wall-thickness estimate vs the 0.4mm nozzle, and an overhang/support heuristic. No payment needed. Set full=true for the PAID full DFM report ($0.01 USDC on Base, x402): everything above PLUS EXACT support-material grams/time and infill material-saving deltas from REAL OrcaSlicer slices, every field labelled exact vs heuristic. Without payment the paid mode returns the x402 challenge (price + how to pay); pass x_payment to settle. Great before quoting or slicing to catch thin walls, non-watertight meshes, and support-heavy geometry.
Inputs: full, printer, quality, filename, +6 more.
get_print_quoteGet a 3D printing price quoteAInspect
PAID ($0.005 USDC on Base, x402). Slicer-accurate FDM 3D-printing price quote from a real OrcaSlicer slice (not an estimate): print time, filament grams, and a priced quote (material + machine time + setup, with automatic volume discounts). Upload an STL/3MF/OBJ/STEP model. Without payment, returns the x402 challenge (price + how to pay).
Inputs: filename, material, quantity, model_url, +2 more.
list_printersList 3D printers, materials and pricingAInspect
FREE. Discovery for FabTally 3D printing: returns the live 12-printer FDM fleet (printer id, human name, bed/build-volume in mm, nozzle diameter), the 12 supported filament materials (PLA, PETG, ABS, ASA, Nylon, PC, TPU + carbon-fiber variants), and the x402 pricing tiers for the paid slice/quote/DFM tools. No payment required. Call this FIRST to choose a printer and material id before quoting, slicing, or a DFM check.
Inputs: no named parameters.
optimize_orientationOptimize 3D-print orientation (least support)AInspect
PAID ($0.02 USDC on Base, x402). Orientation optimiser for FDM 3D printing: really slices up to 4 candidate build orientations with automatic supports on the chosen printer and recommends the one that uses the LEAST support material (exact, slice-derived), reporting the filament/support savings vs printing the model as-is. Reduces support waste, print time, and post-processing. Costs more than other tools because it runs multiple real slices. Without payment, returns the x402 challenge (price + how to pay); pass x_payment to settle and get the recommended orientation.
Inputs: printer, quality, filename, material, +5 more.
slice_modelSlice a 3D model (G-code, print time, preview)AInspect
PAID (x402, USDC on Base). Full OrcaSlicer slice on any of the 12 FDM printers: print time, filament grams, layer count, geometry, and fits-on-bed. Optionally returns a preview PNG render and/or the sliced G-code. Price tiers by outputs: base $0.005; +preview PNG $0.01; +G-code $0.015; +preview+G-code $0.02. Upload an STL/3MF/OBJ/STEP model. Without payment, returns the x402 challenge for the selected tier.
Inputs: printer, quality, filename, material, +8 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 6 tools
Most tools have clearly distinct purposes: discovery, DFM check, orientation optimization, cheap geometry analysis, quote, and slicing. However, check_printability (in free mode) and analyze_model both perform geometry-only sanity checks (dimensions, watertight, fits-on-bed), which could cause an agent to pick the wrong one despite the price and detail differences.
All tool names follow a consistent verb_noun pattern: list_printers, check_printability, optimize_orientation, analyze_model, get_print_quote, slice_model. No mixed conventions or vague verbs.
Six tools is a well-scoped set for a 3D printing MCP server, covering discovery, analysis, optimization, quoting, and slicing without bloat. Each tool addresses a distinct stage in the workflow.
The surface covers the full user journey from selecting a printer/material to running a DFM check, optimizing orientation, and obtaining a slicer-accurate quote or G-code. No critical missing operations; the paid tools have clear free/paid tiers handled via x_payment.
Maintenance
Related MCP Connectors
Remote MCP server exposing 330 production AI-agent services for web/data processing, validation, AI utilities, blockchain/crypto utilities, and x402 pay-per-use access.
Programmatic web-scraping MCP server powered by x402 micro-transactions on Base.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
Pay-per-call MCP tools over x402 (USDC/Solana): LLM, utilities, x402 market and model prices.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables interaction with 3D printer management systems through an MCP server, supporting STL file manipulation, slicing, and control of printers like OctoPrint, Klipper, Duet, and more.309,494 npm262GPL 2.0
- FlicenseAqualityDmaintenanceAn intelligent 3D printing assistant that enables users to analyze meshes, generate optimal print profiles, and automate PrusaSlicer operations through an MCP client. It provides a comprehensive suite of tools for geometric analysis, printability checks, filament recommendations, and post-print diagnostics.1710-
- AlicenseNot gradedqualityCmaintenanceMCP server providing 50+ crypto, market intelligence, and AI inference endpoints with x402 pay-per-request micropayments on Base.2Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to submit, slice, and start 3D prints with configurable gates, preview approval, and monitoring, via a self-hosted print daemon.MIT