Open-source parametric CAD for the AI era.

Visit vcad.io — no install required.
Download the installer for your platform from the latest release:
.dmg (Intel + Apple Silicon).msi installer.AppImage, .deb, or .rpmReleases are not yet notarized with Apple, so on first launch macOS shows "Apple could not verify 'vcad.app' is free of malware". To open it:
vcad.app in /Applications and choose
Open, then Open in the confirmation dialog.xattr -d com.apple.quarantine /Applications/vcad.app
removes the quarantine flag so the app launches normally.You only need to do this once per install. We'll remove this step once Apple Developer signing is set up.
cargo install vcad-cli
vcad export input.vcad output.stl
vcad import-step input.step output.vcad
The MCP server lets AI agents create and manipulate CAD models:
npm install -g @vcad/mcp
Tools: create_cad_document, export_cad, inspect_cad, gym_step, gym_reset
use vcad_kernel::Solid;
// Create a box with a hole
let solid = Solid::cube(100.0, 60.0, 20.0);
let hole = Solid::cylinder(10.0, 25.0, 32);
let result = solid - hole;
// Export to mesh
let mesh = result.to_mesh(32);
See crates/vcad-kernel for the full API.
vcad/
├── crates/ # Rust BRep kernel (~35K LOC)
│ ├── vcad-kernel/ # Unified API
│ ├── vcad-kernel-topo/ # Half-edge topology
│ ├── vcad-kernel-booleans/# Boolean operations
│ └── ... # 20+ modular crates
├── packages/ # TypeScript
│ ├── app/ # React + Three.js web app
│ ├── mcp/ # MCP server for AI agents
│ └── ...
└── supabase/ # Database migrations
Heads up: vcad depends on the
tangmath workspace and thephyzphysics workspace at sibling paths (../tang,../phyz). Clone both next to vcad before anycargocommand, or the workspace will fail to resolve:git clone git@github.com:ecto/tang.git ../tang git clone git@github.com:ecto/phyz.git ../phyz
# Rust
cargo test --workspace
cargo clippy --workspace -- -D warnings
# TypeScript
npm ci
npm run dev -w @vcad/app # Run web app locally
# Desktop (optional — Tauri v2 shell)
# Ubuntu/Debian system deps:
# sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev librsvg2-dev \
# libsoup-3.0-dev libatk1.0-dev
# macOS: Xcode command-line tools
# Windows: WebView2 (shipped with Win11)
npm run tauri:dev # launches desktop window against the dev server
npm run tauri:build # produces a signed/unsigned installer
The hosted services (vcad.io and mcp.vcad.io) are not available in jurisdictions subject to U.S. sanctions and export controls — currently Russia, Belarus, Iran, Cuba, North Korea, Syria, and the Crimea, Sevastopol, Donetsk, and Luhansk regions of Ukraine. Users must comply with all applicable export laws. The open-source code in this repository is not affected and remains available to everyone. Details in docs/export-controls.md.
Copyright © 2026 Municipal Robotics Corporation
Licensed under the Apache License 2.0. See NOTICE for attributions. Contributions are accepted under the same license per the Apache 2.0 Section 5 inbound-equals-outbound rule.
Rust
60.4%
TypeScript
29.9%
MDX
3.3%
JavaScript
2.4%
Swift
2.1%
Open-source parametric CAD for the AI era.

Visit vcad.io — no install required.
Download the installer for your platform from the latest release:
.dmg (Intel + Apple Silicon).msi installer.AppImage, .deb, or .rpmReleases are not yet notarized with Apple, so on first launch macOS shows "Apple could not verify 'vcad.app' is free of malware". To open it:
vcad.app in /Applications and choose
Open, then Open in the confirmation dialog.xattr -d com.apple.quarantine /Applications/vcad.app
removes the quarantine flag so the app launches normally.You only need to do this once per install. We'll remove this step once Apple Developer signing is set up.
cargo install vcad-cli
vcad export input.vcad output.stl
vcad import-step input.step output.vcad
The MCP server lets AI agents create and manipulate CAD models:
npm install -g @vcad/mcp
Tools: create_cad_document, export_cad, inspect_cad, gym_step, gym_reset
use vcad_kernel::Solid;
// Create a box with a hole
let solid = Solid::cube(100.0, 60.0, 20.0);
let hole = Solid::cylinder(10.0, 25.0, 32);
let result = solid - hole;
// Export to mesh
let mesh = result.to_mesh(32);
See crates/vcad-kernel for the full API.
vcad/
├── crates/ # Rust BRep kernel (~35K LOC)
│ ├── vcad-kernel/ # Unified API
│ ├── vcad-kernel-topo/ # Half-edge topology
│ ├── vcad-kernel-booleans/# Boolean operations
│ └── ... # 20+ modular crates
├── packages/ # TypeScript
│ ├── app/ # React + Three.js web app
│ ├── mcp/ # MCP server for AI agents
│ └── ...
└── supabase/ # Database migrations
Heads up: vcad depends on the
tangmath workspace and thephyzphysics workspace at sibling paths (../tang,../phyz). Clone both next to vcad before anycargocommand, or the workspace will fail to resolve:git clone git@github.com:ecto/tang.git ../tang git clone git@github.com:ecto/phyz.git ../phyz
# Rust
cargo test --workspace
cargo clippy --workspace -- -D warnings
# TypeScript
npm ci
npm run dev -w @vcad/app # Run web app locally
# Desktop (optional — Tauri v2 shell)
# Ubuntu/Debian system deps:
# sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev librsvg2-dev \
# libsoup-3.0-dev libatk1.0-dev
# macOS: Xcode command-line tools
# Windows: WebView2 (shipped with Win11)
npm run tauri:dev # launches desktop window against the dev server
npm run tauri:build # produces a signed/unsigned installer
The hosted services (vcad.io and mcp.vcad.io) are not available in jurisdictions subject to U.S. sanctions and export controls — currently Russia, Belarus, Iran, Cuba, North Korea, Syria, and the Crimea, Sevastopol, Donetsk, and Luhansk regions of Ukraine. Users must comply with all applicable export laws. The open-source code in this repository is not affected and remains available to everyone. Details in docs/export-controls.md.
Copyright © 2026 Municipal Robotics Corporation
Licensed under the Apache License 2.0. See NOTICE for attributions. Contributions are accepted under the same license per the Apache 2.0 Section 5 inbound-equals-outbound rule.
Rust
60.4%
TypeScript
29.9%
MDX
3.3%
JavaScript
2.4%
Swift
2.1%