LabscoMCP early access ↗
bonninrMCP SERVER

FreeCAD

Drive a running FreeCAD from the conversation: send it FreeCAD Python and get the document's objects, placements and view state back.

by bonninr ↗3D, CAD & Game EnginesCommunity

LABSCO SUMMARY

Two tools, with the whole FreeCAD Python API behind them.

There are no per-object tools here. The model writes FreeCAD Python and the workbench runs it inside the application, then hands back the document's objects after a command. That keeps the surface tiny and puts everything FreeCAD can do within reach, but every call is arbitrary code running as you, so read what the model sends before you approve it.

What it is

A small bridge into a running FreeCAD. A workbench inside FreeCAD listens on localhost, and a Python MCP script forwards two tools to it: one runs a FreeCAD command and returns the document context, the other runs a whole script.

What you get

  • send_command runs FreeCAD Python and returns the active document with each object's name, type, placement and shape details, plus the view state
  • run_script runs a longer Python script with App, Gui and the active document already in scope, and reports whether it succeeded

Requirements

FreeCAD installed and open, with the freecad_mcp folder in its Mod directory, the FreeCAD MCP workbench selected and its server started from the panel. Your client runs src/freecad_bridge.py with a Python 3.10 or later that has the mcp package. MIT.

Setup effort

Build from source — git clone https://github.com/bonninr/freecad_mcp.git