Skip to main content

zenve3d-mcp

Model parametric CAD parts for Zenve 3D from Claude, or from any other MCP client.

Ask for a box and you get a project — a sketch, its dimensions, an extrude, a timeline you can go back and edit — not a mesh someone has to live with.

Install

// Claude Desktop ▸ Settings ▸ Developer ▸ Edit Config
{
  "mcpServers": {
    "zenve3d": { "command": "uvx", "args": ["zenve3d-mcp"] }
  }
}

macOS on Apple silicon or Linux on x86_64, and nothing else installed: the wheel carries the engine. Zenve 3D itself is a separate install from the App Store — you need it to open what the agent builds, but not to build it.

The four tools

Tool What it does
guide The complete .zcmd language reference. The agent reads it once, then writes parts.
run Runs a script through the real engine and reports what it saw — regions, faces, edges, solver state, the body table, every feature's state. Saves the script (and, on request, an STL) into ~/Downloads/Zenve.
describe The same report for the project you have open in the app, so the agent can work from what you already have.
apply Edits that project, live in your viewport, as one undoable step.

run is the loop, and the loop is the point. A script cannot predict the enumerations a kernel produces — a plate with a hole is two regions — so the agent writes a few lines, runs them, reads back what exists, and writes the next few against the truth instead of a guess. A refusal names its line and still prints everything before it, which is usually what says what the right answer was.

Each call gets a fresh engine and nothing is remembered between them. The script is the state: to change a part, the agent sends it again with the change in it.

Getting the part into the app

The finished script is already on disk: run saves it as ~/Downloads/Zenve/<name>.zcmd and names the path in what it reports back. One file per part, rewritten on every run, so what is in the folder at the end is the finished thing rather than a dozen numbered attempts. Open it with File ▸ New from Script… in Zenve 3D. On iPad, send the file over AirDrop or through Files and import it there.

Ask for an STL alongside it once the part is right, and it lands beside the script ready to slice.

Set ZENVE_OUTPUT_DIR to put those files somewhere else.

Working on the project you have open

Turn on AI mode — the lock beside the panel buttons — and the agent can read your open project with describe and edit it with apply. The edit appears in the viewport straight away and ⌘Z takes the whole thing back, however many commands were in it.

The lock is the whole contract. It stops the app's own editing while an agent is working, which is what keeps the part it is picking faces and edges off from moving underneath it, and it is what puts the app's pointer to the open project where this server can find it. Turn it off and both tools say so instead of guessing.

Nothing lands silently. apply refuses if the lock is off or if the document has moved since the agent last read it, and if the app does not take the edit within ten seconds it withdraws it and says which of the three likely reasons to check.

The projects folder is ~/zenve3d by default — the one the app asks you to pick on first launch. If you picked somewhere else, set ZENVE_SESSION_DIR to it.

Building from a checkout

./scripts/build-zenve3d.sh     # stages the binary and the guide
cd clients/mcp && uv build --wheel

The binary is built for the machine you run this on — macOS arm64 or Linux x86_64 — against the static OCCT slice in prebuilt/occt/, so it depends on nothing but the OS — checked by the build script rather than assumed. The release lane builds both wheels and publishes them together.

Release files for zenve3d-mcp 0.11.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for zenve3d-mcp 0.11.4
File Interpreter ABI Platform
zenve3d_mcp-0.11.4-py3-none-manylinux_2_38_x86_64.whl Python 3 none Linux glibc 2.38+ x86-64 Details
zenve3d_mcp-0.11.4-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details

Total release size: 29.2 MB

Release files / zenve3d_mcp-0.11.4-py3-none-manylinux_2_38_x86_64.whl

Download URL zenve3d_mcp-0.11.4-py3-none-manylinux_2_38_x86_64.whl
Size 16.4 MB
Tags Linux glibc 2.38+ x86-64 Python 3
SHA-256 checksum
How to use checksums
32b914f1a7c6ad0bbd907e78c0c82b60e114773e1481611c82517ee9e5bde021
BLAKE2b-256 checksum
How to use checksums
7bf8ab4546c6514064a1b61dc4b13cc7a46b2ed13da73e76890aec2ba270a84a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / zenve3d_mcp-0.11.4-py3-none-macosx_14_0_arm64.whl

Download URL zenve3d_mcp-0.11.4-py3-none-macosx_14_0_arm64.whl
Size 12.8 MB
Tags Python 3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e440ac3a50a399c728bfcb4f7e28a3a6b1e17f5f266d1e5dbc571d1ea87fd0ce
BLAKE2b-256 checksum
How to use checksums
6b5679cc4d9581ffc39504f3894eb8a992d54e14b61532f344546cfac670801e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.11.4 This release

2 release files

0.11.3

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.3

1 release file

0.6.1

1 release file

0.5.1

1 release file

0.4.1

1 release file

0.4.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page