PartCAD

io.github.partcadPublished by GitHub account partcadv0.9.2Updated Nov 5, 2026

Inspect, render, test and export the parts and assemblies of PartCAD hardware packages

Overview

AI-generated overview

Lets an assistant inspect, render, test, search and export the parts and assemblies of PartCAD hardware-as-code packages.

What you can do
  • List and inspect packages, parts, sketches, assemblies, scenes, interfaces and materials, with their parameters and properties
  • Render an object to an image, or export it to a file such as STEP, STL or 3MF in the workspace
  • Check objects against their declared requirements and tests, and lint a package's configuration and scripts
  • Search for parts and packages by keyword or by interface, and produce a bill of materials or step-by-step assembly instructions
  • Run any other PartCAD daemon method through a generic execute tool, after listing the available methods
When to use it
Useful when a project keeps manufacturable products as PartCAD packages in Git and you want an assistant to look at models, verify them against declared requirements, or produce exports, bills of materials and assembly instructions. It suits CAD and hardware engineering work rather than general file handling.
Requirements
Runs locally as a Python package (partcad) over stdio, for example via uvx. It serves a workspace given by the PC_PATH environment variable, or the working directory when unset. The first render of an object builds it and can take minutes. Desktop only; no authentication is declared.
Before you install
The export tool writes files into the workspace, and execute can run any daemon method, including ones that add, import, convert or install things and that can drive automated purchasing. The user's Build vs Buy choices on the machine are applied to assembly instructions. Point PC_PATH at the intended package, since the working directory is served when it is unset.

Installation

In SourceWeft

  1. Open PartCAD in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

PartCAD

[CI on Linux, macOS and Windows] [PyPI] [Documentation Status] [Discord] [License]

PartCAD is the programming language for manufacturable things.

A package is a Git repository with a partcad.yaml that declares parts (CAD scripts or files), assemblies, materials and requirements. PartCAD renders, tests, simulates, analyses and documents them, and produces the bill of materials, the sourcing and the assembly instructions from that same source. Everything is text, so it is versioned, reviewed and generated like software, by people and by AI agents.

Documentation · Website · Demos · Discord

[PartCAD in Visual Studio Code]

Install

Pick one. Every option ends up with the same pc command line tool and the same packages.

You haveInstall
Nothing yetThe PartCAD IDE: curl -fsSL https://raw.githubusercontent.com/partcad/partcad/main/install.sh | sh -s -- --ide, or the Windows and macOS installers on the releases page
Pythonpip install -U partcad
Visual Studio Codecode --install-extension PartCAD.partcad-official (marketplace)
Claude Code/plugin marketplace add partcad/partcad@plugin-dist, then /plugin install pc@partcad, then /pc:setup

The standalone command line tools without Python, the snap, the FreeCAD add-on, the MCP server for other AI agents, and the per-OS notes are all in Installation.

Try it

shell
pc init                      # a package in the current directory, with agent skills for Claude Code and Cursorpc ide view my_part          # show it in the Digital Thread of the IDE or the extensionpc render my_part            # SVG, PNG, DXF... from any anglepc test                      # the ports, interfaces, physics and simulations the objects declarepc instructions my_assembly  # the assembly instruction book, PDF or HTML, with the bill of materials

Or, in Claude Code, /pc:gen a mounting bracket with four M4 holes: the agent writes the CAD script, renders it and checks the result against what was asked.

The tutorial walks through a first package, and examples/ has one directory per feature.

What it does

  • Parts from CadQuery, build123d, OpenSCAD, Chili3D, SDF, STEP, BREP, IGES, STL, 3MF, OBJ, glTF, FreeCAD, Autodesk Fusion, SolidWorks, Autodesk Inventor, CATIA V5, ACIS and Creo View files, KiCad EDA PCBs, and any format a plugin package adds (SolidCraft, Rhino).
  • Assemblies and scenes in Assembly YAML, URDF, or a STEP, Autodesk Fusion or Creo View file, with interfaces and mating as objects.
  • Outputs: STEP, BREP, STL, 3MF, OBJ, IGES, glTF, URDF, Gazebo and MuJoCo worlds, 2D projections, dimensioned drawings, Markdown documentation and PDF or HTML instruction books.
  • Engineering: FEA, modal, thermal and CFD analysis (pc cae), simulation in MuJoCo or Gazebo (pc sim), 2.5D toolpaths (pc cam), and materials and manufacturing methods carried into the bill of materials.
  • Supply chain: a Build vs Buy decision per line item, stock-based procurement for made parts, and automated purchasing from the command line.
  • AI agents: Agent Skills for Claude Code and Cursor, an MCP server (pc mcp), and plain-text --no-ansi output on every command.
  • Caching in memory, on disk, in memcached and in S3, so a team or a CI fleet renders each model once.

The full list of what is supported, and what is still in progress, is in Supported formats and features.

Why

PartCAD is not a drawing tool. It is the layer under the drawing tools: the specification of a manufacturable product, kept in a form that a human, a CI job and an AI model can all read, change and verify. Keeping that specification on-prem, in Git, and portable between CAD tools and manufacturers is the point. See Introduction and Use cases.

Community

Questions and feedback go to Discord; bugs and ideas to GitHub issues. Follow LinkedIn, YouTube and Twitter/X for releases. To contribute, start with Contributing.

Licensed under Apache 2.0.

Source: README.md at commit 57d691d

Tools

12

list_objects

List objects

List the packages, parts, sketches, assemblies, scenes, interfaces, materials or software of a package. `pc list <kind>`. The listing is in the log of the result.

Parameterskindpackagerecursive

info

Show an object's declaration

Show an object's configuration, parameters and properties, or the package's when no object is named. `pc info`.

Parameterskindobjectparamspackage

render

Look at an object

Render one part, assembly, scene or sketch and return the picture. `pc render`, returned instead of written. The first render of an object builds it, which can take minutes. Ports, interfaces and callouts are drawn only when asked for.

Parameterskindformatobjectrequiredparamspackagewith_portswith_internalswith_materialsoptions_packagewith_interfaceswith_port_nameswith_component_names+2 more

export

Write an object to a file

Export or render one object to a file in the workspace. `pc export` / `pc render` for one object, written where the agent says. The ports, interfaces and callouts are drawn on a picture (png, svg, ...) and mean nothing to a model format such as step.

Parameterskindpathrequiredformatrequiredobjectrequiredparamspackagewith_portswith_internalswith_materialsoptions_packagewith_interfaceswith_port_names+3 more

test

Test objects

Check objects against the requirements and tests they declare. `pc test`. ok is false when any check failed, and the errors say which.

Parameterskindobjectparamspackagerecursive

lint

Lint a package

Check a package's partcad.yaml, ASSY files and scripts for mistakes. `pc lint`.

Parameterspackagerecursive

bom

Bill of materials

What has to be bought or made to build a part, an assembly or a scene. `pc bom --json`.

Parametersobjectrequiredparamspackage

instructions

Assembly instructions

The step-by-step build of an assembly: what goes where, in which order, with which parts. `pc instructions`, as data. The user's Build vs Buy choices on this machine are applied.

Parametersobjectrequiredparamspackagesubassemblies

version

PartCAD version

The version of this server and of the daemon serving the workspace, which should be the same.

Takes no parameters.

list_methods

List daemon methods

The methods the PartCAD daemon serves, each with a one-line summary, for use with execute.

Parametersfilter

execute

Run a daemon method

Run any PartCAD daemon method -- everything the command line can do, and what the IDE asks for. The result carries the method's answer and its log.

Parametersmethodrequiredparams

Version history

4
  1. v0.9.2LatestNov 5, 2026
  2. v0.8.273Nov 1, 2026
  3. v0.8.235Oct 24, 2026
  4. v0.8.232Oct 20, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts