Skip to main content
Glama

FreeCAD MCP

This repository is a FreeCAD MCP that allows you to control FreeCAD from Claude Desktop.

Demo

Design a flange

demo

Design a toy car

demo

Design a part from 2D drawing

Input 2D drawing

input

Demo

demo

This is the conversation history. https://claude.ai/share/7b48fd60-68ba-46fb-bb21-2fbb17399b48

Related MCP server: FreeCAD MCP

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

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.

workbench_list

And you can start RPC server by "Start RPC Server" command in "FreeCAD MCP" toolbar.

start_rpc_server

Setting up Claude Desktop

Edit claude_desktop_config.json file.

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/neka-nat/freecad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server