Server profile

FreeCAD MCP

Control FreeCAD from an assistant through an addon and Python MCP server. Tools create and inspect CAD objects, run Python, use library parts, capture views, and execute existing FEM analyses.

Server facts

FreeCAD MCP

Project

Author
neka-nat
License
MIT

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
2,903
Last commit
Data as of

Tags

  • Cad Modeling
  • Finite Element Analysis
  • Freecad
  • Python Automation

Overview

FreeCAD MCP connects Claude Desktop to FreeCAD for creating, changing, and inspecting CAD documents and objects. Its tools include document creation, object editing and deletion, part-library lookup and insertion, and screenshots of the active view. It also exposes arbitrary Python execution inside FreeCAD, giving an assistant access beyond the narrowly named object operations. Demonstrations in the README show a flange, a toy car, and a part produced from a two-dimensional drawing, illustrating the modeling workflows the integration is intended to support.

Installation has two parts: copy the FreeCADMCP addon into the platform's FreeCAD addon directory, then configure the Python MCP process with uvx. After restarting FreeCAD, users select the MCP Addon workbench and start its RPC server. An optional setting persists automatic RPC startup for later sessions. Text-only feedback is available to reduce token use when visual responses are unnecessary. The addon listens locally by default; remote control requires enabling network connections, configuring permitted IP addresses or CIDR ranges, and pointing the MCP process at the remote host. The catalog also includes running CalculiX on an existing FEM analysis and returning stress, displacement, and node-count summaries. This is not a standalone CAD service: an installed addon and reachable FreeCAD RPC session are prerequisites for the assistant's modeling actions.

Install & configure

Requirements

  • FreeCAD
  • The FreeCADMCP addon installed in the appropriate addon directory
  • uvx
  • Claude Desktop for the documented client setup
Documented launch / install command
uvx freecad-mcp

Restart FreeCAD after installing the addon, choose the MCP Addon workbench, and start its RPC server. --only-text-feedback disables visual feedback. Remote RPC access requires explicit enablement and allowed IPs.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Desktop configuration
{
  "mcpServers": {
    "freecad-mcp": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ],
      "env": {}
    }
  }
}

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

Cursor configuration
{
  "mcpServers": {
    "freecad-mcp": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ],
      "env": {}
    }
  }
}

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "freecad-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ],
      "env": {}
    }
  }
}

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

Windsurf configuration
{
  "mcpServers": {
    "freecad-mcp": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ],
      "env": {}
    }
  }
}

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Code configuration
{
  "mcpServers": {
    "freecad-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ],
      "env": {}
    }
  }
}

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
create_documentStart a new CAD document in FreeCAD.
create_objectAdd a CAD object to a FreeCAD document.
edit_objectChange an existing CAD object's properties.
delete_objectRemove an object from a FreeCAD document.
execute_codeRun arbitrary Python within the FreeCAD application.
insert_part_from_libraryInsert a reusable component from the FreeCAD parts library.
get_viewCapture the current active FreeCAD view as an image.
get_objectsList the objects belonging to a document.
get_objectInspect one object within a document.
get_parts_listList available components in the FreeCAD parts library.
run_fem_analysisRun CalculiX for an existing FEM analysis and report stress, displacement, node count, and working directory.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Create and revise CAD documents and objects conversationally.
  • Inspect a model through object data and active-view screenshots.
  • Insert reusable components from the FreeCAD parts library.
  • Run an existing FEM analysis and review its summary results.

Strengths

  • Combines direct object operations with Python execution in FreeCAD.
  • Supports part-library access, screenshots, and FEM analysis.
  • Includes text-only feedback and persisted RPC auto-start options.

Limitations

  • Requires a FreeCAD addon plus a running RPC server.
  • The Python execution tool can run arbitrary code inside FreeCAD.
  • Remote access requires explicit IP allowlisting and RPC configuration.

Frequently asked questions

Yes. Copy the FreeCADMCP addon into the correct addon directory, restart FreeCAD, and use the MCP Addon workbench.

Yes. The Auto-Start Server setting is saved and applied after FreeCAD finishes loading in later sessions.

Yes. Enable remote connections in the addon, configure allowed IPs or subnets, restart RPC, and pass the target host to the MCP process.

It uses CalculiX to solve an existing Fem::FemAnalysis, returning summary measurements. If needed, it creates the missing SolverCcxTools object.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

BlenderMCP

Games & 3D

BlenderMCP links AI assistants to Blender for scene inspection, object and material changes, and Python execution. Optional asset integrations add Poly Haven downloads, Sketchfab models, and generated 3D assets.

MCP Toolbox for Databases

Databases

MCP Toolbox for Databases connects agents and IDEs to enterprise data through prebuilt tools or custom query definitions. It combines database access with connection pooling, authentication integration, and observability.

Framelink MCP for Figma

Design & Creative

Framelink supplies coding agents with selected Figma metadata and image assets. Developers can bring a design link into an editor conversation and use its underlying layout details while implementing an interface.

21st.dev Magic AI Agent

Design & Creative

21st.dev Magic AI Agent turns natural-language requests into customizable UI components inside supported coding tools. It combines component-library inspiration, previews, TypeScript support, and brand assets for interface development.

DaVinci Resolve MCP Server

Design & Creative

Control DaVinci Resolve Studio from an AI assistant through its scripting API. Editing, grading, media analysis, render preparation, and a local control panel support post-production workflows.

Photoshop MCP Server

Design & Creative

Photoshop MCP Server lets assistants control a locally installed Photoshop through photoshop-python-api. It supports document work, layers, and session inspection on Windows only.

Draw.io MCP Server

Design & Creative

Draw.io MCP Server gives assistants control over diagrams in a browser. It can host its own editor or connect through an extension, with explicit document and page selection for larger diagramming sessions.

After Effects MCP Server

Design & Creative

After Effects MCP Server routes assistant commands into an open Adobe After Effects session. A bridge panel enables composition and layer work, animation controls, and JavaScript execution inside the application.