Source scope: this repository contains the reusable CAD runtime, CLI, MCP tools and headless renderer. Hosted product UI and commercial manufacturing services are maintained separately. Build the reusable tools with npm run build; use npm run dev for the standalone renderer.
kernelCAD - CAD runtime for agents
kernelCAD turns mechanical intent into editable source,
deterministic review evidence, and exportable manufacturing artifacts.
CAD in ChatGPT and Claude: editable parts, STEP/STL/drawings, in-chat 3D, automatic checks.
2026-11-08
Stars
—
Tools
—
Uptime
—
.kcad.ts
The core loop is source-first: design brief -> editable .kcad.ts ->
evaluated model -> deterministic validation -> guided revision -> export package.
kernelCAD is not trying to be a browser clone of Fusion, Onshape, or SolidWorks.
Replicad/OpenCASCADE are the kernel layer. kernelCAD is the agent-first workflow
layer above the kernel: deterministic CAD source, feature history, diagnostics,
validation, variants, and human review.
Install
Already in ChatGPT and Claude: no install
kernelCAD runs as a connected app in ChatGPT (Apps SDK, with the Studio
viewer and paint review inside the chat) and in Claude / claude.ai (custom
connector). Add it from the chat settings and sign in:
One account everywhere. The coding-agent plugins below use the same hosted
server (https://mcp.kernelcad.com/mcp) and the same kernelCAD sign-in. A model
saved from Claude Code, Codex, Cursor, Gemini or Grok opens at the same Studio
share link (/p/<slug>) you see in ChatGPT or Claude. Sign in with the same
account in each client.
Ask your agent: “look at kernelcad.com and install the mcp”.
Agent-readable installation instructions cover
hosted setup, local npm setup, and connection verification.
Coding agents: one command
One command connects your agent to the hosted kernelCAD MCP server
(https://mcp.kernelcad.com/mcp) and adds the kernelCAD skills. Nothing runs
locally and no OpenCASCADE install is needed. Anonymous use works; sign in
through your client's OAuth prompt for account features.
Agent
One-liner
Claude Code
claude plugin install kernelcad --marketplace w1ne/kernelCAD-web
Inside Claude Code you can also type /plugin marketplace add w1ne/kernelCAD-web
then /plugin install kernelcad@kernelcad. Restart the app after installing.
Claude Desktop, ChatGPT, Windsurf, Cline, Zed, Continue, update, uninstall and the Cursor skills install are in
docs/usage/agent-plugin-install.md.
Showcase
Each model below started from the plain-language prompt shown. An AI agent wrote it through kernelCAD's own authoring loop (CLI / MCP): it wrote .kcad.ts source, ran evaluate, rendered the seven-view inspection sheet, read the renders, fixed what was wrong, and repeated. None of these is a one-shot generation. Each folder in showcase/ holds the parametric source, the turntable GIF (kernelcad animate --turntable, publish look), and a short note on what to look at and which checks were run.
Round crankcase, nine finned cylinders in a star, domed heads, prop hub
cylinderCountbarrelLength
Some checks go past the picture:
Mechanisms that are checked, not just drawn. The planetary stage and the bevel drive are assemblies with revolute mates, gear ratios coupled from the tooth counts, and declared gear-pair transmissions. kernelCAD's mechanism-truth check (evaluate_script → mechanism: "real") turns each mechanism through its limits with the couplings applied and looks for overlapping teeth. kernelcad validate --include-interference reports both assemblies clean.
Manufacturing evidence. The honeycomb bracket declares an FDM print gate. kernelcad dfm passes it (thinnest wall 2.0 mm, no unsupported overhang), and kernelcad export step writes a B-rep whose holes read back with kernelcad inspect step.
Philosophy
Agent-First: The primary interface is .kcad.ts, CLI, and MCP. The UI reviews and steers generated designs.
Editable Source: Geometry is deterministic source code with explicit feature history, params, assemblies, and diagnostics.
Validation-Centered: Useful CAD output needs deterministic review for constraints, hardware fit, clearances, and exportability.
Workflow Over Primitives: Product progress is measured by intent-level workflows, not by copying every traditional CAD button.
Reference-parts accuracy
The headless OCCT gate checks 27 native .kcad.ts reference parts against
analytic or recorded OCCT volume, surface-area, and bounding-box values. The
current headline is 25/27 reference parts match; the expected-pass gate is
25/25, with two documented known failures and their reasons listed in the
scorecard. See the
reference-parts scorecard and its
local validation demo.
Agent workflow
For agents and contributors, .kcad.ts source is the design source of truth.
Rendered PNG/MP4 files, STEP/STL exports, score JSON, and capture-run metadata
are generated evidence or deliverables. Prompt briefs, source files, and
provenance metadata remain source. Change source first, regenerate explicit
targets, and avoid broad artifact refreshes unless you are intentionally
rebuilding a demo or release bundle.
Use deterministic checks before visual judgment:
kernelcad evaluate model.kcad.ts
# then run review_cad from an MCP client connected through `kernelcad mcp`
kernelcad export step model.kcad.ts -o model.step
kernelcad export stl model.kcad.ts -o model.stl
When a rendered artifact is produced, inspect the image/video itself and report
what is visible: proportions, interfaces, floating geometry, occlusion, camera
framing, and whether required features are legible. Passing tests are not a
substitute for visual evidence.
When visual evidence matters, keep a deterministic inspection bundle:
Use --focus <names> or --hide <names> when a specific feature id or
assembly part needs isolated review. Keep richer channels in the same manifest
packet; do not replace the canonical RGB views.
For real hardware, prefer catalog/vendor geometry via lib.fromSTEP(...)
instead of fake placeholder boxes or cylinders. This keeps mounts, clearances,
and mechanism checks tied to physical components.
Features
Headless Core: Run CAD operations in Node.js or Web Workers without a DOM.
Agent API: kernelCAD APIs for params, assemblies, NURBS, SDF bodies, sheet metal workflows, introspection, and feedback loops.
Review Cockpit: Browser-based 3D preview for inspecting generated designs and validation results.
Standard Exports: STEP/STL generation.
Robust Kernel: Built on OpenCASCADE, with Replicad kept as a kernel implementation detail where it is still used.
Get Started
npm install -g kernelcad
Drop this in bracket.kcad.ts:
const w = param('Width', 60, { unit: 'mm' });
const h = param('Height', 40, { unit: 'mm' });
const t = param('Thickness', 5, { unit: 'mm' });
const base = box(w, h, t);
const hole = cylinder(t + 2, 4).translate(w / 2, h / 2, -1);
return base.subtract(hole).fillet(1);
That's it. For agents: kernelcad mcp runs an MCP server with dynamic model
introspection tools. Object tool responses include structuredContent alongside
the serialized JSON text so MCP clients can validate advertised output schemas.
See SKILL.md (bundled with the install) for the full API
surface and authoring guide.
Use with Claude Desktop
kernelCAD runs as an MCP server, so Claude Desktop can drive it locally. After
npm install -g kernelcad, add an entry to your Claude Desktop config file:
Restart Claude Desktop. The kernelCAD MCP tools (review_cad, model
introspection, export helpers, etc.) appear in the tools list.
The first full local evaluate_script build returns viewerUrl. Open it in
Studio once: later full builds and source-edit tool calls replace the source,
history, and geometry behind that same session link. The viewer is served on
127.0.0.1 by the MCP process and lasts until that process closes; it is not a
public share link. Dry runs leave it unchanged. A build failure keeps the last
built model visible; a successfully built model with DFM failures remains
viewable. Build diagnostics shown there are not a full CAD/physics review.
Published packages include the Studio bundle. When running MCP from a checkout,
run npm run build:mcp-viewer first. If the bundle cannot be served, the build
result includes viewerError separately from its CAD diagnostics. Hosted MCP
and --cloud continue to use the gateway's Studio/project URLs.
For hosted workflows, sign in at the existing connection guide.
It gives the current connector and OAuth steps for your client. The hosted tool
set depends on authentication, your selected profile, and server-native tools;
use the connected server's discovery rather than assuming the local list.
The local installer is available. Preview the config change before applying it:
Browse the generated local MCP tool reference
for complete input/output schemas and behavior annotations, or search the
design guide for existing recipes and
cited, dated manufacturing catalog snapshots.
For local Studio, get_selection and set_selection
share face/edge picks with your MCP agent. Open the same script in Studio and
use its session token; picks expire on model rebuild.
Web app + dev workflow (clone the repo, npm install, npm run dev) for contributors who want to hack on the kernel or the visual debugger:
git clone https://github.com/w1ne/kernelCAD-web.git
cd kernelCAD-web
npm install
npm run dev # web visual debugger at localhost:5173
npm run build:cli # build the CLI bundle into dist/cli/
npm run test # full vitest suite
npm run qc # quick quality gate (lint + typecheck + tests)
Attribution
Exported files name kernelCAD in their metadata field (STEP FILE_NAME, GLB
asset.generator, the STL header, a DXF or XML comment), and public viewer
pages show a small "Made with kernelCAD" link. Self-hosters and forks change
this in src/shared/links/attribution.ts. See ATTRIBUTION.md.