FreeCAD
Integrate with FreeCAD, a free and open-source parametric 3D modeler, via a Python bridge.
FreeCAD MCP (Model Control Protocol)
Overview
The FreeCAD MCP (Model Control Protocol) provides a simplified interface for interacting with FreeCAD through a server-client architecture. This allows users to execute commands and retrieve information about the current FreeCAD document and scene.
https://github.com/user-attachments/assets/5acafa17-4b5b-4fef-9f6c-617e85357d44
Configuration
To configure the MCP server, you can use a JSON format to specify the server settings. Below is an example configuration:
{
"mcpServers": {
"freecad": {
"command": "C:\\ProgramData\\anaconda3\\python.exe",
"args": [
"C:\\Users\\USER\\AppData\\Roaming\\FreeCAD\\Mod\\freecad_mcp\\src\\freecad_bridge.py"
]
}
}
}
Configuration Details
-
command: The path to the Python executable that will run the FreeCAD MCP server. This can vary based on your operating system:
- Windows: Typically, it might look like
C:\\ProgramData\\anaconda3\\python.exeorC:\\Python39\\python.exe. - Linux: It could be
/usr/bin/python3or the path to your Python installation. - macOS: Usually, it would be
/usr/local/bin/python3or the path to your Python installation.
- Windows: Typically, it might look like
-
args: An array of arguments to pass to the Python command. The first argument should be the path to the
freecad_bridge.pyscript, which is responsible for handling the MCP server logic. Make sure to adjust the path according to your installation.
Example for Different Operating Systems
Windows
{
"mcpServers": {
"freecad": {
"command": "C:\\ProgramData\\anaconda3\\python.exe",
"args": [
"C:\\Users\\USER\\AppData\\Roaming\\FreeCAD\\Mod\\freecad_mcp\\src\\freecad_bridge.py"
]
}
}
}
Linux
{
"mcpServers": {
"freecad": {
"command": "/usr/bin/python3",
"args": [
"/home/USER/.FreeCAD/Mod/freecad_mcp/src/freecad_bridge.py"
]
}
}
}
macOS
{
"mcpServers": {
"freecad": {
"command": "/usr/local/bin/python3",
"args": [
"/Users/USER/Library/Preferences/FreeCAD/Mod/freecad_mcp/src/freecad_bridge.py"
]
}
}
}
Features
The FreeCAD MCP currently supports the following functionalities:
1. get_scene_info
- Description: Retrieves comprehensive information about the current FreeCAD document, including:
- Document properties (name, label, filename, object count)
- Detailed object information (type, position, rotation, shape properties)
- Sketch data (geometry, constraints)
- View information (camera position, direction, etc.)
2. run_script
- Description: Executes arbitrary Python code within the FreeCAD context. This allows users to perform complex operations, create new objects, modify existing ones, and automate tasks using FreeCAD's Python API.
Example Usage
To use the FreeCAD MCP, you can connect to the server and send commands as follows:
import socket
import json
# Connect to the FreeCAD MCP server
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('localhost', 9876))
# Example: Get scene information
command = {
"type": "get_scene_info"
}
client.sendall(json.dumps(command).encode('utf-8'))
# Receive the response
response = client.recv(4096)
print(json.loads(response.decode('utf-8')))
# Example: Run a script
script = """
import FreeCAD
doc = FreeCAD.ActiveDocument
box = doc.addObject("Part::Box", "MyBox")
box.Length = 20
box.Width = 20
box.Height = 20
doc.recompute()
"""
command = {
"type": "run_script",
"params": {
"script": script
}
}
client.sendall(json.dumps(command).encode('utf-8'))
# Receive the response
response = client.recv(4096)
print(json.loads(response.decode('utf-8')))
# Close the connection
client.close()
Installation
- Clone the repository or download the files.
- Place the
freecad_mcpdirectory in your FreeCAD modules directory:- Windows:
%APPDATA%/FreeCAD/Mod/ - Linux:
~/.FreeCAD/Mod/ - macOS:
~/Library/Preferences/FreeCAD/Mod/
- Windows:
- Restart FreeCAD and select the "FreeCAD MCP" workbench from the workbench selector.
Contributing
Feel free to contribute by submitting issues or pull requests. Your feedback and contributions are welcome!
License
This project is licensed under the MIT License. See the LICENSE file for details.
Server Terkait
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Unbundle OpenAPI MCP Server
A server for splitting and extracting parts of OpenAPI specifications using Redocly CLI.
Limetest
A lightweight, AI-powered end-to-end testing framework for CI workflows. Requires an OpenAI API key.
Remote MCP Server (Authless)
A template for deploying a remote MCP server on Cloudflare Workers without authentication.
cmux-mcp
MCP server for controlling cmux (Ghostty-based terminal) via native CLI. Send commands, read output, send control characters — all in background via Unix socket.
GoPeak
The most comprehensive MCP server for Godot Engine. 95+ tools for scene management, GDScript LSP, DAP debugging, screenshot capture, input injection, and CC0 asset library.
AppsAI
Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB
GZOO Cortex
Local-first knowledge graph for developers. Watches project files, extracts entities and relationships via LLMs, and lets you query across projects with natural language and source citations.
i1n
Localization as code — 7 MCP tools to push, pull, translate, extract strings, and search translations. AI-powered, type-safe, 182 languages.
Root Signals
Equip AI agents with evaluation and self-improvement capabilities with Root Signals.
Project Zomboid MCP Server
An AI-powered MCP server for Project Zomboid mod development, offering script validation, generation, and contextual assistance.