com.kernelcad/kernelcad
REMOTE · MCP.KERNELCAD.COM · 2 COMPONENTS · SCANNED AUG 3
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (remove_feature). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability69
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 14270 tokens (~310/item across 46 items; 45 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 92% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.kernelcad.com
claude mcp add --transport http com-kernelcad-kernelcad https://mcp.kernelcad.com/mcp
[mcp_servers.com-kernelcad-kernelcad] url = "https://mcp.kernelcad.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-kernelcad-kernelcad": {
"type": "remote",
"url": "https://mcp.kernelcad.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-kernelcad-kernelcad --url https://mcp.kernelcad.com/mcp --transport streamable-http
mcp_servers:
com-kernelcad-kernelcad:
url: "https://mcp.kernelcad.com/mcp" {
"mcpServers": {
"com-kernelcad-kernelcad": {
"type": "http",
"url": "https://mcp.kernelcad.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
- Stability: unverified → 0.03 ▲ functional
- 27 Jul 26 +61
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 0
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://mcp.kernelcad.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.kernelcad.com | CN=YE1,O=Let's Encrypt,C=US | 26 Jul 2026 | 24 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 5e5d3aabdb49efa184dbe49fa8809532505 |
| SANs: api.kernelcad.com, mcp.kernelcad.com | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of mcp.kernelcad.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| kernelcad.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.kernelcad.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.kernelcad.com/mcp | HTTPS enforced | 301 | https://mcp.kernelcad.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
remove_feature Remove Feature ~107
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.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The .kcad.ts source code. |
| match | string | yes | A substring that uniquely identifies the line to remove (e.g. `const hole = cylinder(5,`). |
| Name | Type | Req | Description |
|---|---|---|---|
| binding_name | string | — | JS const name bound to the new construct (when one was created). |
| diagnostics | array | — | Diagnostics from re-evaluating the modified source. |
| error | string | — | Failure message (present when ok is false). |
| new_code | string | — | Modified .kcad.ts source (present on success). Caller persists it. |
| ok | boolean | yes | Whether the edit applied and re-evaluated cleanly. |
No examples provided.
render_preview Render Preview ~809
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 path), exactly one. Renders the canonical engineering views (front, right, top, iso — pass { views } for a subset, e.g. ["iso"] for fastest iteration) plus an optional { pose: "<az>,<el>" } arbitrary camera angle (degrees; az=0,el=0 is front, +az rotates CCW around +Z, +el lifts the camera). NO STUDIO / DEV-SERVER REQUIRED: a prebuilt static player (dist/headless-player) is served from an ephemeral local port automatically; a running studio dev server is used as fallback, and { base_url } forces one. The only environment dependency is playwright chromium (npx playwright install chromium). Pass { focus } or { hide } (arrays of feature ids or assembly part names, mutually exclusive) to isolate parts — same semantics as `kernelcad render --focus/--hide`. PNGs are written to { out_dir } (default: a fresh temp session directory) and returned as absolute paths with per-view camera descriptions (kernelCAD is Z-up). Mechanism truth runs first, same protocol as `kernelcad render`: a broken mechanism still renders but every tile is watermarked MECHANISM BROKEN (KERNELCAD_RENDER_STRICT=1 refuses instead); read { mechanism, mechanism_failure_codes }. The probe runs full BREP interference sweeps and can dominate latency on large assemblies — pass { no_mechanism_check: true } for fast iteration (the preview then reports mechanism: "unverified"; ignored under strict mode). Returns { ok, images: [{ name, path, description }], out_dir, bounds, mechanism, render_source, render_ms, diagnostics }. PATHS ARE LOCAL to the machine running the MCP server — local stdio clients read them directly; hosted/remote clients should use open_in_studio instead.
| Name | Type | Req | Description |
|---|---|---|---|
| base_url | string | — | Advanced: force a specific render server (e.g. a running studio dev server) instead of the bundled static player. |
| code | string | — | Inline kernelCAD script source. Mutually exclusive with file. Relative imports resolve against a temp dir — use file for scripts with relative lib.fromSTEP(...) imports. |
| environment | string | — | HDRI environment override: preset ('studio', 'softbox', 'neutral', 'outdoor', 'warehouse'), a URL, or 'none' for the default three-light rig. |
| file | string | — | Path to a .kcad.ts script on disk. Mutually exclusive with code. |
| focus | array | — | Show only matching feature ids / assembly part names. Mutually exclusive with hide. |
| height | integer | — | Per-view tile height in px (default 768). |
| hide | array | — | Hide matching feature ids / assembly part names. Mutually exclusive with focus. |
| no_mechanism_check | boolean | — | Skip the mechanism-truth probe for fast iteration on large assemblies; the preview reports mechanism: 'unverified'. Ignored under KERNELCAD_RENDER_STRICT=1. |
| no_watermark | boolean | — | Suppress the kernelCAD version watermark. |
| out_dir | string | — | Directory for the PNGs (created if missing). Default: a fresh temp session dir. |
| pose | string | — | Extra arbitrary camera pose '<az>,<el>' in degrees, e.g. '30,20'. |
| views | array | — | Canonical views to render as an array, e.g. ["iso"] or ["front","top"] (default: all four). Fewer views = faster. |
| width | integer | — | Per-view tile width in px (default 768). |
| Name | Type | Req | Description |
|---|---|---|---|
| bounds | object | — | Model AABB in mm { min, max } the camera was fit to (success). |
| diagnostics | array | yes | — |
| error | string | — | — |
| errorCode | string | — | — |
| errorHint | string | — | — |
| images | array | yes | Rendered tiles { name, path, description } — absolute local PNG paths with per-view camera orientation (kernelCAD is Z-up). |
| mechanism | string | — | Mechanism-truth verdict: 'real' | 'broken' | 'unverified'. |
| mechanism_failure_codes | array | — | De-duplicated failure codes when mechanism is 'broken'. |
| ok | boolean | yes | Whether the preview rendered. |
| out_dir | string | — | Directory holding the PNGs (session temp dir unless out_dir was given). |
| render_ms | number | — | Wall-clock render time in ms (provisioning + browser + captures). |
| render_source | string | — | Lane that served the render: 'static-player' | 'dev-server' | 'explicit'. |
No examples provided.
review_cad Review CAD Model ~414
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 connectors touch modeled material, sample declared mate limits, optionally check interferences at sampled poses, report connector workspace bounds, and return a mechanism fitness verdict for agent self-review. Fitness includes repairMode: none, local-fix, parameter-tune, or topology-redesign.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | — | Assembly name; defaults to the first captured assembly. |
| code | string | — | Inline kernelCAD script source. |
| combinatorial | boolean | — | Sample all 2^N limit-corner combinations across mates with declared limits. Capped at 8 mates with limits; combine with samplesPerMate for both interior coverage and worst-pose detection. Default fal… |
| designGoal | string | — | Original user design prompt or goal. Included in suggestedRepairPrompt so topology-redesign repairs restart from the intended physical design instead of local coordinate nudges. |
| epsilonMm3 | number | — | Interference volume threshold in mm^3. Default 0.01. |
| file | string | — | Path to a .kcad.ts script file. |
| gripperAperture | object | — | Optional fingertip connector refs for gripper aperture travel reporting. |
| includeInterference | boolean | — | Whether sampled poses run BREP interference checks. Default true. |
| includePoseEnvelope | boolean | — | Whether to sample declared mate limits. Default true. |
| preserveInterfaces | array | — | External mates, connector refs, part names, or behavioral interfaces the repair agent must preserve during redesign. |
| samplesPerMate | integer | — | Pose-envelope samples per declared-limit mate. 1 (default) = corners only; >=3 adds uniform interior points between min and max. Total samples per non-locked mate = samplesPerMate. |
| trackConnectors | array | — | Optional connector refs such as ["gripper-plate.tool-tip"] to limit connector workspace reporting. |
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | — | — |
| connectorWorkspace | array | — | Connector workspace bounds. |
| diagnostics | array | yes | — |
| featureCount | number | yes | — |
| fitness | object | — | Mechanism fitness verdict incl. repairMode. |
| gripperAperture | object | — | — |
| mechanism | string | — | — |
| mechanismFailures | array | — | — |
| ok | boolean | yes | — |
| poseEnvelope | object | — | Sampled mate-limit pose envelope. |
| rawInterferencePairs | array | — | — |
| repairContext | object | — | — |
| suggestedRepairPrompt | string | — | Structured repair prompt (failure / repair path). |
| validator | object | — | Assembly/mate-graph validator result. |
No examples provided.
review_paint_peek_latest Get Latest Painted Review Feedback ~382
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 give visual feedback. Call this tool with the `slug` from that link to see the strokes — screenshot + mask + struck part names plus an optional one-line note and intent tags (e.g. "too thick", "missing", "wrong angle") describing WHAT is wrong — and act on the feedback. The slug is the capability: no OAuth required when passing `slug`; private projects require the owner to be signed in. Omit `slug` to fetch your own latest packet from your signed-in account (requires OAuth). By default returns short-lived signed Storage URLs for the screenshot + mask + meta.json plus the struck part names — small and context-friendly. Pass `paths_only: false` to also base64-inline the PNGs for clients that cannot fetch the signed URLs over HTTP.
| Name | Type | Req | Description |
|---|---|---|---|
| freshness_sec | integer | — | Maximum packet age in seconds. Default 1800 (30 min). Use a smaller value for "what did I just paint" or a larger one for "earlier today". |
| paths_only | boolean | — | Controls PNG delivery. Default (omitted or true): return only signed URLs + struck part names — the small, context-friendly response; fetch the bytes via the signed URLs. Set false to also base64-inl… |
| slug | string | — | Project slug from open_in_studio/get_project/a /p/<slug> link. When given, returns the latest brush packet painted on that project's page — works without OAuth; the slug is the capability. Omit to us… |
Structured output declared, but exposes no named fields.
No examples provided.
set_param Set Parameter ~141
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).
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The .kcad.ts source code. |
| new_value | — | yes | The new default value. Either a number for a numeric param (e.g. 12.5), or a string expression evaluated in the script (e.g. "width/2 + 3"). |
| param_name | string | yes | The string literal name of the param (first arg to param()). |
| Name | Type | Req | Description |
|---|---|---|---|
| binding_name | string | — | JS const name bound to the new construct (when one was created). |
| diagnostics | array | — | Diagnostics from re-evaluating the modified source. |
| error | string | — | Failure message (present when ok is false). |
| new_code | string | — | Modified .kcad.ts source (present on success). Caller persists it. |
| ok | boolean | yes | Whether the edit applied and re-evaluated cleanly. |
No examples provided.
set_scene_return Set Scene Return ~161
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(poses, options?);`. Use solvedModel for mate-authored mechanisms so FK and validation run. Returns modified source plus diagnostics from re-evaluation.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly_binding | string | yes | JS identifier bound to assembly(...). |
| code | string | yes | The .kcad.ts source code. |
| mode | string | yes | — |
| options | object | — | Optional solvedModel options such as { validate: 'warn', posesGate: 'envelope' }. |
| poses | object | — | Optional solvedModel pose overrides keyed by mate name. Defaults to {}. |
| Name | Type | Req | Description |
|---|---|---|---|
| binding_name | string | — | JS const name bound to the new construct (when one was created). |
| diagnostics | array | — | Diagnostics from re-evaluating the modified source. |
| error | string | — | Failure message (present when ok is false). |
| new_code | string | — | Modified .kcad.ts source (present on success). Caller persists it. |
| ok | boolean | yes | Whether the edit applied and re-evaluated cleanly. |
No examples provided.
solve_mates Solve Mates ~96
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 a serialized Transform ({ translation, rotateAxis, rotateDeg }). Optional poses overrides mate pose values by mate name.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | — | — |
| poses | object | — | Optional numeric pose overrides keyed by mate name. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | — | — |
| errorCode | string | — | — |
| errorHint | string | — | — |
| iterations | number | — | Solver iteration count (success). |
| ok | boolean | yes | — |
| poses | object | — | Solved part poses keyed by mate; each a serialized Transform (success). |
| status | string | — | Solver status (success). |
No examples provided.
solve_sketch Solve Sketch ~107
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 constraint vocabulary.
| Name | Type | Req | Description |
|---|---|---|---|
| constraints | array | yes | Constraints to apply to the entities. |
| entities | array | yes | Sketch entities to solve. Lines reference point ids; circles reference a center point id. |
| Name | Type | Req | Description |
|---|---|---|---|
| constraints | array | yes | The constraints applied. |
| entities | array | yes | Solved sketch entities. |
| errors | array | — | Solver errors (present on failure). |
| ok | boolean | yes | — |
No examples provided.
trace_from_image Trace Outline from Image ~383
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 to mm via a known scale anchor and feed to path().spline / path().nurbsSegment. Three backends are dispatched behind the scenes: `opencv` (deterministic; uniform-bg silhouette only), `vision-llm` (Claude vision; named points/cluttered backgrounds; caller-supplied ANTHROPIC_API_KEY), and `hybrid` (opencv silhouette + LLM-labeled named points). Default backend is `auto` — the tool picks based on the image's corner-color stddev. Accuracy honesty: opencv contour is geometrically exact; vision-LLM is typically 5–10% off on dense landmarks. Per-feature `confidence` is reported. Caller pays for any vision-LLM API spend via their own ANTHROPIC_API_KEY. Pair with the `kernelcad-trace-from-image` skill for the conversion-to-mm pipeline.
| Name | Type | Req | Description |
|---|---|---|---|
| backend | string | — | Force a specific backend; default `auto` routes by corner-color stddev. |
| features | array | — | Features to trace. Defaults to a single { label: "silhouette", kind: "silhouette" } when omitted. |
| hint | string | — | Optional free-text hint forwarded to vision-LLM backends (e.g. "a pair of eyewear; trace the upper brow only"). |
| imageUrl | string | yes | URL or path to the reference image. Supports file://, http(s)://, data:image/...;base64,..., or a bare filesystem path. |
| maxWaypointsPerFeature | integer | — | Cap on waypoints per feature. Defaults to 12 (suitable for medium-inflection outlines). |
| Name | Type | Req | Description |
|---|---|---|---|
| diagnostics | array | yes | — |
| features | array | yes | Traced features with normalized [0..1] waypoints + confidence. |
| imageDims | array | yes | Pixel dimensions [width, height] of the source image. |
| ok | boolean | yes | — |
No examples provided.
verify Verify Design ~876
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_script first). - 'urdf' — structural validity of a .urdf file ({ urdf_path }). - 'dfm' — print-readiness gates declared by dfmSpec() ({ file | code }). - 'dfm-preflight' — sheet-metal flat pattern vs a job-shop's ordering rules ({ vendor, material, thicknessIn|thicknessMm, ... }). - 'swept-collision' — sweep declared joint range(s) and report colliding poses. - 'reachable' — inverse-kinematics reachability for an end-effector ({ tip_link, target_position, ... }). - 'mounting-holes' — fastened mates expose matching hole diameters on both sides. - 'load-capacity' — closed-form Euler-Bernoulli beam stress / safety-factor check ({ loads, materials, ... }). All params except `check` are check-specific and forwarded verbatim; each check fails closed on its own missing required params.
| Name | Type | Req | Description |
|---|---|---|---|
| assembly | string | — | Assembly name; defaults to the first captured assembly. |
| check | string | yes | Which verification to run. |
| code | string | — | Inline kernelCAD script source (same checks as `file`). |
| collision_tolerance_mm3 | number | — | check:'swept-collision' — BREP intersection volume tolerance (mm^3). |
| dxf | string | — | check:'dfm-preflight' — path to a DXF file. |
| featureId | string | — | check:'dfm-preflight' — FeatureId to scope to. |
| file | string | — | Path to a .kcad.ts script (assembly/dfm/dfm-preflight/swept-collision/reachable/mounting-holes/load-capacity). |
| joint | string | — | check:'swept-collision' — joint to sweep; omit to sweep every declared joint. |
| loads | object | — | check:'load-capacity' — partName -> { force?: [Fx,Fy,Fz] N, torque?: [Tx,Ty,Tz] N*m }. |
| material | string | — | check:'dfm-preflight' — material SKU (required for that check). |
| materials | object | — | check:'load-capacity' — partName -> material declaration. |
| max_iterations | number | — | check:'reachable' — numeric-path iteration cap. |
| mode | string | — | check:'load-capacity' — 'beam' (default) or 'stub'. |
| orientation_tolerance_rad | number | — | check:'reachable' — orientation tolerance in radians. |
| position_tolerance_mm | number | — | check:'reachable' — position tolerance in mm. |
| prefer_solver | string | — | check:'reachable' — force the IK path ('auto' default). |
| range | array | — | check:'swept-collision' — [lower, upper, step] in joint-native units. |
| refreshCatalog | boolean | — | check:'dfm-preflight' — force vendor catalog refresh. |
| safety_factor_threshold | number | — | check:'load-capacity' — pass/fail safety-factor floor (default 1.5). |
| seed | object | — | check:'reachable' — numeric IK seed pose (joint name -> deg/mm). |
| service | string | — | check:'dfm-preflight' — service. |
| target_orientation | array | — | check:'reachable' — target XYZ Euler angles in radians. |
| target_position | array | — | check:'reachable' — target [x, y, z] mm (world frame). |
| thicknessIn | number | — | check:'dfm-preflight' — material thickness in inches. |
| thicknessMm | number | — | check:'dfm-preflight' — material thickness in millimeters. |
| tip_link | string | — | check:'reachable' — end-effector part name (required for that check). |
| urdf_path | string | — | check:'urdf' — path to the .urdf file. |
| vendor | string | — | check:'dfm-preflight' — vendor SKU (required for that check). |
| Name | Type | Req | Description |
|---|---|---|---|
| diagnostics | array | — | Verifier diagnostics (most checks). |
| error | string | — | Failure message (present on failure). |
| errorCode | string | — | — |
| ok | boolean | yes | Whether the verification ran and passed its gate. |
No examples provided.
why_did_this_fail Explain Failure ~110
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 inline on every diagnostic — call lookup_diagnostics for the full catalogue. Pass { file?, code?, feature_id? }.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | — | — |
| feature_id | string | — | — |
| file | string | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| chain | array | — | Upstream feature diagnostics in topological order; requested feature last. |
| error | string | — | — |
| errorCode | string | — | — |
| feature_id | string | — | — |
| ok | boolean | yes | — |
No examples provided.