Claude CAD
A Model Context Protocol (MCP) plugin for creating 3D models with Claude AI using CadQuery.
Overview
Claude CAD is an MCP plugin that allows Claude AI to create 3D models based on text prompts. It leverages the powerful parametric modeling capabilities of CadQuery, a Python-based CAD scripting library, to generate complex 3D models that can be exported in various formats (STEP, STL, etc.).
Features
- Generate 3D models from natural language descriptions
- Parametric modeling using CadQuery's Python API
- Support for primitives, boolean operations, extrusions, and more
- Export models in various formats (STEP, STL, etc.)
- Full integration with Claude AI via MCP
Installation
Prerequisites
- Python 3.9+
- CadQuery
- Model Context Protocol SDK
- uv (Modern Python package installer)
Install using uv
# Install uv if not already installed
pip install uv
# Create a virtual environment
uv venv
# Activate the virtual environment
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install from PyPI
uv pip install claude-cad
# Or install from source
git clone https://github.com/bronson/claude_cad.git
cd claude_cad
uv pip install -e .
For detailed installation instructions, see INSTALL.md.
Configuration
To use Claude CAD with Claude Desktop, you need to update your Claude configuration file:
Option 1: Using Python directly
{
"mcpServers": {
"claude_cad": {
"command": "python",
"args": ["-m", "claude_cad.server"],
"env": {}
}
}
}
Option 2: Using uvx (Recommended)
For improved dependency management, you can use uvx (part of the uv toolkit):
{
"mcpServers": {
"claude_cad": {
"command": "uvx",
"args": ["-m", "claude_cad.server"],
"env": {}
}
}
}
Locate your Claude Desktop configuration file at:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
After updating the configuration, restart Claude Desktop for the changes to take effect.
Usage
Once installed and configured, you can ask Claude to create 3D models using natural language:
Please create a 3D model of a small gear with 10 teeth and a 20mm diameter.
Claude will use the Claude CAD MCP plugin to generate the model and provide a download link or preview.
Examples
See the examples directory for sample models and prompts:
simple_box.py: Creates a basic box primitivelego_brick.py: Creates a LEGO-compatible bricktext_to_model.py: Demonstrates text-to-3D-model generation
Development
To set up a development environment:
# Clone the repository
git clone https://github.com/bronson/claude_cad.git
cd claude_cad
# Create a virtual environment
uv venv
# Install dependencies
uv pip install -r requirements.txt
# Install in development mode
uv pip install -e .
# Run tests
python -m unittest discover tests
License
Apache 2.0
Credits
- CadQuery: https://github.com/CadQuery/cadquery
- Model Context Protocol: Anthropic's Claude integration API
- uv: https://github.com/astral-sh/uv
Metadata
Release files for claude-cad 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claude_cad-0.1.7.tar.gz | 24.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_cad-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.2 kB
Release files / claude_cad-0.1.7.tar.gz
| Download URL | claude_cad-0.1.7.tar.gz |
|---|---|
| Size | 24.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
370e7d3fd9293a7ff2d08f2126d611fc0a9e7dc5113e38540a9f42cd251807e0
|
|
BLAKE2b-256 checksum How to use checksums |
63ce3a6ab229a58741c74ca69815a0175f73782317150ee9ca75ca2cb7c8301e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.3
|
Release files / claude_cad-0.1.7-py3-none-any.whl
| Download URL | claude_cad-0.1.7-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db90fcc7abae1cc2212d10267db0f1f92042529062cfd155098d10471455cc15
|
|
BLAKE2b-256 checksum How to use checksums |
5bd0319ce171f1960539340460b9b0fdfda64dcec6e91db7c9056ea9dd2b21af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.3
|