FreeCAD MCP
A server to interact with FreeCAD models using the Model Context Protocol (MCP).
FreeCAD MCP
This repository is a FreeCAD MCP that allows you to control FreeCAD from Claude Desktop.
Demo
Design a flange
Design a toy car
Design a part from 2D drawing
Input 2D drawing
Demo
This is the conversation history. https://claude.ai/share/7b48fd60-68ba-46fb-bb21-2fbb17399b48
Install addon
FreeCAD Addon directory is
- Windows:
%APPDATA%\FreeCAD\Mod\
- Mac:
~/Library/Application\ Support/FreeCAD/Mod/
- Linux:
- Ubuntu:
~/.FreeCAD/Mod/
or~/snap/freecad/common/Mod/
(if you install FreeCAD from snap) - Debian:
~/.local/share/FreeCAD/Mod
- Ubuntu:
Please put addon/FreeCADMCP
directory to the addon directory.
git clone https://github.com/neka-nat/freecad-mcp.git
cd freecad-mcp
cp -r addon/FreeCADMCP ~/.FreeCAD/Mod/
When you install addon, you need to restart FreeCAD. You can select "MCP Addon" from Workbench list and use it.
And you can start RPC server by "Start RPC Server" command in "FreeCAD MCP" toolbar.
Setting up Claude Desktop
Pre-installation of the uvx is required.
And you need to edit Claude Desktop config file, claude_desktop_config.json
.
For user.
{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": [
"freecad-mcp"
]
}
}
}
If you want to save token, you can set only_text_feedback
to true
and use only text feedback.
{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": [
"freecad-mcp",
"--only-text-feedback"
]
}
}
}
For developer. First, you need clone this repository.
git clone https://github.com/neka-nat/freecad-mcp.git
{
"mcpServers": {
"freecad": {
"command": "uv",
"args": [
"--directory",
"/path/to/freecad-mcp/",
"run",
"freecad-mcp"
]
}
}
}
Tools
create_document
: Create a new document in FreeCAD.create_object
: Create a new object in FreeCAD.edit_object
: Edit an object in FreeCAD.delete_object
: Delete an object in FreeCAD.execute_code
: Execute arbitrary Python code in FreeCAD.insert_part_from_library
: Insert a part from the parts library.get_view
: Get a screenshot of the active view.get_objects
: Get all objects in a document.get_object
: Get an object in a document.get_parts_list
: Get the list of parts in the parts library.
Contributors
Made with contrib.rocks.
Related Servers
Android MCP
An MCP server that provides control over Android devices through ADB. Offers device screenshot capture, UI layout analysis, package management, and ADB command execution capabilities.
KiCad MCP Server
An MCP server for KiCad providing project management, PCB design analysis, BOM management, and design rule checking.
consult7
Analyze large codebases and document collections using high-context models via OpenRouter, OpenAI, or Google AI -- very useful, e.g., with Claude Code
Codacy
Access the Codacy API to analyze code quality, coverage, and security for your repositories.
OpenAPI2MCP
Converts OpenAPI specifications into MCP tools, enabling AI clients to interact with external APIs seamlessly.
VSCode MCP
Enables AI agents and assistants to interact with VSCode through the Model Context Protocol.
SonarCloud
Fetch SonarCloud issues related to pull requests.
MicroShift Test Analyzer
Analyzes MicroShift test failures from Google Sheets to correlate them with specific MicroShift versions.
Jinni
A tool to provide Large Language Models with project context by intelligently filtering and concatenating relevant files.
AIO-MCP Server
An MCP server with integrations for GitLab, Jira, Confluence, and YouTube, providing AI-powered search and development utility tools.