// CAD Integration

Memory for Onshape.

Your agent stops re-asking why a fillet is 2mm. Design decisions, tolerances, naming conventions, stored once, recalled across sessions.

// The Problem

Agents forget. Every single session.

CAD work is accumulated intent. An agent without persistent memory cannot participate in that accumulation.

01
RE-EXPLAIN

The re-explanation loop

Every new session, the engineer re-explains the design context. "The M4 bolt is there because plate-A has 5mm clearance." The agent forgets overnight. The engineer types it again.

02
INTENT

Lost design intent

Why is that fillet 2mm? Why is the wall 3.5mm thick? The decision made sense three weeks ago. Now it is tribal knowledge inside a single engineer's head - or worse, gone.

03
NAMING

Vanishing naming conventions

plate-A-v3-FINAL-v2.stp. The agent invents new part names each session. Parametric references break. Assembly mates lose their targets. Two hours of rework for a name.

// Who This Is For

Built for the engineer who works with agents.

Two CAD platforms. Two agent runtimes. One shared problem: design context that evaporates between sessions.

OnshapeClaude Code

Mechanical engineer

Works in cloud-based assemblies with parametric constraints and FeatureScript macros. Iterates fast across sessions.

Onshape + Claude Code
FreeCADCursor

Open-source contributor

Writes Python macros, builds reusable part libraries, and contributes to shared CAD workflows with strict naming discipline.

FreeCAD + Cursor
// How It Works

Four steps. No new workflow.

Works alongside any MCP client: Claude Desktop, Cursor, or any IDE with MCP support. Onshape and FreeCAD both covered.

terminal
npm install vitaliscad
# CAD tools ship in the main package
// See It Work

Real conversation. Three days apart.

Same agent. Same project. 3 days later.

Session one: engineer explains the M4 choice. Session two: agent answers without being told again. That is the entire value proposition.

Cursor - bracket-assembly.onshape
Session - 2026-04-27
Engineer
Use M4 bolts for the bracket mount. 5mm clearance on plate-A so anything smaller will have play.
Agent
record_decision called. Stored: "M4 bolts - 5mm clearance constraint on plate-A." Tagged: fastener, constraint.
3 days later
Session - 2026-04-30
Engineer
Why are we using M4 bolts on the bracket mount?
Agent
recall_part_intent returned: "M4 bolts - 5mm clearance constraint on plate-A."

M4 because plate-A has 5mm clearance. Anything smaller will have play in the joint.
// Trust Model

You control every memory. The agent does not.

The agent stores what you tell it, tagged with how it was created. You see the source on every recall. You can edit, delete, or audit anything in your terminal.

See everything stored

List every memory in a table: id, part-id, decision, who created it, date.

audit
$ vitaliscad onshape list

Fix or delete anything wrong

The agent has no veto. You always win.

control
$ vitaliscad onshape edit <id>
$ vitaliscad onshape delete <id>

Source-tagged on every recall

You see who said it. Trust accordingly.

provenance
[user-confirmed]   M3 screws - M4 holes too tight after milling
[agent-inferred]   datum A is the milled face
// Where Memory Lives

Three ways to store memory. Pick the one that fits.

Memory persists across sessions and fades naturally if unused. Geometry never leaves your CAD tool.

01
// Zero dependencies

Local

SQLite file on your machine. No accounts. Fully offline.

Best for

Trying it out. Offline work. Sensitive prototypes.

02
// Managed by vitaliscad

Hosted

Memory lives in our managed Supabase. We handle infrastructure, backups, and scaling.

Best for

Production use. You do not want to run infra.

03
// Your own Supabase

Self-hosted

Your own Supabase project. You own the database, the keys, the data.

Best for

Compliance. Large teams. Sensitive enterprise data.

// Agent Integration

Works with any MCP-compatible runtime.

Drop into your existing IDE or agent runner. No new orchestration layer. The agent receives three tools and knows what to do with them.

The Model Context Protocol is open. If your agent speaks MCP, it speaks Vitalis.

// Compatible with
Claude Desktop
Cursor
Claude Code
OpenClaw
DeerFlow
Any MCP runtime
// Tools the agent receives
// Get Started

Give your CAD agent a brain.

CAD support ships in the same vitaliscad package. One install, and your agent remembers every design decision across sessions.

terminal
$ npm install vitaliscad
# CAD tools ship in the main package
# Onshape and FreeCAD supported out of the box