CAD FOR AI ASSISTANTSModel Context Protocol (MCP)

Give your AI assistant real CAD — safely.

The Model Context Protocol (MCP) lets AI assistants use outside tools. Connected to KYAMOS computer-aided design (CAD), an assistant builds parts using OpenCASCADE, a software engine that constructs and measures engineering shapes. It gets back measured volume, size and shape validity. Its code runs in a sandbox: an isolated area with restricted access.

A real session, recorded

Below is an actual exchange with the KYAMOS CAD server, recorded 2026-09-28 23:26 exactly as an AI assistant would make it. The results are the server’s own replies — nothing is written by hand.

1What can you do?list_tools
  • list_capabilities — List validated CAD capabilities from the Verified Capability Registry.
  • run_recipe — Build a validated CAD recipe by name.
  • execute_opencascade_code — Run pythonocc-core Python inside the isolated sandbox (no network, host FS invisible, CPU/memory/time limited).
  • list_occ_api — Browse the OpenCASCADE API catalogue (the version-matched manual).
  • promote_occ_symbol — Promote a discovered OCC command to 'validated' by exercising it.
2Which parts are verified?list_capabilities

10 validated recipes: array benches · boolean vent cut · duct run · hollow box · l bracket · make cylinder · make enclosure · pipe segment · plate with holes · stacked trays

3Build an L-bracket at my dimensionsrun_recipe

Asked for l bracket with depth 120 mm, leg 150 mm, thickness 12 mm.

Server measured: 1 solid, valid, volume 414,720 mm³, size 120 × 150 × 150 mm.

Checked by hand: two 120 × 150 × 12 legs minus their 120 × 12 × 12 overlap = 414,720 mm³. ✓

4Run my own CAD codeexecute_opencascade_code
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox, BRepPrimAPI_MakeCylinder
from OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Cut
from OCC.Core.GProp import GProp_GProps
from OCC.Core.BRepGProp import brepgprop
from OCC.Core.gp import gp_Ax2, gp_Pnt, gp_Dir
plate = BRepPrimAPI_MakeBox(100.0, 60.0, 8.0).Shape()
hole = BRepPrimAPI_MakeCylinder(gp_Ax2(gp_Pnt(50, 30, -1), gp_Dir(0, 0, 1)), 12.0, 10.0).Shape()
part = BRepAlgoAPI_Cut(plate, hole).Shape()
p = GProp_GProps(); brepgprop.VolumeProperties(part, p)
print("volume_mm3=%.1f" % p.Mass())

Sandbox output: volume_mm3=44380.9 (0.9 s)

Checked by hand: 100 × 60 × 8 − π × 12² × 8 = 44,380.9 mm³. ✓

5…and if the code tries something it shouldn’texecute_opencascade_code
import socket
try:
    socket.create_connection(("1.1.1.1", 80), timeout=3); print("internet: REACHED")
except Exception as e:
    print("internet: blocked (%s)" % type(e).__name__)
for f in ["id_rsa", "/etc/shadow", "server.py"]:
    try:
        open(f).read(1); print("read", f, ": READABLE")
    except Exception as e:
        print("read", f, ": blocked (%s)" % type(e).__name__)

Sandbox output:

internet: blocked (OSError)
read id_rsa : blocked (FileNotFoundError)
read /etc/shadow : blocked (FileNotFoundError)
read server.py : blocked (FileNotFoundError)

No internet, no access to the server’s files, keys or source code. The sandbox only sees the CAD library it needs, and anything it writes is thrown away.

6What does the CAD kernel offer?list_occ_api

A searchable manual of the kernel: 5,482 commands in 308 modules. 58 are marked “validated” — actually exercised by a passing test; the rest are listed as discovered, not claimed to work.

Measured, not guessed

Every part comes back with its kernel-measured volume, size and validity, so the assistant can check its own work.

Locked-down execution

Code written by the AI runs with no network, no view of the host’s files, and strict time and memory limits.

Standard protocol

MCP works with Claude and other MCP-capable assistants and agent frameworks.

Connect your assistant

The CAD server runs on KYAMOS infrastructure and is available to partners by arrangement. Tell us which assistant or agent framework you use and we will set up access.

Use this on your engineering problem

For teams connecting AI assistants to engineering design tools. Tell us about your geometry, inputs and the decision you need to make.

Pricing: quoted per project. Scope, computing needs, validation checks and support determine the quote. Contact us to agree access and deliverables before work starts.

Demonstrations do not certify a production design.

Discuss your project →Engineering terms explained