CADrs – native open source onshape clone in Rust and occt Developer rvdende released cadrs, an open-source parametric CAD application written in Rust with a Bevy UI and the OpenCASCADE modeling kernel, following Onshape's sketch-part-assembly-drawing workflow. The project is described as early and moving fast, with file formats that may still change, and it includes an MCP server that lets AI assistants such as Claude Code, Claude Desktop and Cursor drive the running app over Streamable HTTP at http://127.0.0.1:7680/mcp on loopback only. The app covers sketching with a least-squares constraint solver, part features including fillet, shell, draft and ISO/ANSI hole tables, assemblies with mates and bills of materials, drawings, linear static FEA, PCB Studio with IDF import and export, and STEP, IGES and STL import and export. A parametric, feature-based CAD app written in Rust , with a Bevy UI and an OpenCASCADE modeling kernel. Its workflow follows Onshape's: sketch on a plane, constrain and dimension, build parts from features, put them together in assemblies, and make drawings from them. Status: early and moving fast. cadrs works through the Onshape Learning Center's CAD Basics courses exercise by exercise, but it is not yet a finished tool. Expect rough edges, and file formats that may still change. - Sketching : lines, rectangles, circles, arcs, splines, Bézier curves, ellipses, polygons, slots, points and text. Snapping and inference to points, midpoints, centres, intersections, alignments and part edges. Geometric constraints and driving dimensions, with a least-squares solver that keeps the sketch consistent while you drag. Trim, extend, split, offset, mirror, patterns, and Use project of part edges. - Part Studios : extrude, revolve, sweep, loft, fillet, chamfer, shell, draft, hole counterbore, countersink, tapped; ISO and ANSI tables , linear and circular patterns, mirror, booleans, Transform, planes, mate connectors, thicken, fill and helix. Every feature can be edited later, and the part rebuilds. - Assemblies : instances, fastened, revolute, slider, cylindrical, planar and other mates, a triad to move parts, mate connectors, exploded views and a bill of materials. - Drawings : standard and projected views, sections, dimensions, annotations, callouts and BOM tables. - More : versions and history, derived parts and linked documents, a variable table and expressions, measurement and mass properties, linear static simulation FEA , a path-traced renderer, PCB Studio with IDF import and export, and STEP, IGES and STL import and export. - Drag and drop : drop SVG, EPS, PDF, DXF or DWG drawings onto a Part Studio or an open sketch to get editable sketch curves, pictures to place them, and STEP, IGES or STL models to import them EPS and PDF need Ghostscript and Poppler installed . - Onshape import : bring your own Onshape documents across with their feature history instead of dead STEP geometry tools/onshape https://github.com/rvdende/cadrs/blob/main/tools/onshape/README.md . From sketch to part to PCB, in one document. Watch the 90-second demo https://youtu.be/qT1FKZqUAxA . You need a stable Rust toolchain rustup https://rustup.rs , CMake and a C++ compiler. The first build compiles OpenCASCADE from source, which takes several minutes; later builds are incremental. On Debian or Ubuntu, Bevy also needs these: sudo apt install cmake g++ pkg-config libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev Then: git clone https://github.com/rvdende/cadrs cd cadrs cargo run --release On macOS, CMake from Homebrew brew install cmake and the Xcode command line tools xcode-select --install are enough; it builds and runs natively on Apple Silicon Metal . Documents are stored in your platform's data folder on Linux, ~/.local/share/cadrs/ . A Windows build can be cross-compiled from Linux with MinGW: cargo build --release --target x86 64-pc-windows-gnu . The mouse and keys follow Onshape's: right-drag orbits, middle-drag pans, and the wheel zooms toward the cursor. Shift+S starts a sketch, Shift+E an extrude, N views normal to the sketch plane, Shift+7 gives the isometric view, and F zooms to fit. Shift+/ or Help › Keyboard shortcuts lists the rest. cadrs has an MCP server Model Context Protocol , so an AI assistant on your machine Claude Code, Claude Desktop, Cursor, … can drive the running app: create documents, draw sketches, add and edit features, read back faces and edges, export STEP and take screenshots. Turn it on in Preferences › AI assistants MCP ; the app then serves Streamable HTTP on http://127.0.0.1:7680/mcp loopback only; the port is a preference . Every tool call runs through the command layer, so the assistant's steps show in the feature list and undo like your own. The repository's .mcp.json registers the server with Claude Code for this project approve it with /mcp the first time; claude mcp list shows whether it is connected . Elsewhere, claude mcp add --transport http cadrs http://127.0.0.1:7680/mcp does the same, and other clients take the URL in their MCP settings. The tools: create document , open document and get document ; add part studio ; add sketch rectangles, circles, polygons, lines and arcs on a default plane, a part face or a Plane feature ; extrude ; add feature , edit feature , get feature and delete feature for any feature type from JSON; list faces and list edges for the references fillets, chamfers and sketches take; import step and export step ; screenshot ; run scenario for scripted UI steps; and undo . crates/cadrs mcp is the server and the tools' schemas; crates/cadrs app/src/mcp.rs runs the calls on the app. cargo test --workspace all tests cargo clippy --workspace --all-targets lints cargo run -- --headless --scenario