
ParCAD
io.github.ierehon1905由 GitHub 账号 ierehon1905 发布v0.0.15更新于 Nov 7, 2026
Parametric CAD as code: model 3D-printable parts on an exact B-rep kernel, measured.
概览
ParCAD 让助手用代码编写参数化 CAD 脚本,在精确 B-rep 内核上构建小型机械零件、进行测量并导出 STEP。
- 可以做什么
- 用代码 DSL 编写并求值参数化零件脚本,边和面的选择器是描述式的,数量不符会直接报错
- 通过 OpenCASCADE 构建精确 B-rep 几何,支持并集、切除、圆角与过渡,并可导出 STEP
- 测量零件:体积、壁厚、两个孔是否真正相交等经过校验的几何数据
- 生成便于阅读的视图:统一比例的多视图、内部剖切,以及按标签着色的表面
- 一次调用即可读取整套语言文档,也可在命令行调用同名工具
- 适用场景
- 适合让助手设计或迭代支架、法兰、歧管、散热器等小型机加工或 3D 打印零件,并通过测量而非看图来验证结果。
- 运行要求
- 需要本地安装(macOS 或 Linux 上的 Homebrew、桌面应用或 CLI 压缩包),或使用托管端点并在 Authorization 请求头中提供 bearer 令牌。本地使用无需账号;通过 URL 连接本地主机时需该主机正在运行。从源码构建需要 Rust、Bun、CMake、C++ 编译器、patch 和 Python 3.11 以上。
安装
在 SourceWeft 中
- 打开 控制台中的 ParCAD,将其添加到工作区。
- 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.ierehon1905%2Fparcad/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"parcad": {
"type": "http",
"url": "https://mcp.parcad.dev/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}README
ParCAD
Parametric CAD you write as code — for people, and for agents.
Status: 0.0.15, experimental. Made by Maging Studio, and the DSL still moves. Every operation is checked against measured geometry (eval/cases/), but none of it has had the years of abuse that make a CAD kernel trustworthy. Measure a part before you machine it.
Start here: Getting started, five minutes in a browser tab.
[A bracket built by the script below, in the parcad viewport]
You never name an edge by index. You describe it — the circular rims that open onto the top face — and the description still works after you move a hole.
One graph, one exact kernel
Your script builds a small JSON graph, and an exact kernel reads it — OpenCASCADE: real faces and edges, STEP export, and a refusal rather than an approximation when it cannot do something faithfully. The graph is what keeps today's script working after tomorrow's kernel swap.
Every kernel returns valid-looking wrong answers somewhere, OpenCASCADE and NVIDIA's newly open SMLIB included. ParCAD carries five patches to OpenCASCADE 8.0.1 for the cases its parts ran into, and checks each build itself after the kernel reports success.
[The same manifold block cut open on a plane, cut faces in orange]
Parts get measured, not assumed — volume, wall thickness, whether two bores actually meet. An agent gets the same numbers over MCP, with no screen to look at.
And when it does look, it gets pictures made for reading: views that share one scale, sections through the inside, and every surface coloured by the tag that built it.
[What an agent is shown: four views at one scale, two sections, and faces coloured by tag]
It is aimed at small mechanical parts — brackets, flanges, manifolds, heat sinks, the things you print or machine one of. examples/ has thirty-one.
Why not CadQuery, build123d or OpenSCAD
Those are good, and much older. Three differences. Selectors are descriptive and
checked — .expect({ count: 4 }) turns a selector that silently started
matching three edges into a build error, which is the failure mode that makes
code-CAD fragile. What you see, what you measure and what you export come off
one exact B-rep, so the preview and the STEP file are one model, not two
projects. And measurement is an output rather than something you eyeball,
which is what makes the MCP surface real instead of a wrapper.
Install it
With Homebrew, on macOS or Linux (Linux from 0.0.6), which installs the host and no window:
Then add it to your agent, which starts parcad when it
needs it. To use the app yourself, run parcad serve and open
http://127.0.0.1:4242 — the whole app is there, in your browser.
Nothing on the Homebrew path is quarantined. The same parcad is the headless driver
(parcad part.js), and a client of the running host: parcad tools
lists what an agent can call over MCP and parcad call <tool> calls it from
a shell.
Or the desktop app, from Releases:
Each platform's build measures the whole eval corpus with the worker it ships
before it is uploaded. The Mac app is not notarised yet, so macOS refuses it the
first time: run xattr -dr com.apple.quarantine /Applications/ParCAD.app once.
The Windows installer is not signed yet: SmartScreen warns, More info, then
Run anyway. Every
platform also has a parcad-cli-* archive — parcad, its worker beside it and
the seed parts — for running the host without a window. Keep the two binaries
together.
Build it
macOS, Linux and Windows. Day-to-day development is on macOS; the release workflow builds and measures on all three, and Linux on arm64 builds too.
You need Rust (the toolchain is pinned; rustup honours it),
Bun, CMake, a C++ compiler, patch(1) and Python 3.11+. A
full build wants around 20 GB free. On Linux the window also needs WebKitGTK
(libwebkit2gtk-4.1-dev), and libclang-dev for the script sandbox's
bindings. On Windows, use MSVC (Visual Studio Build Tools) and run the scripts
from Git Bash, which also provides patch.
cargo build produces a dev app whatever the profile — Tauri's switch is the
custom-protocol feature, not --release — so launch the window through tauri dev or tauri build, never the bare binary. And a root cargo build
deliberately does not build OpenCASCADE; tools/build-worker.sh does.
Or headless:
The app serves its UI and an MCP endpoint on http://127.0.0.1:4242. Parts live
in ~/Library/Application Support/parcad as plain .js files you can edit anywhere.
Use it from an agent
With nothing installed: open ParCAD web, choose Connect your AI, and give your client the link it shows — Claude Code, the Claude app as a custom connector, Cursor, VS Code, or any client that connects to a URL. The tab is the server, with the same tools as the app, and it has to stay open; a relay passes the messages and keeps none (relay/README.md).
Every route below runs the same parcad on your machine: the one Homebrew
installs, which the desktop app carries too. Install either first.
As a plugin, which brings the MCP server and a skill that says how to use it:
In Codex, which finds parcad on PATH, so the Homebrew install:
In Cursor or VS Code, with parcad on PATH:
[Install in Cursor] [Install in VS Code]
Or add the server by hand, in any client that launches stdio servers:
parcad mcp relays to the app or parcad serve when one is running, so the
agent shares the live session with your window. When none is running it hosts
one itself, for as long as the client stays connected. A client that connects
by URL can use http://127.0.0.1:4242/mcp directly, but only while a host is
up; brew services start parcad keeps one up from login.
The same tools are on the command line, with the same names and arguments —
parcad tools lists them, parcad call evaluate_part --set [email protected]
calls one — and they work whether or not the app is open.
ParCAD is also in the official MCP Registry
as io.github.ierehon1905/parcad, so clients that browse it can install it by
that name.
Start the agent on the read_docs tool, which hands over the whole language in
one call.
More
- docs/GETTING_STARTED.md — five minutes, from the browser to your own agent
- examples/ — thirty-one parts, from a bracket to a hydraulic manifold
- CONTRIBUTING.md — the gate, and what a change has to satisfy
- docs/ARCHITECTURE.md — how the pieces fit, and why
- docs/GOTCHAS.md — traps that have already cost a day each
- docs/NEXT.md — what's missing, in order
Privacy
ParCAD collects nothing about you: no accounts, no analytics, no telemetry. PRIVACY.md lists everything that touches the network.
Licensing
ParCAD is free software under the GNU AGPL-3.0 or later: use it,
change it and share it, but a modified ParCAD you distribute or run as a service
must publish its source too. The parts you make are yours — part scripts and
everything ParCAD exports from them can be licensed however you like, and the
seed parts in examples/ are MIT. Releases through v0.0.9 stay MIT or
Apache-2.0.
Built on components under other licences: OpenCASCADE
and its bindings under vendor/ are LGPL-2.1, and one file of our own,
crates/parcad-core/src/occlusion.rs, is MPL-2.0 because it was ported from
fidget. Building from source is
unencumbered; redistributing a binary carries obligations —
NOTICE.md spells them out, including how to swap in your own
OpenCASCADE.
This software makes use of facilities provided by the Open CASCADE Technology software.
来源:README.md,提交 48a4523
工具
0版本历史
7- v0.0.15最新Nov 7, 2026
- v0.0.13Oct 13, 2026
- v0.0.11Sep 27, 2026
- v0.0.9Sep 18, 2026
- v0.0.8Sep 18, 2026
- v0.0.7Sep 17, 2026
- v0.0.6Sep 16, 2026
评分
已满足适用检查项的 60%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分