home / schema

Public MCP schema

Machine-readable tool contract for agents and clients. Generated from the same local registry that powers /docs/mcp-tools.

/schema/mcp-tools.json · alias /schema.json · human reference MCP tools · example library

schemaVersion 1, scope local, 60 tools. Hosted discovery can differ by auth and profile — ask the connected server for its live tool list.

ToolDescription
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 o…
diff_scripts Use this when you need to see exactly what changed between two script versions. Structured geometric delta between two versions of a kern…
inspect Use this when you need to read facts about a model. One reader, selected by `of`: - 'assembly' — physical assembly inventory (parts, bbox…
verify Use this when you need to check a design against a rule set. One verifier, selected by `check`: - 'assembly' — static assembly review ({ …
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 reques…
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-…
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-…
add_surface Use this when you need an organic, freeform, or swept shape — a body shell, panel, fairing, ergonomic curve, lens, or sculpted form — aut…
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 Cu…
add_path_segment Use this when you need a freeform/organic 2D outline — an eyewear brow, ergonomic grip, sneaker midsole, or body silhouette — by appendin…
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 norma…
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 …
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`: -…
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 ca…
add_pattern_feature Use this when you need to repeat a feature in a pattern. Insert a Shape.patternLinear / .patternCircular / .patternGrid call into a kerne…
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 mat…
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 …
lookup_api Use this when you need to list the kernelCAD script-runtime surface: global functions (box, path, selectEdges, helix, etc), Shape methods…
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…
export Use this when you need to export geometry to a file. One exporter, selected by `target`: - target:'model' — export the script geometry to…
lookup_cookbook Use this when you need a canonical pattern snippet for a CAD task. Search the kernelCAD cookbook for canonical pattern snippets. Returns …
find_part Use this when you need to find a part in the catalog. Discover bundled (and optionally remote) part-catalog records by fuzzy query and fa…
fetch_part Use this when you need to download a catalog part as a STEP file. Resolve an id (or single-match query) to a part record and write its ST…
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, constrai…
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-fre…
add_part Use this when you need to add a part to an assembly. Durably insert `const <binding> = <assembly>.part(partName, shapeExpression, opts?)`…
add_connector Use this when you need to add a mate connector to a part. Durably insert `<partBinding>.connector(name, { type, origin, axis?, normal? })…
add_mate Use this when you need to author a mate-graph relationship into the source, selected by `relation` (default 'mate'): - 'mate' — a typed m…
add_workspace_target Use this when you need to declare a reachability target for a connector. Durably insert `<assembly>.workspace(connectorRef, { reachable, …
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>.m…
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 { statu…
review_cad Run a deterministic mechanism-fitness review on supplied kernelCAD code or a file. It performs a full evaluation, replaces the active MCP…
design_loop Use this when the goal is complex / production / enclosure / gearbox / robot-arm / multi-body, or when you need evaluate→review/verify→re…
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 Sh…
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 poi…
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 kernelCA…
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…
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/assum…
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 Mis…
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_f…
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 a…
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_fai…
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 nomina…
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_scrip…
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, …
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…
execute_cookbook Use this when you need evaluate_script (and optionally open_in_studio) for an industry / cookbook demo in ONE step — after lookup_cookboo…
get_selection Use this when you need to read the human/agent selection in a local Studio session. Returns one clicked face or edge (or null), with curr…
set_selection Use this when you need to replace the shared local Studio face/edge selection, or clear it with selection:null. The viewer highlights the…
import_step Use this when the user wants to start from their own STEP or STL file (a part they designed elsewhere, a vendor model). Give exactly one …
fab_pack Use this when the user wants to get a part made: packages the fabrication files into one directory plus a zip, and returns links to publi…
dfm_review Use this when you need a manufacturability (DFM) report before printing or machining a part: returns a pass/fail checklist, no dfmSpec(..…
ray_pick Use this when you need the faces a ray hits in a local Studio model, nearest first, with points, distances, and normals. Inputs are model…
inspect_nurbs Evaluate supplied kernelCAD code or a file to capture an authored NURBS curve (nurbsCurve/spline3d). Returns degree, distinct knots and m…
fit_plane Use this when you need to fit an orthogonal least-squares plane to XYZ point-cloud data. Returns centroid, deterministic unit normal, sig…
mesh_boolean Use this when the user wants to union, subtract, or intersect two imported triangle mesh solids (STL, OBJ, or 3MF). Supports union, subtr…
explode_view Use this when you need an ordered exploded-view plan for an assembly. Supply parts as {name,center:[x,y,z],size:[x,y,z]} in mm. Optional …
apply_surface_blend Use this when you need to author and evaluate a fillet or chamfer on a kernelCAD Shape. Inserts Shape.fillet(radius, selector, { continui…
write_bom Merge a supplied handoff BOM with optional KernelCAD catalog parts, MPNs and pricing, then write a local CSV and return Sheets-ready rows…
blockout_assembly Use this when you have a list of parts with bounding boxes and positions (from a layout, spreadsheet, another tool or a sketch) and need …