Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

kernelCAD

by w1neversion 0.17.1i★ –iRuns in the cloud
Registry namecom.kernelcad/kernelcad

Install

Overview

Description from the maker (original English)

CAD in ChatGPT and Claude: editable parts, STEP/STL/drawings, in-chat 3D, automatic checks.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Chat & email

Install

Pick the AI app you use, then copy the settings.

Before you install

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://mcp.kernelcad.com/mcp

Run this in your terminal

claude mcp add --transport http kernelcad https://mcp.kernelcad.com/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "kernelcad": {
      "url": "https://mcp.kernelcad.com/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "kernelcad": {
      "type": "http",
      "url": "https://mcp.kernelcad.com/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://mcp.kernelcad.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.

  • review_paint_peek_latest

    Return the newest brush-painted review packet from a Studio session. After sharing a /p/ link, the user can open it in the browser and paint marks over the 3D viewport to give visual feedback. Call this tool with the `slug` from that link to see the strokes — screenshot + mask +

  • open_in_studio

    Save the model as a kernelCAD project AND show it: persists a project revision, returns the interactive Studio viewer (MCP Apps / ChatGPT outputTemplate), and includes a PNG preview in the SAME tool result (image content + previewUrl when available). ONE VIEWER PER PROJECT PER RE

  • get_project

    Use this when you need to reopen a saved project or browse what the user has saved — it fetches a kernelCAD Studio project, or lists the signed-in user's saved projects. Pass `slug` (from a /p/ link or a prior listing) to fetch that project's full .kcad source and metadata — then

  • get_project_revision

    Fetch the exact immutable .kcad source and parameters captured at a prior `open_in_studio` version. Use this to read-after-write verify a release: pass the returned `slug` and `version`, then hash or inspect the returned source. Public/unlisted projects use the slug as capability

  • get_latest_render

    Render a project's current model server-side and return it as an inline image so you can SEE what you built. Prefer open_in_studio for the happy path — it already includes an iso PNG preview in the same publish result when previewDelivered is true. Use this tool for a different `

  • get_model_mesh

    Return the raw per-feature triangle mesh (positions/indices/normals) of a project's current model, by slug. For the in-chat 3D viewer widget to render geometry; delivered over the MCP Apps bridge. The slug is the capability: public/unlisted need no OAuth; private requires the own

  • request_upload

    Use this when the user has a photo, PDF drawing, STEP, STL, DXF, SVG or 3MF file on their device and you need it in a kernelCAD tool (trace_from_image, drawing_to_cad, mesh_to_features, inspect of:"step", or lib.fromSTEP / fromSTL / fromDXF / fromSVG / referenceImage in a script)

  • lookup_authoring_skill

    Return the kernelcad-authoring skill — conventions for writing .kcad.ts scripts (API surface, parameters, evaluation contract, common pitfalls) — in sections. Call with NO arguments first: you get the quick-start (units, axes, the return rule, the rules that prevent most failures

  • mesh_summary

    Mesh a kernelCAD .kcad.ts source server-side and return a COMPACT geometry summary — overall bounds plus, per feature, its id, kind, triangle count, and bounding box. Use this to INSPECT a model's geometry without a viewer: confirm a part is the size/shape you expect, see how man

  • report_need

    Use this when the user needed something kernelCAD does not have, so the gap is recorded instead of papered over. kind: asset (search_assets returned coverage none or poor: the catalog does not model it), capability (a tool cannot do what was needed), output (a tool answered, but

  • search_assets

    Search the public kernelCAD asset catalogue of published models. This is not find_part (screws, bearings, NEMA). Read-only. Anonymous callers are allowed. Do not send an API key. Use source:"library" for the free built-in model library. Search its titles, tags or kit IDs, and dow

  • get_asset

    Fetch one public catalogue asset by slug. Read-only. No sign-in and no API key. A built-in kit/id returns the free editable downloads.source (.kcad.ts), studio_url, thumbnail_url and license. Download the source with plain GET. For community slugs, returns the search fields plus

  • get_asset_pack

    Return a short-lived signed URL for a catalogue asset zip (mesh, params, licence). Read-only. No sign-in. The URL is already signed. Fetch it with GET. Do not send an API key or an Authorization header. It expires quickly; read expires_at. Share download_url with the user. Units

  • evaluate_script

    Use this when you need to run a script and check it compiles. Full local builds return viewerUrl: a live Studio link reused and updated on later full builds in the same MCP process. Hosted builds return viewerMode: hosted and viewerHint pointing to open_in_studio; they do not sta

  • diff_scripts

    Use this when you need to see exactly what changed between two script versions. Structured geometric delta between two versions of a kernelCAD script — a baseline ({ baseFile } or { baseCode }) and a revision ({ file } or { code }). Returns agent-readable JSON: per-part added/rem

  • inspect

    Use this when you need to read facts about a model. One reader, selected by `of`: - 'assembly' — physical assembly inventory (parts, bboxes, connectors, mates, disconnected solids). - 'robot' — URDF/SDFormat export preview (links, joints, planning groups, end-effectors, issues).

  • verify

    Use this when you need to check a design against a rule set. One verifier, selected by `check`: - 'assembly' — static assembly review ({ file | code }, or the session evaluate_script left): mate validator, default-pose interference, joint topology, mechanical plausibility. ok:fal

  • why_did_this_fail

    Use this when you need to trace why a feature failed. Walk the upstream chain of a failing feature. Returns the diagnostics of the requested feature plus the diagnostics of every upstream feature in topological order (the requested feature is the last entry). Per-code hints are i

  • set_param

    Use this when you need to edit a param() default value in a kernelCAD script. Returns the modified code as text plus diagnostics from re-evaluating the result. Caller persists the new code via standard file-write tools (this tool has no side effects). With preview: true it builds

  • add_feature

    Use this when you need to insert a new feature line into a script. Insert a new feature line into a kernelCAD script before the last top-level return statement. Returns the modified code as text plus diagnostics from re-evaluating the result. Side-effect-free. Primitives that acc

  • add_surface

    Use this when you need an organic, freeform, or swept shape — a body shell, panel, fairing, ergonomic curve, lens, or sculpted form — authored as a NURBS Surface into the user's .kcad.ts, OR when you need to finish surfaces into a watertight solid or taper faces for moldability.

  • add_curve

    Use this when you need a freeform/organic 3D curve — a body feature line, brow, spine rail, or G2 blend between panels — authored as a Curve3D into the user's .kcad.ts immediately before the last top-level return. One authoring path, selected by `kind`: - 'nurbs' — insert a `nurb

  • add_path_segment

    Use this when you need a freeform/organic 2D outline — an eyewear brow, ergonomic grip, sneaker midsole, or body silhouette — by appending a curved segment to an existing PathBuilder chain on the named `chain_anchor` variable. The call is injected at the END of the chain, immedia

  • trace_from_image

    Use this when you need to trace a reference image into normalized waypoints. Trace pixel-space features from a reference photo into normalized [0..1] waypoints the agent can map to mm via a known scale anchor and feed to path().spline / path().nurbsSegment. Three backends are dis

  • add_variable_sweep

    Use this when you need an organic swept solid whose cross-section changes along its length — a tapering body, horn, bottle, handle, ring band, fairing, or duct — authored as a variable-section sweep along a spine. Inserts `variableSweep(spine, sections, opts?)` into the .kcad.ts

  • add_text

    Use this when you need to author text into a kernelCAD script before the last top-level return. One authoring path, selected by `mode`: - 'sketch' — insert a sketch.text(...) call. The emitted sketch is chainable: pair with subsequent .extrude(...) / cut(...) edits to land an eng

  • project_curve

    Use this when you need to wrap a 2D closed curve onto a 3D face. Insert a ` .projectCurve({ source, face, scaleMode? })` chained call into a kernelCAD script. The `source` is the structured `{ kind: "sketchCommands", commands: [...] }` wire format the runtime API accepts. Wraps t

  • add_pattern_feature

    Use this when you need to repeat a feature in a pattern. Insert a Shape.patternLinear / .patternCircular / .patternGrid call into a kernelCAD script before the last top-level return. Pass structured args (kind + the matching spec object). Returns the modified code plus diagnostic

  • remove_feature

    Use this when you need to remove a feature line from a script. Remove a single line from a kernelCAD script identified by a substring match. Returns the modified code plus diagnostics from re-evaluating. Refuses to remove the line containing the return statement. Side-effect-free

  • query

    Use this when you need to resolve or inspect topology against a script's lowered geometry. Pass the script as `code` (inline; works on a hosted server) or `file`. Selected by `mode` (default 'evaluate'): - 'evaluate' — list the faces a Query matches ({ query }). Pass expect:'uniq

  • lookup_api

    Use this when you need to list the kernelCAD script-runtime surface: global functions (box, path, selectEdges, helix, etc), Shape methods (fillet, sweep, lower, etc), Sketch methods (extrude, revolve, sweep), PathBuilder methods, EdgeQuery/FaceQuery key sets, and featureKindFaceL

  • lookup_diagnostics

    Use this when you need the kernelCAD 26-code diagnostic catalogue with hint templates. Tiny one-shot call; useful for an agent that wants to pre-populate retry strategies. Hints are also inline on every emitted diagnostic — this tool just gives you the canonical list up front.

  • export

    Use this when you need to export geometry to a file. One exporter, selected by `target`: - target:'model' — export the script geometry to one file. Pass { file | code }, a required { output_path }, and { format }. Supported formats: stl (binary STL mesh), step (BREP CAD interchan

  • lookup_cookbook

    Use this when you need a canonical pattern snippet for a CAD task. Search the kernelCAD cookbook for canonical pattern snippets. Returns top-k snippets matching the natural-language query, ranked by BM25 over title/tags/keywords/trigger. Use when you need a canonical pattern for

  • find_part

    Search the bundled parts catalog (offline). For a NEMA-17 motor write `await lib.standard.nema17()`; for a 608 bearing write `await lib.standard.bearing608()`. Do not fan out parallel lookups and do not pass partsBaseUrl unless you set source:"remote". Remote lookups fail within

  • fetch_part

    Fetch one bundled catalog part. Prefer `await lib.standard.nema17()` and `await lib.standard.bearing608()` — they are offline and do not download remote STEP. A lookup that cannot finish fails within 45s with errorCode parts.lookup.timeout. Do not retry in parallel.

  • solve_sketch

    Use this when you need to solve a 2D sketch constraint set. Solve a 2D sketch constraint set. Side-effect-free: pass { entities, constraints } and receive solved entities plus the original constraints. Entities are POINT, LINE, and CIRCLE records; constraints use the kernelCAD co

  • add_constraint

    Use this when you need to add a sketch constraint to a list. Append one validated sketch constraint to a constraint list. Side-effect-free: pass { constraints, constraint } and receive the updated list.

  • add_part

    Use this when you need to add a part to an assembly. Durably insert `const = .part(partName, shapeExpression, opts?)` before the final top-level return in a kernelCAD source string. Returns modified source plus diagnostics from re-evaluating it. Side-effect-free: caller persists

  • add_connector

    Use this when you need to add a mate connector to a part. Durably insert ` .connector(name, { type, origin, axis?, normal? })` before the final top-level return. Use the part binding returned by add_part. Returns modified source plus diagnostics from re-evaluation. Side-effect-fr

  • add_mate

    Use this when you need to author a mate-graph relationship into the source, selected by `relation` (default 'mate'): - 'mate' — a typed mate between two connectors ({ name, a, b, type, pose?, limitsDeg?, limitsMm? }). - 'coupling' — couple a driven mate to a source mate by ratio

  • add_workspace_target

    Use this when you need to declare a reachability target for a connector. Durably insert ` .workspace(connectorRef, { reachable, toleranceMm? })` before the final top-level return. Workspace targets are checked by solvedModel validation/review pose-envelope gates. Returns modified

  • set_scene_return

    Use this when you need to set how the script returns its assembly. Replace the final top-level return statement with `return .model();` or `return .solvedModel(poses, options?);`. Use solvedModel for mate-authored mechanisms so FK and validation run. Returns modified source plus

  • solve_mates

    Solve the mate graph and get part poses. Pass code/file for an atomic source-bound solve, or omit both to use the active assembly. Returns { ok, status, poses, iterations?, evaluationEvidence? } where each pose is a serialized Transform ({ translation, rotateAxis, rotateDeg }). O

  • review_cad

    Run a deterministic mechanism-fitness review on supplied kernelCAD code or a file. It performs a full evaluation, replaces the active MCP session model on success, and clears that session if evaluation fails. The script may load referenced assets. The review validates the assembl

  • design_loop

    Use this when the goal is complex / production / enclosure / gearbox / robot-arm / multi-body, or when you need evaluate→review/verify→revise until green. PREFERRED over one-shot evaluate_script+open_in_studio for Adam-level parts. Runs a CAD design loop over attempt scripts: rev

  • flatten_pattern

    Use this when you need the unfolded flat pattern of a bent sheet-metal part. Return the unfolded 2D flat-pattern of a bent sheet-metal Shape as a Region (outer polyline + holes + bend lines + sketch plane). Any number of parallel bends; crossing bends need corner relief. Pass { f

  • evaluate_sdf

    Use this when you need to sample a signed-distance field at a point. Sample the signed distance from an in-script sdf.* field at a 3D point. Returns { distance, inside, aabb, kind }. Distance is in mm; negative = inside the surface, 0 = exactly on the surface, positive = outside.

  • capture_animation

    Use this when you need to render a script's animation timeline to a video, or a 360° turntable of a model for sharing. Capture a kernelCAD script's animationView({...}) timeline to an MP4 (ffmpeg) or a PNG frame sequence, verifying the sampled poses for part interference. FILE ON

  • render_preview

    Use this when you need to LOOK at a kernelCAD model — render its script to deterministic PNG views for visual self-check (the visual half of the evaluate → render → inspect → fix loop), with NO studio or dev server required. Pass { code } (inline source) or { file } (a .kcad.ts p

  • resolve_assumptions

    Use this when you need to confirm or override the open facts in an assumption ledger from trace_from_image (missing scale, inferred/assumed values) before committing geometry built from a reference photo. Reads the persisted ` .ledger.json` at `ledgerPath`, applies each resolutio

  • run_fea

    Use this when you need to know whether a part will hold a load. Runs a linear-static structural study and returns evidence — peak von Mises stress (MPa), peak displacement (mm), the minimum safety factor against the material yield (taken away from the clamp-singular edges of the

  • fea_summary

    Use this when you need a structural check's context without paying for a solve. Read-only: returns the stored summary of a previous run_fea (pass the same `output_dir`), whether the CalculiX + gmsh toolchain is available on this machine (with the install command when it is not; r

  • send_to_printer

    Use this when you need to upload a .gcode file (e.g. written by export with target: "model", format: "gcode") to a real network printer and, by default, start the print. protocol: 'octoprint' (POST /api/files/local with an X-Api-Key), 'moonraker' (Klipper's POST /server/files/upl

  • repair_script

    Use this when evaluate_script reported an error and you want the fix applied rather than described. Takes the candidates why_did_this_fail derives for a diagnostic, applies them one at a time, re-evaluates after each, and keeps the first that clears the diagnostic without introdu

  • sweep_tolerance

    Use this when you need to know where and why a design breaks across a tolerance/dimension range, not just whether it builds at one nominal value. Declares one or more param() names with a { values: [...] } list or a { min, max, steps } range (number params are bisected; choice/st

  • diff_geometry

    Use this when you need to know WHAT MATERIAL changed between two versions of a model, not just how much. The deeper sibling of diff_scripts: a volume delta alone is ambiguous (a boss that grew and a pocket that deepened report the same magnitude, and a part that only moved report

  • drawing_to_cad

    Use this when the reference for a part is a 2D engineering drawing PDF (orthographic views with dimensions), not a photo. Deterministic, no vision model: reads the vector linework (stroke width, dash) and positioned text; classifies visible / hidden / center / dimension / extensi

  • mesh_to_features

    Use this when you are handed an STL, OBJ or 3MF of a mostly prismatic mechanical part (plate, bracket, spacer, flange, housing block) and need an EDITABLE kernelCAD model of it rather than a faceted lib.fromSTL import. Deterministic, measured, self-verifying: it welds and checks

  • execute_cookbook

    Use this when you need evaluate_script (and optionally open_in_studio) for an industry / cookbook demo in ONE step — after lookup_cookbook for industry demos, prefer execute_cookbook when you need evaluate+Studio together; empty lookup is not a stop (freehand-author instead). Res

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain kernelcad.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 72 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 60 tool descriptions and found no hidden instructions to the AI

Compared with others in Chat & emaili

  • More stars than 0% of the other 1787 servers in this category
  • Published to the registry more recently than 71% of the other 1787 servers in this category
  • Basic checks equal to or better than 100% of the other 1787 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is kernelCAD safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.17.1) reached the registry 11 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

by Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Runs in the cloud★ 2,949Apache-2.0Updated 2 months ago
Install

emailmd

by anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer or cloud★ 1,385MITUpdated 32 days ago
Install

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Runs on your computer★ 277MITUpdated 5 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

kernelCAD — CAD for coding agents, with editable source and checks

Describe a mechanical part in ChatGPT, Claude, Codex, Cursor, or the browser. kernelCAD turns the brief into editable parametric CAD, lets you inspect and revise the geometry, and exports STEP, STL, and drawings.

Start here: Open Studio · Connect your agent · Watch real tool workflows · Read the prompt-to-STEP guide

Why not just generate an image? Your design remains .kcad.ts source: named features, editable dimensions and assembly structure. Agents can evaluate it, check constraints and clearances, revise the source, and export files for an engineer to inspect. Reproducible example source and documented checks are public. Geometry checks are not material-strength or manufacturing certification.

Connect a hosted MCP client: https://mcp.kernelcad.com/mcp (no local CAD install). Run locally: npx -y kernelcad mcp (Node.js 22.12+).

Source scope: this repository contains the reusable CAD runtime, CLI, MCP

tools and headless renderer. Hosted UI and commercial services are maintained

separately. Build the reusable tools with npm run build; use npm run dev

for the standalone renderer.

The workflow is: brief → editable .kcad.ts → evaluated B-rep → validation → guided revision → STEP/STL/drawing. OpenCASCADE is the geometry kernel; kernelCAD supplies the agent-first modeling and review workflow.

Manufacturing design use cases

Describe a part, refine its editable CAD source, and export the geometry or drawing needed for the next step. These examples are starting points for designing parts for different processes:

ProcessExampleReusable CAD reference
3D printingAn electronics enclosure with locating lid and PCB postsEnclosure
CNC millingA bearing block with mounting holes and a stepped seatBearing block
Sheet metalA four-hole bent bracket with a flat patternBent bracket
Laser or waterjet cuttingA motor mounting plate with pilot and hole patternsMotor plate
TurningA shouldered spacer with an axial boreShoulder spacer
AssembliesA bearing, housing, shaft and retainerBearing assembly
Injection moldingA drafted housing with board-screw bosses and structural ribsMoulded housing

The output is CAD for review, not a manufacturing certification. Check dimensions, fit, material and process requirements, and prototype or obtain engineering review as appropriate for the part. The case notes describe what has been checked and what remains open for each model.

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/ ) 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 CLI setup, and connection verification.

Local MCP server: one line

Run the MCP server over stdio with no install (Node.js 22.12 or newer):

npx -y kernelcad mcp

Claude Code: claude mcp add kernelcad -- npx -y kernelcad mcp

Local CLI

To keep the kernelcad command on your PATH:

npm install --global kernelcad

For a self-contained install that includes Node.js, Linux and macOS users can run:

curl -fsSL https://kernelcad.com/install.sh | sh

On Windows PowerShell, run:

irm https://kernelcad.com/install.ps1 | iex

The direct installers download a platform archive, verify its SHA-256 checksum, and install it under the user's home directory. Pin a release with KERNELCAD_VERSION=vX.Y.Z on Linux/macOS or $env:KERNELCAD_VERSION='vX.Y.Z' in PowerShell. Builds are available for Linux x64/ARM64, macOS Intel/Apple Silicon, and Windows x64. Direct installs do not require a separately installed Node.js.

For regulated or air-gapped machines, kernelcad --sandbox … and kernelcad mcp --sandbox --workspace (or KERNELCAD_SANDBOX=1) keep all file access inside one workspace directory and refuse outbound network at runtime, including telemetry. See docs/sandbox.md.

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.

AgentOne-liner
Claude Codeclaude plugin install kernelcad --marketplace w1ne/kernelCAD-web
Codexcodex plugin marketplace add w1ne/kernelCAD-web && codex plugin add kernelcad@kernelcad
CursorAdd kernelCAD MCP to Cursor (MCP only)
Gemini CLIgemini extensions install https://github.com/w1ne/kernelCAD-web --consent --auto-update
Grok Buildgrok plugin marketplace add w1ne/kernelCAD-web && grok plugin install kernelcad --trust
VS Code / Copilotcode --add-mcp '{"name":"kernelcad","type":"http","url":"https://mcp.kernelcad.com/mcp"}'
Skills only (any agent)npx skills add 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.

ModelPromptParamsPreview
Twisted hex vaseHollow shell ~150 mm tall, tapers 70 → 50 mm, hex section twisting 120°, 2 mm wall, closed bottomheight baseDia mouthDia twistDeg wall
Knurled control knobØ40 × 22 mm, diamond-knurled grip, raised pointer, 6 mm D-shaft bore, M3 set-screw holediameter height knurlDepth knurlTwistDeg knurlTeeth shaftDia dFlatDepth boreDepth skirtHeight
Honeycomb bracketFilleted L-bracket with a generative hex latticethickness innerFillet cellSize web
NACA 2412 wingTrue airfoil from the NACA equations, tapered loftsemiSpan rootChord tipChord leSweep dihedralRise washoutDeg
Bevel gear driveMeshing bevel gear pair at 90°gearDeg pinionTeeth gearTeeth
Centrifugal impeller7 swept backward-curved bladesbladeCount wrapDeg backplateThickness boreDia keyWidth
Planetary gear stageSun, planets, ring, carriercarrierDeg sunTeeth planetTeeth planetCount
9-cylinder radial engineRound crankcase, nine finned cylinders in a star, domed heads, prop hubcylinderCount 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.

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.

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 27/27 reference parts match; the expected-pass gate is 27/27, with the analytic inputs and tolerances listed in the scorecard. See the reference-parts scorecard and its local validation demo.

The SolidCraft oracle ledger vendors that project's public reference cases (Apache-2.0) and checks the kernelCAD parts that have been mod

Only the beginning is shown; read the rest in the repo

Ask PopNx