Back to Browse

Fabtally MCP Server

Developer ToolsModerate7.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Real 3D-print slicing, quoting, DFM, orientation & material/settings advisors. Free personal tier.

About

Real 3D-print slicing, quoting, DFM, orientation & material/settings advisors. Free personal tier.

Remote endpoints: streamable-http: https://fabtally.com/mcp

Security Report

7.0
Moderate7.0Low Risk

Valid MCP server (4 strong, 3 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) Imported from the Official MCP Registry.

14 tools verified · Open access · 3 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Applies to the server that hosts this plugin, not to your machine.

file_system

Applies to the server that hosts this plugin, not to your machine.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "com-fabtally-slicer": {
      "url": "https://fabtally.com/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

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.

ToolPriceWhat it does
list_printersfreeLive printer fleet (id, bed, nozzle), 12 materials, pricing model. Call this first.
get_print_quotefreeSlicer-accurate price quote: print time, filament grams, priced quote with volume discounts + bring-your-own pricing.
slice_modelfree metrics / paid fileSlice metrics (time, filament, layers, geometry, cost) are free. include_gcode/include_preview returns the downloadable G-code / PNG — paid (x402 or prepaid credit api_key).
check_printabilityfreeDFM/printability. full=false fast geometry read; full=true full report with exact slice-derived support & material deltas.
analyze_modelfreeGeometry preview: bbox (mm), volume (cm³), triangles, watertight, fits-on-bed, printable-so-far verdict.
optimize_orientationfreeSlices up to 4 orientations, recommends the one using the least support material, with savings vs as-is + est price.
compare_printersfreeSlice across several of your printers → table of time/filament/cost/fits-on-bed + cheapest & fastest picks.
recommend_materialfreeBest filament(s) for a use case (functional/decorative/outdoor/flexible/high-temp/food-contact-note) with reasons + a quote per candidate.
recommend_settingsfreeLayer height / infill / walls for a goal (strength/speed/surface/cost), sliced so you see the tradeoff.
whatif_infillfreeTable of time/filament/cost across several infill %s.
scale_advisorfreeNew dimensions/time/filament/cost after scaling (fit-bed / percent:<n> / dim:<axis>:<mm>).
validate_modelfreeOne-shot go/no-go: watertight, wall-thickness, size vs bed, verdict + one-liner.
cost_breakdownfreeMaterial vs machine-time vs setup vs margin, in your currency (bring your own pricing).
analyze_3d_modelfreeGeneral 3D-model analysis (bbox, volume, triangles, watertight, solidity) — useful beyond printing (game/AR-VR asset QC, marketplace validation, engineering checks).

The 13 printers

Default: elegoo-centauri-carbon.

idprinterbed X×Y×Z (mm)nozzle
elegoo-centauri-carbonElegoo Centauri Carbon256×256×2570.4
elegoo-neptune4-maxElegoo Neptune 4 Max420×420×4800.4
bambu-a1Bambu Lab A1256×256×2560.4
bambu-a1-miniBambu Lab A1 mini180×180×1800.4
bambu-p1sBambu Lab P1S256×256×2500.4
bambu-x1cBambu Lab X1 Carbon256×256×2500.4
prusa-mk4Prusa MK4250×210×2200.4
prusa-miniPrusa MINI180×180×1800.4
ender3-v3Creality Ender-3 V3220×220×2500.4
creality-k1Creality K1220×220×2500.4
creality-k1-maxCreality K1 Max300×300×3000.4
voron-24-350Voron 2.4 350350×350×3250.4
anycubic-kobra2Anycubic Kobra 2220×220×2500.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 https URL to an STL / 3MF / OBJ / PLY / STEP file;
    • 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 .zip archive — 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, use model_url via 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 install

Run (stdio — primary)

node index.js
# or, after `npm install -g .`:  fabtally-mcp

The 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 varDefaultPurpose
FABTALLY_BASEhttps://fabtally.comBase origin for the paid /agent (x402) lane + discovery.
FABTALLY_FREE_BASE= FABTALLY_BASEBase for the FREE lane. The hosted server points this at the localhost quote service.
FABTALLY_FREE_PREFIX/api/quotePath prefix for the free lane (empty when FABTALLY_FREE_BASE is the quote service directly).
FABTALLY_INTERNAL_SECRET(unset)Hosted server only: authenticates forwarding each desktop user's IP as the fair-use cap identity.
MCP_HTTP_PORT8103Port for the optional HTTP transport (http.js).
MCP_HTTP_HOST127.0.0.1Bind address for the HTTP transport.

How paid calls work (x402)

  1. Call a paid tool (or check_printability with full: true) without x_payment. You get { "payment_required": true, "http_status": 402, "challenge": { ... } } containing the x402 accepts entry (scheme exact, network eip155:8453 = Base, asset USDC, atomic amount, payTo).
  2. Build an x402 payment authorization (EIP-3009 transferWithAuthorization to payTo) for that entry using your x402 client / wallet.
  3. Call the tool again with the resulting token in the x_payment argument. The server forwards it as the X-PAYMENT header 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 402s

License

MIT · Sunstone Soft · https://fabtally.com

Reviews

No reviews yet

Be the first to review this server!