Skip to main content
Glama
w1ne
by w1ne

kernelCAD - CAD runtime for agents

kernelCAD turns mechanical intent into editable .kcad.ts source, deterministic review evidence, and exportable manufacturing artifacts.

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.

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.

Model

Prompt

Params

Preview

Twisted hex vase

Hollow shell ~150 mm tall, tapers 70 → 50 mm, hex section twisting 120°, 2 mm wall, closed bottom

height baseDia mouthDia twistDeg wall

Knurled control knob

Ø40 × 22 mm, diamond-knurled grip, raised pointer, 6 mm D-shaft bore, M3 set-screw hole

diameter height knurlDepth knurlTwistDeg knurlTeeth shaftDia dFlatDepth boreDepth skirtHeight

Honeycomb bracket

Filleted L-bracket with a generative hex lattice

thickness innerFillet cellSize web

NACA 2412 wing

True airfoil from the NACA equations, tapered loft

semiSpan rootChord tipChord leSweep dihedralRise washoutDeg

Bevel gear drive

Meshing bevel gear pair at 90°

gearDeg pinionTeeth gearTeeth

Centrifugal impeller

7 swept backward-curved blades

bladeCount wrapDeg backplateThickness boreDia keyWidth

Planetary gear stage

Sun, planets, ring, carrier

carrierDeg sunTeeth planetTeeth planetCount

9-cylinder radial engine

Round crankcase, nine finned cylinders in a star, domed heads, prop hub

cylinderCount barrelLength

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.

Related MCP server: gitcad

Philosophy

  1. Agent-First: The primary interface is .kcad.ts, CLI, and MCP. The UI reviews and steers generated designs.

  2. Editable Source: Geometry is deterministic source code with explicit feature history, params, assemblies, and diagnostics.

  3. Validation-Centered: Useful CAD output needs deterministic review for constraints, hardware fit, clearances, and exportability.

  4. Workflow Over Primitives: Product progress is measured by intent-level workflows, not by copying every traditional CAD button.

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:

kernelcad render inspect model.kcad.ts model.inspect

The v1 bundle writes a manifest and canonical RGB views. It can also emit machine-readable mask, depth, and normals channels:

kernelcad render inspect model.kcad.ts model.inspect --channels rgb,mask,depth,normals

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);

Run it:

kernelcad evaluate bracket.kcad.ts
kernelcad export stl bracket.kcad.ts -o bracket.stl

That's it. For agents: kernelcad mcp runs an MCP server with dynamic model introspection tools. 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:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "kernelcad": {
      "command": "npx",
      "args": ["-y", "kernelcad", "mcp"]
    }
  }
}

Restart Claude Desktop. The kernelCAD MCP tools (review_cad, model introspection, export helpers, etc.) appear in the tools list.

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:

npx -y kernelcad install --claude-desktop --dry-run
npx -y kernelcad install --claude-desktop

Other hosted setup guides: ChatGPT, Claude Code, Codex, Cursor, and VS Code.

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.

Contributing

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)

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. Some tools return vendor links that can carry a referral tag; results with a tagged link include the disclosure "Some links are referral links; kernelCAD may earn a commission." A vendor with no tag gets the clean URL. Self-hosters and forks change all of it in two files, or with KERNELCAD_REFERRAL_<VENDOR> and KERNELCAD_REFERRALS=off. See ATTRIBUTION.md.

License

MIT — see LICENSE. The kernelCAD name is covered by the trademark policy.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to write TypeScript to create, render, verify, and export parametric 3D models using Replicad/OpenCascade CAD kernel, headlessly from terminal or MCP clients.
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to create and manipulate 3D CAD models using natural language via MCP, with git-based versioning and manufacturing output generation.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables engineering agents to perform parametric CAD operations through a controlled MCP gateway built on FreeCAD, with transactions, diagnostics, and reproducible verification.
    2
    GNU Lesser General Public v2.1 only
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agent-assisted CAD engineering, allowing users to create, validate, and export CAD designs through natural language, with a deterministic engine that has zero LLM runtime dependency.
    Academic Free v1.1