
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 分