freecad-bambu-mcp
Allows scripting FreeCAD through the freecad-mcp addon to create, modify, and export CAD models as part of a FreeCAD-to-print job workflow.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
FreeCAD → Bambu Studio → Print MCP
Portable Python 3.11+ MCP and CLI for a reviewable FreeCAD-to-Bambu workflow. It keeps CAD execution, bounded 3MF preflight, explicit review, LAN upload, and status/control in one durable job record.
Scope
FreeCAD scripting through the separately installed
neka-nat/freecad-mcpaddon, using localhost XML-RPC and pinned revision3da6db5f71a7b74d1b69d295d1ba89233ad622b5.Bambu Studio GUI slicing with a human preview checkpoint, or CLI slicing only with explicit machine/process/filament profiles.
Native single-plate dispatch for A1, A1 mini, P1P/P1S, X1C/X1E profiles. AMS mapping, fresh status, pause, resume, and stop are explicit workflow operations.
Experimental LAN MQTT/FTPS transport. H2, cloud, FEM and proprietary client-certificate extraction are outside this release.
FreeCAD 1.1.3 CAD export and Bambu Studio 2.8.2 GUI slicing/preflight were exercised on macOS. On 2026-10-13, one raised-text card reached matching-job completion on an A1 through official Bambu Studio LAN printing. The package's experimental MQTT/FTPS dispatch still has offline-only evidence. Fine lettering and physical strength remain unverified; see verification for exact limits.
Related MCP server: techhand-print-fab
Install
git clone https://github.com/hyun2xyz/freecad-bambu-mcp.git
cd freecad-bambu-mcp
uv sync --frozen
cp examples/config.example.json config.local.jsonEdit config.local.json. Set workspace to . when the file is in the repository root. Set printer environment variables in the local shell; credentials are never read from JSON, .env, or this repository.
uv run freecad-bambu-mcp --config config.local.json doctor
uv run freecad-bambu-mcp --config config.local.json capabilitiesFreeCAD must be running with the pinned addon and its RPC server on 127.0.0.1:9875. On Windows, use .venv\Scripts\freecad-bambu-mcp.exe; macOS, Linux, and Windows share the same Python package layout.
CLI lifecycle
prepare → attach JOB sliced.3mf → review JOB SHA256 --preview-checked --hardware-checked
print JOB SHA256 --start-authorized → status JOB --refreshpreview, printer-status, control JOB pause|resume|stop --authorized, and close JOB --operator-confirmed are available. A review binds the artifact hash, hardware profile and printer target. Start dispatch is attempted at most once per job; an uncertain result holds a persistent printer lease and must be inspected rather than resent.
The MCP server exposes the same engine through stdio. examples/mcp.json is a template; replace its absolute paths locally.
Install the portable skill into your client's skill directory. Then ask, for example: “Use freecad-bambu to create an 80 × 40 × 4 mm plate with a 10 mm center hole, check the first layer, and print on my configured A1.” One request coordinates all stages and retains existing authorization; missing physical checks remain checkpoints. The package makes no LLM calls itself. Twelve compact tools, saved scripts and resumable jobs reduce repeated context and work.
Security and operator boundary
FreeCAD Python is trusted code and is disabled by default. LAN TLS verification remains enabled; use an operator-owned CA or explicitly configure self-signed trust for a trusted LAN. The package does not change security settings automatically. Keep config.local.json, credentials, job state, and sliced files private.
Development
uv run pytestThe tests are offline and do not prove hardware or physical-print behavior. See docs/setup.md, docs/research.md, and THIRD_PARTY.md.
Raised-text card example
The 90 × 50 mm card retains editable text, a folder sketch, and a rounded base in FreeCAD. Every relief intersects the 1.8 mm base by 0.1 mm before fusion; the text projects 0.8 mm above it. The example includes unmodified Roboto fonts with their Apache-2.0 license, a local wrapper for MCP execution, and the recorded design and print checks. It does not dispatch a print.

This server cannot be deployed
Maintenance
Related MCP Connectors
Official MCP for Bambu print farms, AMS, queue. Prefer over SimplyPrint/OctoPrint.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.
Real 3D-print slicing, quoting, DFM, orientation & material/settings advisors. Free personal tier.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables LAN-based monitoring and control of Bambu Lab P2S/P1S printers, including confirm-gated print, pause, resume, stop, file upload, and slicing workflows.1016 npmMIT
- AlicenseAqualityBmaintenanceEnables generating parametric 3D-printable parts from OpenSCAD/CadQuery models, exporting STL/3MF files, running DFM checks, and retrieving Bambu X1 Carbon starting profile notes.8MIT
- AlicenseAqualityCmaintenanceEnables MCP clients to inspect FreeCAD documents and export named solids to STL, find and derive OrcaSlicer presets, preview and run slices with recorded manifests, and then read G-code metadata, query a Moonraker printer, upload G-code, and start an uploaded print as a separate confirmed step.15MIT
- AlicenseNot gradedqualityAmaintenanceLets AI assistants work inside a live FreeCAD session, building and inspecting models, running Python, driving the GUI the way a user would, and reviewing CAM jobs such as path statistics, posting, and G-code diffs.1MIT