mcpField
O
Ottogeo — CAD MCP Server

Ottogeo — CAD MCP Server

Local
github.comMedia & Design7Updated 3d ago

About Ottogeo — CAD MCP Server

Ottogeo is a local MCP server for engineers who need measurements and revision checks on STEP CAD files. It computes results from B-rep geometry with Open CASCADE and ties them to model entities and a revision hash.

Key features

  1. 01Inspect dimensions, volume, area, and structure
  2. 02Find faces, edges, vertices, and bodies
  3. 03Measure thickness, clearance, draft, and sections
  4. 04Read declared dimensions and tolerances
  5. 05Compare STEP revisions and topology

Use cases

  1. 01Check a part’s overall size and volume
  2. 02Measure clearance between a hole and a wall
  3. 03Review draft and wall thickness
  4. 04Compare two CAD revisions

MCP support

The MCP server exposes CAD inspection, entity search, measurement, PMI description, and revision comparison tools to MCP clients. It runs locally over stdio and reads STEP files by path.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ottonic-cad": {
"command": "npx",
"args": [
"-y",
"cad-mcp-server"
]
}
}
}
Run commandnpx -y cad-mcp-server

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmcad-mcp-server0.10.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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:

{
  "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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.