Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Freecad Mcp Server

    A Model Context Protocol (MCP) server that enables AI assistants to interact with FreeCAD for 3D modeling and CAD operations

    4 stars
    TypeScript
    Updated Oct 21, 2025

    Table of Contents

    • Features
    • Prerequisites
    • Installation
    • Usage
    • Running the Server
    • Claude Desktop
    • Available Tools
    • create_box
    • create_cylinder
    • create_sphere
    • boolean_operation
    • save_document
    • list_objects
    • execute_python_script
    • Integration with AI Assistants
    • Example AI Interactions
    • Development
    • Project Structure
    • Building
    • Development Mode
    • Troubleshooting
    • FreeCAD Not Found
    • Script Execution Errors

    Table of Contents

    • Features
    • Prerequisites
    • Installation
    • Usage
    • Running the Server
    • Claude Desktop
    • Available Tools
    • create_box
    • create_cylinder
    • create_sphere
    • boolean_operation
    • save_document
    • list_objects
    • execute_python_script
    • Integration with AI Assistants
    • Example AI Interactions
    • Development
    • Project Structure
    • Building
    • Development Mode
    • Troubleshooting
    • FreeCAD Not Found
    • Script Execution Errors

    Documentation

    FreeCAD MCP Server

    A Model Context Protocol (MCP) server that enables AI assistants to interact with FreeCAD for 3D modeling and CAD operations.

    Features

    • Basic Geometry Creation: Create boxes, cylinders, spheres with specified dimensions
    • Boolean Operations: Perform union, cut, and common operations between objects
    • Document Management: Save documents and list objects
    • Custom Script Execution: Execute arbitrary Python scripts in FreeCAD context
    • Cross-Platform: Supports Windows, macOS, and Linux

    Prerequisites

    1. FreeCAD Installation: Install FreeCAD from freecad.org

    2. Node.js: Version 18 or higher

    3. TypeScript: For development

    Installation

    1. Clone this repository:

    bash
    git clone https://github.com/lucygoodchild/freecad-mcp-server.git
    cd freecad-mcp-server

    2. Install dependencies:

    bash
    npm install

    3. Build the project:

    bash
    npm run build

    4. Configure FreeCAD path (if needed):

    • The server attempts to auto-detect FreeCAD installation
    • Default paths:
    • Windows: C:\Program Files\FreeCAD 0.21\bin\FreeCAD.exe
    • macOS: /Applications/FreeCAD.app/Contents/MacOS/FreeCAD
    • Linux: /usr/bin/freecad

    Usage

    Running the Server

    bash
    npm start

    Claude Desktop

    Add the following to your MCP client configuration (~/Library/Application Support/Claude/claude_desktop_config.json):

    {

    "mcpServers": {

    "freecad-mcp-server": {

    "command": "node",

    "args": ["/path/to/free-cad-mcp/build/index.js"]

    }

    }

    }

    Make sure to replace "/path/to/free-cad-mcp/build/index.js" with the actual path and to restart Claude once you have made the changes

    Available Tools

    create_box

    Create a rectangular box with specified dimensions.

    json
    {
      "name": "create_box",
      "arguments": {
        "length": 50,
        "width": 30,
        "height": 20,
        "name": "MyBox"
      }
    }

    create_cylinder

    Create a cylinder with specified radius and height.

    json
    {
      "name": "create_cylinder", 
      "arguments": {
        "radius": 10,
        "height": 50,
        "name": "MyCylinder"
      }
    }

    create_sphere

    Create a sphere with specified radius.

    json
    {
      "name": "create_sphere",
      "arguments": {
        "radius": 15,
        "name": "MySphere"
      }
    }

    boolean_operation

    Perform boolean operations between two objects.

    json
    {
      "name": "boolean_operation",
      "arguments": {
        "operation": "union",
        "object1": "Box",
        "object2": "Cylinder",
        "result_name": "Combined"
      }
    }

    Operations: union, cut, common

    save_document

    Save the current FreeCAD document.

    json
    {
      "name": "save_document",
      "arguments": {
        "filename": "my_model.FCStd",
        "path": "/path/to/save"
      }
    }

    list_objects

    List all objects in the current document.

    json
    {
      "name": "list_objects",
      "arguments": {}
    }

    execute_python_script

    Execute custom Python script in FreeCAD context.

    json
    {
      "name": "execute_python_script",
      "arguments": {
        "script": "box = doc.addObject('Part::Box', 'CustomBox')\nbox.Length = 100"
      }
    }

    Integration with AI Assistants

    This server implements the Model Context Protocol, making it compatible with MCP-enabled AI assistants. The AI can:

    1. Generate 3D Models: Create complex geometries by combining basic shapes

    2. Parametric Design: Modify dimensions and parameters based on requirements

    3. Assembly Creation: Build multi-part assemblies using boolean operations

    4. Design Automation: Execute complex modeling workflows through scripting

    Example AI Interactions

    • "Create a bearing housing with a 20mm inner diameter and 40mm outer diameter"
    • "Make a threaded bolt with M6 threading, 50mm long"
    • "Design a simple bracket to hold two 10mm rods 30mm apart"

    Development

    Project Structure

    code
    src/
      index.ts          # Main server implementation
    build/              # Compiled JavaScript output
    package.json        # Dependencies and scripts
    tsconfig.json       # TypeScript configuration

    Building

    bash
    npm run build

    Development Mode

    bash
    npm run dev

    Troubleshooting

    FreeCAD Not Found

    • Verify FreeCAD is installed and accessible from command line
    • Update the freecadPath in the server constructor if needed
    • Check that the FreeCAD executable has proper permissions

    Script Execution Errors

    • Ensure FreeCAD Python environment has required modules
    • Check script syntax - Python scripts are executed in FreeCAD's Python interpreter
    • Use list_objects to verify object names before boolean operations

    Similar MCP

    Based on tags & features

    • GL

      Glm Mcp Server

      TypeScript·
      3
    • NS

      Ns Private Access Mcp

      TypeScript·
      3
    • MC

      Mcp Server Aws Sso

      TypeScript·
      6
    • MC

      Mcp Wave

      TypeScript00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • GL

      Glm Mcp Server

      TypeScript·
      3
    • NS

      Ns Private Access Mcp

      TypeScript·
      3
    • MC

      Mcp Server Aws Sso

      TypeScript·
      6
    • MC

      Mcp Wave

      TypeScript00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k