Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

CAD MCP Server

NPM · CAD-MCP-SERVER · SCANNED AUG 3

STEP file inspection for AI. Measure walls, draft angles, clearances. Returns facts, not guesses.

Available components

−12 this week 77 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (2 of 3), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (2 of 3), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to mattmohandiss/cad-mcp-server). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 25 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability78
  • 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 1294 tokens (~143/item across 9 items; 8 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 Coverage94
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 82% of tool parameters carry a description.Partial
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

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.

npm · cad-mcp-server

# add to Claude Code
claude mcp add mattmohandiss-cad-mcp-server -- npx -y cad-mcp-server
# add to Codex CLI
codex mcp add mattmohandiss-cad-mcp-server -- npx -y cad-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mattmohandiss-cad-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "cad-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add mattmohandiss-cad-mcp-server --command npx --arg -y --arg cad-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  mattmohandiss-cad-mcp-server:
    command: "npx"
    args: ["-y", "cad-mcp-server"]
// mcp.json
{
  "mcpServers": {
    "mattmohandiss-cad-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "cad-mcp-server"
      ]
    }
  }
}
Changelog

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.

  • 2 Aug 26 +16
    • Malware scan: unverified → pass security
    • Stability: unverified → 0.20 functional
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
  • 31 Jul 26 −10
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Malware scan: pass → unverified security
  • 27 Jul 26 +33
    • Tool coverage: unverified → 100 functional
    • Schema quality: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: good functional
    • First check of Tool coverage: 82 functional
  • 26 Jul 26 56

    First indexed and scored.

    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

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 · Analysed npm/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
mattmohandiss/cad-mcp-server
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/mattmohandiss/cad-mcp-server/.github/workflows/release-please.yml@refs/heads/main
Rekor log index:
2118578286
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:4c17785f753313f534bd618ef039addb2e994cae984798b630b56b8aaa38fd51c9364237f8b57513b9e707277f7343ade8395300095a0ba26af0d856b
Discovery method:
attestation_endpoint
Dependencies 2 packages

2 packages in the resolved dependency tree · 2 deprecated.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 8 exposed · ~1,259 tokens

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.

Tool Tokens
diff_step ~62

Compare two STEP files. Returns deltas: volume, surface area, dimensions, face/edge/body counts. Comparison minus baseline.

NameTypeReqDescription
baseline_file_pathstringyesPath to baseline STEP file.
comparison_file_pathstringyesPath to comparison STEP file.

No output schema declared.

No examples provided.

find_edges ~98

Find edges by curve type, length, radius, or dihedral angle. Returns IDs, curve types, lengths, radii, diameters. Use returned IDs in measure_distance or measure_geometry.

NameTypeReqDescription
file_pathstringyesPath to STEP file on local filesystem.
filtersobject
includearray
max_resultsinteger
sortstring
summarizeobject

No output schema declared.

No examples provided.

find_faces ~129

Find faces by type, area, radius, normal, quality, or body. Returns IDs, surface types, areas, radii, diameters, axes, normals. Use returned IDs in measure_distance, measure_thickness, measure_draft, or measure_geometry.

NameTypeReqDescription
file_pathstringyesPath to STEP file on local filesystem.
filtersobject
includearrayResult detail presets. Omit for basic face identity, area, bounds, and adjacency.
max_resultsinteger
sortstring
summarizeobject

No output schema declared.

No examples provided.

inspect_step ~91

Use this FIRST for a compact model overview: dimensions, bounding box, body/face/edge counts, validity, watertight status. Use include[] for bodies, quality, pmi, inertia, or topology detail.

NameTypeReqDescription
file_pathstringyesPath to STEP file on local filesystem.
includearrayDetail presets. Default: size, counts, health. Add more for detailed analysis.

No output schema declared.

No examples provided.

measure_distance ~178

Measure distance between entity sets. Pass sources[] and targets[] for set-based measurement (e.g. clearance between holes and walls). Use summary="minimum" for the closest pair only.

NameTypeReqDescription
entity_idsarraySource entity IDs (legacy mode with target_entity_id). Prefer sources/targets for set mode.
file_pathstringyesPath to STEP file on local filesystem.
include_extremabooleanInclude closest point pairs with coordinates.
sourcesarraySource entity IDs for set-based distance. Use with targets for clearance checks.
summarystringall = return every pair; minimum = return only the closest pair.
target_entity_idstringSingle target entity ID. Use when sources is omitted with entity_ids.
targetsarrayTarget entity IDs for set-based distance.

No output schema declared.

No examples provided.

measure_draft ~122

Measure draft angles of faces relative to a pull direction. Returns draft_angle_deg, normal, and undercut flag per face. Positive = good for ejection; negative = undercut.

NameTypeReqDescription
facesarrayyesFace IDs to check draft angle on.
file_pathstringyesPath to STEP file on local filesystem.
pull_directionarrayPull direction [x,y,z]. Mutually exclusive with pull_direction_mode.
pull_direction_modestringDirection shortcut. axis = along the face axis; normal = along the face normal.

No output schema declared.

No examples provided.

measure_geometry ~407

Ray tests, point analysis, cross-sections, and edge continuity. measurement_type selects the operation: ray, ray_grid, point_analysis, section, or continuity.

NameTypeReqDescription
analyzestringSection analysis mode. edge_count = count and describe edges; thickness = measure section thickness.
bidirectionalbooleanFire rays in both directions. Used by ray_grid.
checksarrayChecks to perform at each point. Required for point_analysis.
detailstringstats = min/max/avg; samples = hit coordinates; hits = full grid results.
directionarrayRay direction [x,y,z]. Used by ray, ray_grid.
direction_modestringDirection shortcut. axis = along entity axis; normal = along entity normal.
entity_idsarrayyesEntity IDs from find_faces/find_edges or inspect_step bodies.
file_pathstringyesPath to STEP file on local filesystem.
max_distancenumberMaximum ray distance mm. If set, ray becomes bounded (ray_test_segment).
measurement_typestringyesray = single ray from origin in direction; ray_grid = grid of rays across entity; point_analysis = classify/project/curvature at points; section = planar cross-section; continuity = edge smoothness b…
originarrayRay origin [x,y,z]. Used by ray. Mutually exclusive with origin_mode.
origin_modestringOrigin shortcut relative to entity bounding box. Used by ray.
plane_normalarrayNormal of cutting plane. Required for section.
plane_originarrayPoint on cutting plane. Required for section.
pointsarray3D points to analyze. Required for point_analysis.
spacing_mmnumberGrid spacing mm. Used by ray_grid. Default 2.
tolerancenumberTolerance mm for point checks. Default 0.01.

No output schema declared.

No examples provided.

measure_thickness ~172

Measure wall thickness across faces via ray grid sampling. Returns min/max/avg thickness per face. Use direction_mode="normal" (default) or direction_mode="axis".

NameTypeReqDescription
bidirectionalbooleanFire rays in both directions. Default true for thickness.
detailstringstats = min/max/avg only; samples = include hit coordinates.
directionarrayRay direction [x,y,z]. Mutually exclusive with direction_mode.
direction_modestringDirection shortcut. axis = along the face axis; normal = along the face normal.
facesarrayyesFace IDs to measure wall thickness across.
file_pathstringyesPath to STEP file on local filesystem.
spacing_mmnumberGrid spacing in mm. Smaller = denser sampling.

No output schema declared.

No examples provided.