CS

chisomobanzi/serpentine3d

Developer tools
121 stars 18 forks Quality 69 Trend 40MIT

Open-source NURBS surface modeller — a Rhino-style freeform modeller on the OpenCASCADE kernel, with AI-native MCP integration

Overview

Download for Linux · Windows · macOS · Website Serpentine3D (serp3d) is a freeform surface modeller in the spirit of Rhinoceros 3D — BREP/NURBS geometry on the OpenCASCADE kernel, not meshes. It is built for set designers, architects, and industrial designers who want a genuine Rhino-style workflow: a command line that prompts for input, layers, object snaps to a construction plane, STEP/OBJ/FBX interchange, and a dark, focused interface. The whole modelling engine also runs headless, so the same geometry you build by hand can be scripted, batch-processed, or driven by an AI. Named after the serpentine stone of Zimbabwean Shona sculpture, and the S-curve at the heart of NURBS geometry. - FreeCAD is parametric solid CAD; Blender is mesh-based. Serpentine3D fills the freeform surface-modelling gap — on Linux, Windows and macOS alike. - The bundled MCP server lets Claude (or any MCP client) see your viewport, create geometry, run any command, and manage the scene.

README

https://github.com/user-attachments/assets/837002ba-7780-49d3-b966-71d6469ba884

Made in Serpentine3D

What it does

  • Exact geometry. NURBS curves, surfaces and solids on the OpenCASCADE kernel, not meshes. Rhino .3dm, STEP, DXF, SVG, OBJ, FBX and STL in and out; glTF, USD and 3MF out; E57 point clouds in.
  • A command line that speaks Rhino. loft, sweep2, filletedge, booleanunion and more than 200 others, with Rhino’s aliases, object snaps, layers and a gumball that pushes faces and rounds edges by hand.
  • Drawings from the model. A4 to A0 sheets with live detail views, hidden-line views, dimensions, hatching and title blocks, printed to vector PDF.
  • An assistant that can see. Describe a change and it runs the commands, looks at the viewport to check its work and fixes its own mistakes, all undoable. Use Claude, a ChatGPT account, an OpenAI key, or a local, open-weight model.
  • Headless. Script it in the built-in editor, batch it with serp3d-batch, or let any MCP client drive a live session.
  • Checks before you build. Zebra stripes, curvature, draft analysis and printcheck for 3D printing.

Download

Platform Download Size Notes
Linux Serpentine3D-x86_64.AppImage 509 MB Make it executable and run it. Nothing to install.
Windows Serpentine3D-Setup-x86_64.exe 119 MB Unsigned for now: choose More info, then Run anyway.
macOS Serpentine3D-0.12.2-arm64.dmg 268 MB Apple Silicon, macOS 14 or newer. Unsigned for now: right-click the app and choose Open.

Each build carries the OpenCASCADE kernel and its own Python, and needs a GPU with OpenGL 3.3. Headless use works anywhere. Release notes

Script it

# make_part.py, run with: serp3d-batch make_part.py crate.step
box = doc.add(geo.make_box((0, 0, 0), 100, 100, 100), name="Crate")
doc.run("filletedge", ["Crate", "", "5"])
doc.export(args[0] if args else "crate.step")

doc.run drives any command by answering its prompts. More in the scripting guide and the assistant and MCP guide.

Documentation

Build from source

git clone https://github.com/chisomobanzi/Serpentine3D && cd Serpentine3D
python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/serp3d        # the app
.venv/bin/pytest        # the tests

Python 3.10 or later. The kernel installs as pip wheels (cadquery-ocp), with no conda and no system packages, on Linux, Windows and macOS alike.

Support

Serpentine3D is free and always will be: no subscription, no licence server, no “upgrade to Pro”. One person builds it between other work. If it is useful to you, a small contribution on Ko-fi keeps it moving.

Bug reports, sample files and documentation fixes are worth as much and cost nothing: see CONTRIBUTING.md, and Not here yet for what is missing.

Named after the serpentine stone of Zimbabwean Shona sculpture, and the S-curve at the heart of NURBS geometry. MIT licensed.

View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →