CAD Compare
NPM · CAD-COMPARE-MCP
Compare STEP CAD files locally: identical, moved, or different, and what changed.
Available components
Last scanned (19 hours ago)
Scores higher than 31% of npm servers
Category Design and Media
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 → Why this is hard to score →
Supply Chain Security97
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 1 of 1 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency6
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (UNLICENSED) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 0 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1827 tokens (~261/item across 7 items; 7 tools + 0 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 Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
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.
- 4 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 3 Nov 26 45
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 4 Nov 2026 · Analysed npm/cad-compare-mcp@0.2.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 1 package
| Packages resolved | 1 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare ~356
Compare two STEP part files (single parts, not assemblies) and say whether they are the same part. Use it when the user asks whether two CAD files differ, what changed between two versions of a part, or whether a part was only moved or mirrored. The files are read locally and never uploaded. Returns verdict (same / moved / different) and, when different, the changed features with sizes, e.g. {type: "through_hole", change: "modified", attr: "diameter", from: 6, to: 6.5, location: [150, 90, 10]}. Typical time: under a second for simple parts, 5–15 s for parts with several hundred faces. Multi-body parts (several solids in one file) need CAD Compare Pro; the free version returns license_required for them. Report warnings to the user; they say when the result needs care.
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | Absolute path to the first part file (A, usually the older version) (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this computer,… |
| b | string | yes | Absolute path to the second part file (B) (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this computer, the file with the same nam… |
| config_a | string | – | Unused (cadver compatibility) |
| config_b | string | – | Unused (cadver compatibility) |
| Name | Type | Req | Description |
|---|---|---|---|
| alignment | object | yes | – |
| faces | – | yes | Face counts of B by status; null unless the verdict is different |
| features | array | yes | Feature-level changes, largest first; empty unless the verdict is different |
| schema | string | yes | – |
| summary | object | yes | – |
| unit | string | yes | All lengths in millimetres; files in inches are converted |
| verdict | string | yes | same: identical within the tolerance. moved: the same shape, but B is translated and/or rotated relative to A (often just a different coordinate system in the export). different: the shapes differ; s… |
| warnings | array | yes | Caveats to pass on to the user: unit_mistake_suspected (sizes differ by exactly 25.4 or 10×, probably a unit error), units_differ:<a>/<b> (files saved in different units), volume_approximate (freefor… |
No examples provided.
compare_assembly ~319
Compare two versions of a STEP assembly: which parts were added, removed, renamed or replaced, which parts changed shape (with the changed features, as in compare), quantity changes, and which parts or subassemblies moved or changed parent. Use it when the files are assemblies (compare reports them as unsupported) or the user asks what changed in a product structure. Also works when one side is a single part. Files are read locally and never uploaded. Typical time: a few seconds for tens of parts, up to a minute for hundreds. If warnings contains not_all_parts_compared, say so and offer to rerun with a higher max_detailed_parts. Requires CAD Compare Pro (see describe → license).
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | Absolute path to the first assembly file (A, usually the older version) (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this comput… |
| b | string | yes | Absolute path to the second assembly file (B) (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this computer, the file with the same… |
| max_detailed_parts | integer | – | How many changed-looking parts to compare geometrically (default 40; each takes about 0.1–5 s) |
| Name | Type | Req | Description |
|---|---|---|---|
| a | object | yes | – |
| b | object | yes | – |
| compared_in_detail | number | yes | Part pairs compared geometrically |
| instances | object | yes | – |
| not_compared | number | yes | Part pairs skipped because of max_detailed_parts |
| parts | object | yes | – |
| schema | string | yes | – |
| unit | string | yes | – |
| verdict | string | yes | same: the same parts, in the same places, with the same shapes |
| warnings | array | yes | not_all_parts_compared (raise max_detailed_parts for a full check), some_parts_too_different |
No examples provided.
describe ~30
Version and capabilities of this CAD comparison server. Call it once if you need to know which file types are supported.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilities | object | yes | Tool → file extensions it accepts |
| license | object | yes | free: compare gives the verdict but no feature details, and multi-body parts need Pro; compare_assembly, find_duplicates, render_diff and export_report need Pro. message says why (no key, key revoked… |
| name | string | yes | – |
| protocol | string | yes | Plugin protocol, "cadver.plugin/v1" |
| version | string | yes | Engine version; results may change when it changes |
No examples provided.
export_report ~453
Write a comparison report of two STEP files (parts or assemblies) as a self-contained HTML file that can be printed to PDF: verdict, the list of differences in plain language, key figures, and for assemblies the changed, added, removed and moved parts. By default it also contains an interactive 3D view (rotate, zoom, measure; click a difference in the list to show it), which works offline in any browser. Use it when the user wants something to keep, send to a colleague or supplier, or attach to a change request, or wants to see the change in 3D. It writes one file on this computer and never overwrites one unless overwrite is true. Returns the path and a file:// url; give the user the url as a link to open it. Requires CAD Compare Pro (see describe → license).
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | Absolute path to the first file (A, usually the older version), a part or an assembly (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not… |
| b | string | yes | Absolute path to the second file (B) (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this computer, the file with the same name in… |
| language | string | – | Report language: en, de or zh (Chinese); default en. Use the user's language |
| max_detailed_parts | integer | – | For assemblies, as in compare_assembly (default 40) |
| output | string | – | Absolute path for the report, ending in .html (default: next to B, named <A>_vs_<B>.html) |
| overwrite | boolean | – | Replace an existing file at output (default false; ask the user first) |
| view_3d | boolean | – | Include the interactive 3D view (default true; makes the file a few MB). Set false for a small, print-only report |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | number | yes | – |
| kind | string | yes | – |
| path | string | yes | Absolute path of the written HTML report |
| schema | string | yes | – |
| url | string | yes | file:// address of the report; give it to the user as a link to open in the browser |
| verdict | string | yes | – |
| view_3d | boolean | yes | The report contains an interactive 3D view of the parts with the differences coloured (shown in the browser, not printed) |
No examples provided.
find_duplicates ~193
Find STEP part files in a folder that are the same part: identical copies, re-exports, or the same part moved or rotated, whatever the file names. Also reports left/right (mirror-image) pairs. Use it to clean up a messy project folder, find which supplier file matches which drawing, or avoid making the same part twice. Files are read locally and never uploaded. Only files whose fingerprints match are compared in full, so large folders are feasible; typical time is 0.1–1 s per file plus 0.3–5 s per comparison. Assemblies are skipped (listed in skipped). Requires CAD Compare Pro (see describe → license).
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | yes | Absolute path to a folder on this computer |
| max_files | integer | – | Check at most this many files (default 200), in name order |
| recursive | boolean | – | Include subfolders (default true) |
| Name | Type | Req | Description |
|---|---|---|---|
| comparisons | number | yes | Full geometric comparisons made |
| files_scanned | number | yes | – |
| folder | string | yes | – |
| groups | array | yes | Sets of files that are the same part; files in no group are unique |
| mirror_pairs | array | yes | Left/right versions: b is a mirror image of a (not duplicates) |
| schema | string | yes | – |
| skipped | array | yes | Files not checked |
| unique | number | yes | Parts with no duplicate |
| unit | string | yes | – |
| warnings | array | yes | truncated:<checked>/<found> when the folder has more files than max_files |
No examples provided.
fingerprint ~139
Geometric fingerprint of one STEP part, independent of position and orientation (volume, area, principal sizes, face types). Use it to recognise the same part under different file names or to sort many files before comparing pairs; two parts with clearly different fingerprints are different, similar fingerprints still need compare.
| Name | Type | Req | Description |
|---|---|---|---|
| config | string | – | Unused (cadver compatibility) |
| path | string | yes | Absolute path to a part file (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this computer, the file with the same name in the user… |
| Name | Type | Req | Description |
|---|---|---|---|
| area | number | yes | Surface area, mm² |
| bbox_sorted | array | yes | Size along the principal axes, largest first, mm |
| face_types | object | yes | Face count by surface type (plane, cylinder, cone, sphere, torus, bspline, …) |
| integration_exact | boolean | yes | false: freeform surfaces, volume and moments are close estimates |
| n_faces | number | yes | – |
| principal_moments | array | yes | Principal moments of inertia, smallest first (density 1) |
| schema | string | yes | – |
| unit | string | yes | – |
| volume | number | yes | Volume, in mm³ |
No examples provided.
render_diff ~337
Picture of where two STEP parts differ, as PNG images you can look at: an overview and, when there are differences, a close-up. Coloured as in the CAD Compare viewer: faces identical in both grey, differing faces of A red, of B green, and numbered markers whose meaning is in legend (the same differences compare lists). For parts that were only moved or mirrored, B is shown with A's outline on top. Use it when the user wants to see the change, or to check a result visually. Rendered locally without a GPU; files are never uploaded. Requires CAD Compare Pro (see describe → license).
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | Absolute path to the first part file (A, usually the older version) (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this computer,… |
| b | string | yes | Absolute path to the second part file (B) (.step or .stp) on this computer. For a file the user attached to the chat, pass the path you have; if it is not on this computer, the file with the same nam… |
| height | integer | – | Image height in pixels (default 600) |
| output_dir | string | – | Also save the PNGs into this existing folder (absolute path) |
| view | string | – | Viewing direction (default iso: from front-right, above) |
| width | integer | – | Image width in pixels (default 800) |
| Name | Type | Req | Description |
|---|---|---|---|
| colors | object | yes | Colour (hex) → what it shows |
| images | array | yes | The PNG images returned as image content, in this order |
| legend | array | yes | Numbered purple markers in the images → the difference at that spot |
| schema | string | yes | – |
| verdict | string | yes | – |
No examples provided.
How do I install the CAD Compare MCP server?
CAD Compare runs locally as an npm package, launched with npx -y cad-compare-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · cad-compare-mcp
claude mcp add com-cad-compare-cad-compare -- npx -y cad-compare-mcp
What is the CAD Compare MCP server?
CAD Compare is an MCP server listed in the public MCP registry as com.cad-compare/cad-compare. Compare STEP CAD files locally: identical, moved, or different, and what changed. This page covers its npm package (cad-compare-mcp).
Is the CAD Compare MCP server safe to use?
CAD Compare scores 60 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the CAD Compare MCP server expose?
CAD Compare exposes 7 tools: describe, compare, fingerprint, compare_assembly, find_duplicates, and 2 more. Their descriptions and schemas cost roughly 1,827 tokens of context every time the server is loaded.
Is the CAD Compare MCP server still maintained?
CAD Compare is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the CAD Compare MCP server under?
CAD Compare declares the UNLICENSED licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.