MCP servercom.kernelcad/kernelcad
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.
Overview
Score?
UNRATED 0.795
of what a free look can see, on 31 looks
Looks
36
last 3 hr ago
Tools
56
changed 3 hr ago
More info
URL
mcp.kernelcad.com/mcp
streamable-http
Says it is
kernelcad 1.0.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.795 · highest on record 0.8561
Toolsfrom sha256:6fc9611c2f…f1825b · +0 −0 3 hr ago
| Tool | Schema |
|---|---|
| add_connector Use this when you need to add a mate connector to a part. Durably insert `<partBinding>.connector(name, { type, origin, axis?, normal? })` before the final top-level return. Use th |
input · output |
| 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 rec |
input · output |
| 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 |
input · output |
| 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 modifie |
input · output |
| 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, t |
input · output |
| add_part Use this when you need to add a part to an assembly. Durably insert `const <binding> = <assembly>.part(partName, shapeExpression, opts?)` before the final top-level return in a ker |
input · output |
| 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 PathBuild |
input · output |
| 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 retur |
input · output |
| 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 .k |
input · output |
| 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. |
input · output |
| add_variable_sweep Use this when you need an organic swept solid whose cross-section changes along its length — a tapering body, horn, bottle, fairing, or duct — authored as a variable-section sweep |
input · output |
| add_workspace_target Use this when you need to declare a reachability target for a connector. Durably insert `<assembly>.workspace(connectorRef, { reachable, toleranceMm? })` before the final top-level |
input · output |
| 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 |
input · output |
| 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 e |
input · output |
| 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 bo |
input · output |
| 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 |
input · output |
| 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 |
input · output |
| evaluate_script Use this when you need to run a script and check it compiles. Run a kernelCAD .kcad.ts script and report pass/fail + feature count + diagnostics. When the scene is assembly-built ( |
input · output |
| 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 |
input · output |
| 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_cookbo |
input · output |
| 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 |
input · output |
| 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 th |
input · output |
| 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 |
input · output |
| 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 paral |
input · output |
| 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 + b |
input · output |
| 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 P |
input · output |
| 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 |
input · output |
| 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 |
input · output |
| 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 `ver |
input · output |
| 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) |
input · output |
| 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 method |
input · output |
| 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 argumen |
input · output |
| 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-languag |
input · output |
| 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 ar |
input · output |
| 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 |
input · output |
| 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 rat |
input · output |
| 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 previe |
input · output |
| project_curve Use this when you need to wrap a 2D closed curve onto a 3D face. Insert a `<shape>.projectCurve({ source, face, scaleMode? })` chained call into a kernelCAD script. The `source` is |
input · output |
| query Use this when you need to resolve or inspect topology against a script's lowered geometry. Selected by `mode` (default 'evaluate'):
- 'evaluate' — inspect a Query (@kc[...] ref, @k |
input · output |
| 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 diagnost |
input · output |
| 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 l |
input · output |
| 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 on |
input · output |
| 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_feat |
input · output |
| 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 |
input · output |
| review_cad Use this when you need to review a mechanism for fitness and repair mode. Run the deterministic CAD review loop: evaluate the script, validate the assembly/mate graph, check mate c |
input · output |
| review_paint_peek_latest Return the newest brush-painted review packet from a Studio session. After sharing a /p/<slug> link, the user can open it in the browser and paint marks over the 3D viewport to giv |
input · output |
| run_fea Use this when you need to know whether a part will hold a load. Runs the linear-static structural study a script declares with `shape.feaStudy({ material, fixed, loads, meshSize?, |
input · output |
| 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: |
input · output |
| 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 |
input · output |
| 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 <assembly>.model();` or `return <assembly>.solvedModel( |
input · output |
| solve_mates Use this when you need to solve the mate graph and get part poses. Run the v0.6 mate-graph solver on the active assembly. Returns { status, poses, iterations? } where each pose is |
input · output |
| 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 |
input · output |
| sweep_tolerance Use this when you need to check whether a mechanism stays buildable across a tolerance/dimension range, not just at one nominal value. Declares one or more param() names with a { v |
input · output |
| trace_from_image Use this when you need to trace features from a reference photo into waypoints. Trace pixel-space features from a reference photo into normalized [0..1] waypoints the agent can map |
input · output |
| verify Use this when you need to check a design against a rule set. One verifier, selected by `check`:
- 'assembly' — mate-aware assembly validator on the active session (run evaluate_scr |
input · output |
| 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 u |
input · output |
Verify it yourself
npx teppi-check https://mcp.kernelcad.com/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ278PA0TZ7SWBP39P9X79