# PartCAD

MCP server to inspect, render, test, and export physical parts and assemblies from PartCAD packages in your IDE.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 509
- Author: partcad
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/partcad/partcad
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/partcad

## What it does

PartCAD treats physical hardware designs as software code. A package lives in a Git repository centered on a `partcad.yaml` manifest. That file defines CAD scripts, parts, assemblies, materials, and physical constraints.

Connecting the MCP server exposes the `pc` tooling directly to coding agents. It handles scripts from CadQuery, build123d, OpenSCAD, and FreeCAD alongside standard STEP, STL, and 3MF files. Through tool calls, an assistant can render projections, inspect mating interfaces, run MuJoCo simulations, and generate bills of materials.

Running the server requires `uvx`. If your package is outside the current directory, set the `PC_PATH` environment variable to that folder. Model renders can be cached locally or in S3 so team members never recompute identical geometry.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `PC_PATH` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env PC_PATH=<PC_PATH> --transport stdio partcad -- uvx partcad
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from partcad <command>

### Codex

**Platform CLI**
```bash
codex mcp add partcad --env PC_PATH=<PC_PATH> -- uvx partcad
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from partcad <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "partcad": {
            "command": "uvx",
            "args": [
                "partcad"
            ],
            "env": {
                "PC_PATH": "<PC_PATH>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from partcad <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "partcad": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "partcad"
            ],
            "env": {
                "PC_PATH": "<PC_PATH>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from partcad <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e PC_PATH=<PC_PATH> partcad uvx partcad
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from partcad <command>

## When to use it
- render CAD parts and assemblies into SVG, PNG, or DXF from chat
- export physical models into STEP, STL, 3MF, or glTF formats
- generate bills of materials and assembly instruction books in HTML or PDF
- run automated tests on physical interfaces, ports, and kinematics

## Example prompts
- Render the part `mounting_bracket` to SVG from our `partcad.yaml` package
- Generate the bill of materials and assembly guide for `robot_arm` in HTML
- Export the assembly `housing` to STEP and STL files

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
