Skip to content

nbiish/CaiD

Repository files navigation

CaiD - CAD AI Design

Two Model Context Protocol (MCP) servers for AI-assisted 3D modeling


Support This Project

Stripe

Scan to donate

Donate via Stripe

Buy me a coffee

Overview

CaiD provides AI-powered 3D modeling through two focused MCP servers:

Server Application Focus Use Case
freecad-mcp FreeCAD Parametric CAD Engineering, mechanical parts
blender-mcp Blender Mesh modeling Creative 3D, organic shapes

Quick Start

FreeCAD MCP

# Install addon in FreeCAD
cp -r freecad-mcp/addon/FreeCADMCP ~/Library/Application\ Support/FreeCAD/Mod/

# Run MCP server (Terminal)
cd freecad-mcp && uv sync && uv run freecad-mcp

# Start RPC Server (Inside FreeCAD)
# 1. Open FreeCAD
# 2. View -> Panels -> Python Console
# 3. Paste and run:
from FreeCADMCP import rpc_server; rpc_server.start_server()

Blender MCP

# Manual Start (Required)
# 1. Open Blender
# 2. Go to Scripting tab
# 3. Open 'blender_debug_start.py' from the caiD repo
# 4. Run the script (Play button or Alt+P)
# 5. Check Window -> Toggle System Console to see "Blender MCP Server started"

# Run MCP server
cd blender-mcp && uv sync && uv run blender-mcp

Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "freecad": {
      "command": "uv",
      "args": ["--directory", "/path/to/CaiD/freecad-mcp", "run", "freecad-mcp"]
    },
    "blender": {
      "command": "uv",
      "args": ["--directory", "/path/to/CaiD/blender-mcp", "run", "blender-mcp"]
    }
  }
}

Architecture

┌─────────────┐     ┌──────────────┐     ┌────────────────┐
│   Claude    │────▶│ freecad-mcp  │────▶│    FreeCAD     │
│   (LLM)     │     │  (MCP/RPC)   │     │  (GUI/Headless)│
└─────────────┘     └──────────────┘     └────────────────┘
       └───────────▶┌──────────────┐     ┌────────────────┐
                    │ blender-mcp  │────▶│    Blender     │
                    │ (MCP/Socket) │     │ (GUI/Background)│
                    └──────────────┘     └────────────────┘

FreeCAD Tools

  • create_document - New document
  • create_primitive - Box, Cylinder, Sphere, Cone, Torus
  • create_sketch - 2D parametric sketch
  • pad_sketch / pocket_sketch - Extrude / Cut
  • fillet_edges / chamfer_edges - Edge operations
  • create_helix - Spiral path for springs/threads
  • create_thread - Screw threads (metric, imperial, trapezoidal)
  • sweep_along_path - Sweep profile along helix
  • revolve_sketch - Lathe operation
  • set_parameter - Spreadsheet parameters
  • export_step - STEP export / get_screenshot - Visual feedback

Blender Tools

  • create_primitive - Cube, Sphere, Cylinder, Cone, Torus, Plane
  • extrude_faces / inset_faces - Face operations
  • bevel_edges / loop_cut - Edge operations
  • add_modifier / apply_modifier - Subdivision, Mirror, Array, Boolean
  • spin - Revolve geometry (lathe operation)
  • screw_modifier - Helix/spiral extrusion
  • create_spiral - Spiral/helix curve
  • curve_to_mesh - Convert curve to mesh
  • select_geometry - Vertex/Edge/Face selection
  • transform_object - Move, Rotate, Scale
  • get_screenshot - Visual feedback

Citation

@misc{CaiD2026,
  author/creator/steward = {ᓂᐲᔥ ᐙᐸᓂᒥᑮ-ᑭᓇᐙᐸᑭᓯ (Nbiish Waabanimikii-Kinawaabakizi), also known legally as JUSTIN PAUL KENWABIKISE, professionally documented as Nbiish-Justin Paul Kenwabikise, Anishinaabek Dodem (Anishinaabe Clan): Animikii (Thunder), descendant of Chief ᑭᓇᐙᐸᑭᓯ (Kinwaabakizi) of the Beaver Island Band and enrolled member of the sovereign Grand Traverse Band of Ottawa and Chippewa Indians},
  title/description = {CaiD},
  type_of_work = {Indigenous digital creation/software incorporating traditional knowledge and cultural expressions},
  year = {2026},
  publisher/source/event = {GitHub repository under tribal sovereignty protections},
  howpublished = {\url{https://github.com/nbiish/CaiD}},
  note = {Authored and stewarded by ᓂᐲᔥ ᐙᐸᓂᒥᑮ-ᑭᓇᐙᐸᑭᓯ (Nbiish Waabanimikii-Kinawaabakizi), also known legally as JUSTIN PAUL KENWABIKISE, professionally documented as Nbiish-Justin Paul Kenwabikise, Anishinaabek Dodem (Anishinaabe Clan): Animikii (Thunder), descendant of Chief ᑭᓇᐙᐸᑭᓯ (Kinwaabakizi) of the Beaver Island Band and enrolled member of the sovereign Grand Traverse Band of Ottawa and Chippewa Indians. This work embodies Indigenous intellectual property, traditional knowledge systems (TK), traditional cultural expressions (TCEs), and associated data protected under tribal law, federal Indian law, treaty rights, Indigenous Data Sovereignty principles, and international indigenous rights frameworks including UNDRIP. All usage, benefit-sharing, and data governance are governed by the COMPREHENSIVE RESTRICTED USE LICENSE FOR INDIGENOUS CREATIONS WITH TRIBAL SOVEREIGNTY, DATA SOVEREIGNTY, AND WEALTH RECLAMATION PROTECTIONS.}
}

License

Copyright © 2026 ᓂᐲᔥ ᐙᐸᓂᒥᑮ-ᑭᓇᐙᐸᑭᓯ (Nbiish Waabanimikii-Kinawaabakizi), also known legally as JUSTIN PAUL KENWABIKISE, professionally documented as Nbiish-Justin Paul Kenwabikise, Anishinaabek Dodem (Anishinaabe Clan): Animikii (Thunder), a descendant of Chief ᑭᓇᐙᐸᑭᓯ (Kinwaabakizi) of the Beaver Island Band, and an enrolled member of the sovereign Grand Traverse Band of Ottawa and Chippewa Indians. This work embodies Traditional Knowledge and Traditional Cultural Expressions. All rights reserved.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages