# CAD Compare (npm · cad-compare-mcp)

Compare STEP CAD files locally: identical, moved, or different, and what changed.

- Trust score: 60/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `cad-compare-mcp`: 60/100 (this document), [markdown](https://verifymcp.io/servers/com-cad-compare-cad-compare/cad-compare-mcp.md), [page](https://verifymcp.io/servers/com-cad-compare-cad-compare/cad-compare-mcp)

## Channel facts

- Registry: `npm`
- Package: `cad-compare-mcp`
- Version: `0.2.0`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 97/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 1 of 1 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 6/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (UNLICENSED) isn't a recognized OSI-approved license.
  - Actively maintained (last published 1 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (excellent).
  - 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.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**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.

## Install

### 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.

### Claude

```bash
claude mcp add com-cad-compare-cad-compare -- npx -y cad-compare-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "com-cad-compare-cad-compare": {
      "command": "npx",
      "args": [
        "-y",
        "cad-compare-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-cad-compare-cad-compare": {
      "command": "npx",
      "args": [
        "-y",
        "cad-compare-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add com-cad-compare-cad-compare -- npx -y cad-compare-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-cad-compare-cad-compare": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "cad-compare-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-cad-compare-cad-compare --command npx --arg -y --arg cad-compare-mcp
```

### Hermes

```yaml
mcp_servers:
  com-cad-compare-cad-compare:
    command: "npx"
    args: ["-y", "cad-compare-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "com-cad-compare-cad-compare": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "cad-compare-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-cad-compare-cad-compare -t stdio -c npx -a -y cad-compare-mcp
```

### Other

```json
{
  "mcpServers": {
    "com-cad-compare-cad-compare": {
      "command": "npx",
      "args": [
        "-y",
        "cad-compare-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 60, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-03 (score 45)

First indexed and scored.

## MCP tools (7)

### `describe` (~30 tokens)

Version and capabilities of this CAD comparison server. Call it once if you need to know which file types are supported.

Output parameters:

- `capabilities` (object): Tool → file extensions it accepts
- `license` (object): 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)
- `protocol` (string): Plugin protocol, "cadver.plugin/v1"
- `version` (string): Engine version; results may change when it changes

### `compare` (~356 tokens)

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.

Input parameters:

- `a` (string, required): 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, required): 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)

Output parameters:

- `alignment` (object)
- `faces`: Face counts of B by status; null unless the verdict is different
- `features` (array): Feature-level changes, largest first; empty unless the verdict is different
- `schema` (string)
- `summary` (object)
- `unit` (string): All lengths in millimetres; files in inches are converted
- `verdict` (string): 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): 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…

### `fingerprint` (~139 tokens)

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.

Input parameters:

- `config` (string): Unused (cadver compatibility)
- `path` (string, required): 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…

Output parameters:

- `area` (number): Surface area, mm²
- `bbox_sorted` (array): Size along the principal axes, largest first, mm
- `face_types` (object): Face count by surface type (plane, cylinder, cone, sphere, torus, bspline, …)
- `integration_exact` (boolean): false: freeform surfaces, volume and moments are close estimates
- `n_faces` (number)
- `principal_moments` (array): Principal moments of inertia, smallest first (density 1)
- `schema` (string)
- `unit` (string)
- `volume` (number): Volume, in mm³

### `compare_assembly` (~319 tokens)

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).

Input parameters:

- `a` (string, required): 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, required): 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)

Output parameters:

- `a` (object)
- `b` (object)
- `compared_in_detail` (number): Part pairs compared geometrically
- `instances` (object)
- `not_compared` (number): Part pairs skipped because of max_detailed_parts
- `parts` (object)
- `schema` (string)
- `unit` (string)
- `verdict` (string): same: the same parts, in the same places, with the same shapes
- `warnings` (array): not_all_parts_compared (raise max_detailed_parts for a full check), some_parts_too_different

### `find_duplicates` (~193 tokens)

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).

Input parameters:

- `folder` (string, required): 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)

Output parameters:

- `comparisons` (number): Full geometric comparisons made
- `files_scanned` (number)
- `folder` (string)
- `groups` (array): Sets of files that are the same part; files in no group are unique
- `mirror_pairs` (array): Left/right versions: b is a mirror image of a (not duplicates)
- `schema` (string)
- `skipped` (array): Files not checked
- `unique` (number): Parts with no duplicate
- `unit` (string)
- `warnings` (array): truncated:<checked>/<found> when the folder has more files than max_files

### `export_report` (~453 tokens)

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).

Input parameters:

- `a` (string, required): 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, required): 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

Output parameters:

- `bytes` (number)
- `kind` (string)
- `path` (string): Absolute path of the written HTML report
- `schema` (string)
- `url` (string): file:// address of the report; give it to the user as a link to open in the browser
- `verdict` (string)
- `view_3d` (boolean): The report contains an interactive 3D view of the parts with the differences coloured (shown in the browser, not printed)

### `render_diff` (~337 tokens)

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).

Input parameters:

- `a` (string, required): 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, required): 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)

Output parameters:

- `colors` (object): Colour (hex) → what it shows
- `images` (array): The PNG images returned as image content, in this order
- `legend` (array): Numbered purple markers in the images → the difference at that spot
- `schema` (string)
- `verdict` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-cad-compare-cad-compare/cad-compare-mcp#diagnostics

## Score history

- 2026-11-05: 60
- 2026-11-04: 60
- 2026-11-03: 45

## Common questions

### 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 5 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 5 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.

## Links

- npm package: https://www.npmjs.com/package/cad-compare-mcp
- Socket report: https://socket.dev/npm/package/cad-compare-mcp
- Website: https://cad-compare.com/ai/
- Changelog RSS feed: https://verifymcp.io/servers/com-cad-compare-cad-compare/cad-compare-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-cad-compare-cad-compare/cad-compare-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-cad-compare-cad-compare/cad-compare-mcp
