FreeCAD MCP

FreeCAD MCP

Enables AI agents to perform CAD operations through FreeCAD, including part conversion, 3D printing slicing, fluid simulation, and structural analysis, with a web dashboard for human interaction.

Category
访问服务器

README

FreeCAD MCP

<p align="center"> <a href="https://github.com/casey/just"><img src="https://img.shields.io/badge/just-ready_to_go-7c5cfc?style=flat-square&logo=just&logoColor=white" alt="Just"></a> <a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff"></a> <a href="https://python.org"><img src="https://img.shields.io/badge/Python-3.13+-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python"></a> <a href="https://biomejs.dev"><img src="https://img.shields.io/badge/Linted_with-Biome-60a5fa?style=flat-square&logo=biome&logoColor=white" alt="Biome"></a> <a href="https://github.com/PrefectHQ/fastmcp"><img src="https://img.shields.io/badge/FastMCP-3.2-7c5cfc?style=flat-square" alt="FastMCP"></a> </p>

Two ways to use this

This project exposes FreeCAD as a server that two different kinds of users talk to:

Who How What for
MCP server (port 10944) AI agents — Claude Desktop, Cursor, Continue, any MCP client Your AI assistant calls tools like step_to_stl() or cfd_run_solver() directly. You type "convert this STEP file and slice it for my printer" and it does the whole chain. Hands-free CAD work. Agentic loops: the AI iterates design → simulate → analyze → refine without you touching the GUI.
Web dashboard (port 10945) Humans — you, in a browser A dark-mode React app with pages for converting files, browsing models, configuring fluid simulations, chatting with an LLM about CAD, viewing logs, and changing settings. Point-and-click workflow. Upload a file, click Convert, download the STL. Fill in a form, click Run, see simulation results.

Both talk to the same FreeCAD backend. An AI agent can prepare a simulation case, and you can inspect the results in the web dashboard — or vice versa.

Scripting & automation

Everything the AI agents and the web dashboard call goes through the same REST API at http://localhost:10944/api/v1/. You can script against it directly from Python, curl, or any HTTP client:

import requests

# Ask the AI assistant to convert a file — same API the webapp uses
r = requests.post("http://localhost:10944/api/v1/control/tool", json={
    "tool": "step_to_stl",
    "arguments": {"file_name": "bracket.step", "output_name": "bracket.stl"}
})
print(r.json())  # {"success": True, "output": "bracket.stl", ...}

# Or run a parametric study across 10 different geometries
for length in [0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 7.5, 10.0]:
    requests.post("http://localhost:10944/api/v1/control/tool", json={
        "tool": "cfd_create_domain",
        "arguments": {"domain_type": "channel", "length_m": length, "case_name": f"study_{length}m"}
    })

This is how you build headless pipelines: generate 100 geometry variants in a loop, run simulations on each, collect results, train a surrogate model. No GUI needed — FreeCAD runs in the background as a geometry engine.

What can I do with this?

FreeCAD is a free professional CAD modeler (like SolidWorks but open-source). Through the API, you can:

Category What you can do
Mechanical parts Convert STEP files to 3D-printable STL meshes. Create boxes, cylinders, spheres, cones by describing them. Inspect part volumes and bounding boxes. All managed through the persistent CAD file depot with full CRUD.
Architecture & construction Create walls, floor slabs, columns (rectangular or steel H-sections), windows, doors, and sloped roofs — all in millimeters. Export to .ifc files that architects and structural engineers can open. Import .ifc files from other design tools. This is called BIM (Building Information Modeling) — 3D building design where every element knows what it is (a wall, a door, a load-bearing column), not just a shape. FreeCAD's Arch workbench handles this. QCAD is a 2D drafting tool — different domain.
Fluid simulation Model pipes, channels, and nozzles. Run airflow or water-flow simulations through OpenFOAM (the same tool Formula 1 teams use). Or run GPU-accelerated simulations with FluidX3D — uses your graphics card instead of the CPU. Describe a flow problem in plain English and let an LLM write the solver config.
Structural analysis (FEM) Run finite element analysis with CalculiX: stress, strain, displacement, safety factor. 10 material presets (steel, aluminum, titanium, carbon fiber...), automatic meshing via Gmsh, and an end-to-end run_fem_analysis convenience tool. Same tool Formula 1 teams use for chassis and wing analysis.
3D printing Slice STL files into G-code for your printer. Configurable profiles for different printers, filaments, and layer heights.
Model marketplace Search Printables, Thingiverse, and GrabCAD for ready-made parts. Import them directly into your workspace.
Machine learning Export point clouds from fluid domains to train neural networks that replace slow physics simulations. Generate datasets by running parameter sweeps automatically.
Example use cases "What's inside this STEP file?" — "Convert this assembly to 3D-printable STL" — "Design a room with two windows and a door" — "Simulate water flow through this pipe at 2 m/s" — "Find me a gear on Printables and slice it for my MK4" — "Train a neural network to predict airflow instead of running the full simulation every time" — "Browse my persistent CAD depot, create a test bracket, rename and tag it"
What it connects to FreeCAD 1.1.1+ (the CAD engine), OpenFOAM 10 via Docker (fluid simulation), FluidX3D via OpenCL (GPU-accelerated simulation), PrusaSlicer 2.8+ (3D printing), Ollama (local LLM), Printables / Thingiverse / GrabCAD (model search)
Ports 10944 = MCP server (AI agents), 10945 = web dashboard (humans), 10946 = FreeCAD bridge (internal)
Start just bootstrap then start.ps1

Documentation Index

Guide Content
Installation Prerequisites, FreeCAD setup, PrusaSlicer, just bootstrap
Architecture TCP bridge, subprocess fallback, port layout, file pipeline
MCP Tools All 46 tools with examples: geometry conversion, architecture (walls/floors/roofs/IFC), structural FEM (CalculiX stress/strain), fluid simulation (OpenFOAM + FluidX3D), 3D printing, marketplace search, LLM assistance, and CAD file depot with persistent storage + full CRUD
Fleet CFD pipeline qcad DXF → freecad OpenFOAM/FluidX3D → resonite/godot/robotics handoff
Fluid simulation guide Full walkthrough: creating domains, configuring physics, setting boundary conditions, running solvers, reading results, parametric sweeps, natural language config, and exporting data for neural network training
OpenFOAM & GPU solvers Solver reference, turbulence model guide, GPU acceleration options (FluidX3D on RTX 4090 and Apple Silicon), Mac vs PC comparison
AI Tooling Ollama chat, agentic CAD reasoning, sampling workflows
About FreeCAD History, community, Python scripting, 300+ workbenches, vs SolidWorks/Fusion
Marketplace Searching and importing models from Printables, Thingiverse, GrabCAD
Webapp README Dashboard frontend: pages, viewer, proxy, development

Quick Start

just bootstrap   # uv sync + npm install
start.ps1        # kills zombies, starts backend + frontend, opens browser

MCP Client Config

{
  "mcpServers": {
    "freecad": {
      "url": "http://localhost:10944/sse",
      "transport": "sse"
    }
  }
}

Quality

  • Python: Ruff linter + formatter (zero-config, sub-millisecond)
  • Frontend: Biome linter + formatter
  • Task runner: justjust lint, just fix, just dev, just tauri-build
  • Native desktop: Tauri 2.0 + PyInstaller sidecar — just tauri-build (ports 10944/10945)
  • AI protocol: FastMCP 3.2 with SSE transport

See also — other construction & design tools in the fleet

Repo What it does
QCad MCP 2D technical drafting — floor plans, schematics, blueprints
Blender MCP 3D modeling, animation, rendering, sculpting
Unity3D MCP Game engine, real-time 3D, physics, VR/AR
Inkscape MCP Vector graphics — logos, illustrations, SVGs
GIMP MCP Raster image editing — photos, textures, pixel art

Each follows the same pattern: MCP server for AI agents + web dashboard for humans, sharing a common API.

CFD fleet moat

Only fleet repo with OpenFOAM + GPU FluidX3D + NL2FOAM + PINN sampling + VTK/OBJ export for downstream Resonite/Godot/robotics handoff. Competitive analysis: mcp-central-docs/projects/CAD_FLEET_COMPETITIVE.md. Pipeline: docs/fleet-pipeline.md.

just fleet-e2e-offline   # CI-safe config chain smoke
just fleet-e2e-integration   # GPU FluidX3D setup->compile->run (local)
just fleet-e2e-chain     # qcad extrude -> freecad setup (HTTP)

License

MIT — see LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选