home / mcp / freecad mcp server
FreeCAD MCP(Model Context Protocol) server
Configuration
View docs{
"mcpServers": {
"neka-nat-freecad-mcp": {
"command": "uvx",
"args": [
"freecad-mcp"
]
}
}
}You can control FreeCAD from Claude Desktop by using the FreeCAD MCP server. This MCP acts as a bridge between Claude’s conversational interface and FreeCAD, enabling you to create documents, add objects, run Python code, and view results remotely through a supported client workflow.
To use the FreeCAD MCP, connect your MCP client (such as Claude Desktop) to the local or remote MCP server, then issue commands that manipulate FreeCAD documents and objects. You will typically start the RPC server from within FreeCAD, configure Claude Desktop to reach the MCP runner, and then send actions like creating documents, inserting parts, or executing Python snippets.
Prerequisites you should have before starting: a running FreeCAD installation, Claude Desktop installed, and a compatible MCP client setup ready to connect.
Step 1 — Install the FreeCAD MCP addon in FreeCAD.
# Clone the MCP addon repository and install it into FreeCAD’s Mod directory
git clone https://github.com/neka-nat/freecad-mcp.git
cd freecad-mcp
cp -r addon/FreeCADMCP ~/.FreeCAD/Mod/Step 2 — Restart FreeCAD and start the MCP addon.
In FreeCAD, open the FreeCAD MCP toolbar and select the MCP Addon, then choose Start RPC Server to begin listening for commands.
Step 3 — Set up Claude Desktop to connect to the MCP server.
{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": [
"freecad-mcp"
]
}
}
}Step 4 — If you want to use text-only feedback, you can enable the text feedback option in Claude Desktop.
{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": [
"freecad-mcp",
"--only-text-feedback"
]
}
}
}Remote connections can be enabled so you can control FreeCAD from other machines on your network. By default, the RPC server binds to localhost, but you can allow remote connections by enabling Remote Connections in the FreeCAD MCP toolbar and configuring allowed IPs.
To allow connections from other machines, update the allowed IPs list and restart the RPC server. The server will then accept connections from the specified IP addresses or CIDR subnets.
Developer setup demonstrates running the MCP server from a directory containing the FreeCAD MCP project. You can point Claude Desktop to the local MCP runner with a directory path.
# Developer configuration using uv with a local directory
{
"mcpServers": {
"freecad": {
"command": "uv",
"args": [
"--directory",
"/path/to/freecad-mcp/",
"run",
"freecad-mcp"
]
}
}
}The FreeCAD MCP exposes a set of tools that let you create and manipulate FreeCAD content through commands and Python execution. Core actions include creating documents, creating or editing objects, deleting objects, executing Python code, inserting parts from a library, and retrieving views or object lists.
• Ensure the FreeCAD RPC server is started before issuing commands from the MCP client. • If you enable remote connections, restrict access to trusted IPs for security. • When configuring Claude Desktop, provide the correct host and directory settings so the MCP client can reach the FreeCAD MCP server.
Create a new FreeCAD document.
Create a new object within a FreeCAD document.
Modify properties of an existing FreeCAD object.
Remove an object from a FreeCAD document.
Run arbitrary Python code inside FreeCAD.
Insert a part from the parts library into the current document.
Capture and return a screenshot of the active FreeCAD view.
Retrieve all objects in the current document.
Fetch a specific object by identifier from the document.
List available parts in the parts library.