CAD MCP Server

io.github.mattmohandissPublished by GitHub account mattmohandissv0.8.1Updated Oct 26, 2026

Measure STEP CAD files with your AI assistant: walls, clearances, draft, and revision diffs.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Local MCP server that opens STEP CAD files and lets an assistant measure real geometry: dimensions, volume, walls, clearances, draft, sections and revision…

What you can do
  • Inspect a STEP model: bounding-box size, volume, surface area, body and assembly structure, B-rep health
  • Find faces, edges, vertices and bodies by surface type, radius, axis or area
  • Measure distances, wall thickness, draft, ray casts and grids, point analysis, planar sections and edge continuity
  • Read declared PMI: dimensions, geometric tolerances and datums bound to entity IDs
  • Diff two revisions for dimension, volume, area and topology changes plus STEP metadata
When to use it
Useful when an assistant needs exact numbers from a STEP part or assembly instead of guessing from screenshots — design review, DFM-style checks, clearance and wall-thickness questions, or comparing two revisions of a model.
Requirements
Runs locally over stdio, typically via npx cad-mcp-server. Needs Node.js 26+ on Windows x64, macOS ARM64 or Linux x64, and STEP files to read. No CAD application or license is required, and no environment variables or credentials are declared.
Before you install
The server is described as read-only and local: it reads files by path and does not upload or write CAD data. CAD files can still be sensitive, so point it only at files you are comfortable exposing to your assistant session; results are tied to a file revision and stale entity IDs are rejected.

Installation

In SourceWeft

  1. Open CAD MCP Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Ottogeo — CAD MCP Server

[npm version] [npm downloads] [license] [CI]

Give any AI assistant the ability to measure real CAD geometry. The server opens STEP files with the Open CASCADE kernel and answers the questions an engineer actually asks — overall size and volume, hole and boss diameters, wall thickness, clearance, draft, cross-sections, and what changed between two revisions — with numbers computed from the model's own B-rep, not estimated from a screenshot.

[The assistant measures a pocket floor to cross-bore distance of 0.8 mm, sections the model to confirm it, and verifies 3.0 mm in the revised STEP file.]

Quick start

Add the server to your MCP client, then point your assistant at a STEP file:

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

Works with any MCP client — Claude Desktop, Cursor, VS Code, and the rest.

Ask it anything about a part

  • "What are the overall dimensions and volume of this part?"
  • "Find the cylindrical faces and list their diameters and axes."
  • "Measure wall thickness on these faces."
  • "What is the minimum distance between this hole and the nearest wall?"
  • "Measure draft relative to the +Z direction and list faces with negative draft."
  • "Cut a section through this body at X = 40."
  • "What changed between revision A and revision B?"

More examples, including DFM-style review prompts, are in docs/EXAMPLE_PROMPTS.md.

Tools

ToolReturns
inspectBounding-box dimensions, volume, surface area, body and assembly structure, B-rep health, and a revision-bound reference.
find_entitiesFaces, edges, vertices, and bodies, with filters for surface type, radius, axis, and area.
measureDistance between faces, wall thickness, draft, ray casts, ray grids, point analysis, planar sections, and edge continuity.
describe_pmiDeclared dimensions (nominal with deviations or bounds), geometric tolerances (value, zone, material modifier, datums), and datums, each with the entity IDs it applies to.
diffDimension, volume, area, and topology deltas between two STEP revisions, declared PMI counts, and parsed STEP metadata.

Measurement kinds are distance, thickness, draft, ray, ray_grid, point_analysis, section, and continuity. Lengths come back in the file's declared unit, labelled on every result, so an inch model stays in inches and nothing has to be converted by hand. Angles are in degrees.

Why the numbers hold up

  • Computed by Open CASCADE, not guessed. The same file and the same query return the same numbers, every time.
  • Revision-bound and self-verifying. Every result carries the entity IDs and the SHA-256 revision it came from, and stale IDs are rejected when a file changes underneath a session — so an answer can never be attached to the wrong geometry.
  • Reads the model's own callouts. describe_pmi reports the dimensions, geometric tolerances, and datums a file declares, each bound to the entities it applies to, so declared requirements can be checked against the geometry.
  • Local and private. It runs over stdio and reads files by path. It is read-only and never uploads or writes your CAD data.

Requirements

  • Node.js 26+
  • Windows x64, macOS ARM64 (Apple Silicon), or Linux x64
  • STEP files, as exported by SolidWorks, Fusion 360, Onshape, FreeCAD, CATIA, or any other CAD system

FAQ

Does it need CAD software installed? No. It reads STEP files directly, so it works on a machine without a CAD application or license.

Do my files leave my machine? No. The server runs locally over stdio and reads files by path. It is read-only and never writes to your CAD data.

How is this different from asking an assistant to look at a screenshot? Measurements are computed from the model's B-rep geometry by Open CASCADE, so the same file and query return the same numbers. Each result also carries the entity IDs and revision it came from.

Development

Source setup, checks, packaging, and releases are in docs/DEVELOPMENT.md. The server targets Windows x64, macOS ARM64, and Linux x64, and builds its native sidecar from the pinned OCCT revision.

Packaging

npm pack builds first and includes the compiled server, the native sidecar, this README, and the third-party notices. Tests and source maps are excluded. Install the tarball to check the cad-mcp-server executable with a compatible MCP client.

Documentation

License

MIT. Third-party licenses: THIRD_PARTY_NOTICES.md.

Source: README.md at commit f9ac1b1

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

4
  1. v0.8.1LatestOct 19, 2026
  2. v0.7.1Oct 5, 2026
  3. v0.7.0Oct 5, 2026
  4. v0.6.1Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts