OCCTMCP documentation
An MCP server that gives LLMs the ability to author, inspect, measure and iterate on 3D CAD models with OpenCASCADE via the OCCTSwift family. The LLM picks a typed tool; OCCTMCP runs the OCCT operation in-process and writes BREP / STEP / PNG + a manifest.json scene the viewer auto-reloads.
// boolean_op — subtract one scene body from another
{ "op": "subtract", "aBodyId": "block", "bBodyId": "pin", "outputBodyId": "result" }
Two interchangeable servers read/write the same scene:
- Swift (
occtmcp-server) — the primary, in-process server. 59 typed tools. macOS 15+. - Node (
dist/index.js) — shells out to theocctkitCLI. 37-tool subset (selection / remap / annotations / reconstruction are Swift-only). Runs anywhere Node 18+ does.
For geometry the typed tools don’t cover, the LLM falls back to execute_script: arbitrary Swift against the full OCCTSwift API, compiled and run in-process.
Cookbook
Task-oriented recipes — prose plus the actual tool calls (arguments + example results), chained into real workflows, with render_preview figures. The Cookbook index lists all areas:
Authoring · Scene & appearance · Construction · Inspection · Measurement & verification · Selection & remap · Annotations & preview · Import / export · Meshing & drawings · Healing · Topology graph · Reconstruction
Reference
- Tool Reference — per-tool-family detail: every tool’s JSON-Schema parameters, returns, an example call + result, Node availability, and the OCCTSwift / occtkit behind it.
- README tool table — the one-line catalog.
Guides & concepts
- Getting started — install, wire up
.mcp.json, make your first call. - Architecture — the two servers, the manifest scene model, history & remap, the layered OCCTSwift ecosystem.
Project
- Source & issues: github.com/gsdali/OCCTMCP
- Part of the OCCTSwift ecosystem. SemVer-stable since v1.0.0.