mcpField
P
ParCAD

ParCAD

本地服务
github.com媒体与设计105 天前更新

关于 ParCAD

ParCAD 是面向用户和 Agent 的代码化参数 CAD 工具,用于设计小型机械零件。它以 OpenCASCADE 精确 B-rep 为基础,将几何测量、预览和 STEP 导出关联到同一模型,并通过描述性选择器检查操作。

主要功能

  1. 01以代码构建参数化零件
  2. 02基于 OpenCASCADE 精确 B-rep 内核
  3. 03按几何特征选择并验证边与面
  4. 04测量体积、壁厚及孔洞关系
  5. 05生成剖面和按标签着色的视图
  6. 06导出 STEP 文件

适用场景

  1. 01设计可打印或加工的机械零件
  2. 02检查孔位、壁厚和几何关系
  3. 03让 Agent 通过测量数据评估零件
  4. 04从同一模型生成预览和 STEP 文件

MCP 相关

ParCAD 提供用于评估零件、读取文档等操作的 MCP 工具。Agent 可连接正在运行的应用或服务,也可由 `parcad mcp` 在客户端连接期间自行托管;同一工具也可通过命令行调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbparcad-mcp-aarch64-apple-darwin.mcpb
mcpbparcad-mcp-x86_64-unknown-linux-gnu.mcpb
mcpbparcad-mcp-x86_64-pc-windows-msvc.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ParCAD

以代码编写的参数化 CAD——面向人类和 Agent。

状态:0.0.13,实验性。 由 Maging Studio 制作,DSL 仍在不断变化。每项操作都经过实测几何验证(eval/cases/),但它们还没有经历多年实际使用的考验,而这正是让 CAD 内核值得信赖所必需的。在加工零件前,请先测量。

从这里开始:入门指南,在浏览器标签页中花五分钟即可上手。

由下方脚本构建、显示在 parcad 视口中的支架

const plate = box(80, 60, 8).tag("plate");
const wall = box(8, 60, 40).at(-36, 0, 20).tag("wall");

const body = union(plate, wall, { blend: 6 });          // the blend is the fillet
const drilled = body.cut(...grid(2, 2, 36, 40).map(([x, y]) => cylinder(3, 32).at(x, y)));

return drilled
  .edges({ curve: "circle", role: "hole", adjacentTo: { faceNormal: "+z" } })
  .expect({ count: 4 })                                  // a build error, not a surprise
  .fillet(0.8);

你永远不必通过索引来指定边。只需描述它——与顶面相交的圆形边缘——即使之后移动孔洞,这个描述仍然有效。

倒圆角、倒角、融合并集、相交、放样、扫掠、螺旋、旋转、空壳、拔模、极轴阵列和镜像,均由该内核精确构建

一张图,一个精确内核

你的脚本会构建一个小型 JSON 图,由精确内核读取——OpenCASCADE:真实的面和边、STEP 导出;无法忠实完成操作时会拒绝执行,而非提供近似结果。这张图能让今天的脚本在明天更换内核后继续运行。

每种内核总会在某些情况下返回看似有效、实则错误的答案,OpenCASCADE 和新近开源的 NVIDIA SMLIB 也不例外。对于零件遇到的情况,ParCAD 为 OpenCASCADE 8.0.1 应用了五个补丁,并会在内核报告成功后自行检查每次构建。

在原版 OpenCASCADE 8.0.1、NVIDIA SMLIB 1.0 和 ParCAD 上的三个案例:球体上融合的十六颗珠子、与镜像体的并集,以及圆盘与同样宽的板相交处的圆角

同一个歧管块沿平面剖开,切面以橙色显示

零件会经过测量,而非凭空假定——包括体积、壁厚,以及两个钻孔是否真正连通。Agent 通过 MCP 获取相同数据,无需查看屏幕。

当它查看时,看到的也是专为阅读而制作的图片:共享相同缩放比例的视图、展示内部结构的剖面,以及按构建标签着色的每个表面。

Agent 看到的内容:四个缩放比例一致的视图、两个剖面,以及按标签着色的面

它面向小型机械零件——支架、法兰、歧管、散热器,以及你会打印或加工的各种零件。examples/ 中有 31 个示例。

为什么不选 CadQuery、build123d 或 OpenSCAD

它们都很优秀,也早已问世。主要有三点不同。选择器是描述式且经过检查的——.expect({ count: 4 }) 会把悄然开始匹配三条边的选择器变成构建错误,而这正是导致代码式 CAD 脆弱的失效方式。你看到、测量和导出的内容都来自同一个精确 B-rep,因此预览和 STEP 文件属于同一个模型,而非两个项目。测量结果也是输出,而不是靠肉眼估计,这让 MCP 接口真正发挥作用,而不只是一个封装层。

安装

在 macOS 或 Linux 上使用 Homebrew(Linux 从 0.0.6 起支持),它会安装宿主端,且不包含窗口:

brew tap ierehon1905/parcad
brew trust ierehon1905/parcad
brew install parcad

然后将其添加到你的 Agent,需要时即可启动 parcad。若要自行使用应用,运行 parcad serve 并打开 http://127.0.0.1:4242——整个应用都在浏览器中。

Homebrew 安装路径中的内容都不会被隔离。同一个 parcad 既是无头驱动程序 (parcad part.js),也是运行中宿主端的客户端:parcad tools 会列出 Agent 可通过 MCP 调用的内容,而 parcad call <tool> 可从 shell 中调用工具。

或者下载桌面应用: Releases:

平台下载
macOS,Apple siliconParCAD-aarch64-apple-darwin.zip — 解压后拖到 Applications
Linux x86_64.deb 或 .AppImage(也可从 AppImageHub 下载)
Windows x86_64.msi 或 -setup.exe(winget 软件包正在等待审核)

每个平台的构建版本都会在上传前,使用随附的 worker 测量整个 eval 语料库。Mac 应用尚未经过公证,因此 macOS 首次会拒绝运行:运行一次 xattr -dr com.apple.quarantine /Applications/ParCAD.app。 Windows 安装程序尚未签名:SmartScreen 会发出警告,点击 More info,然后选择 Run anyway。每个平台还提供一个 parcad-cli-* 压缩包,其中包含用于无窗口运行宿主端的 parcad、与其放在一起的 worker,以及种子零件。请将两个二进制文件放在一起。

构建

支持 macOS、Linux 和 Windows。日常开发在 macOS 上进行;发布工作流会在这三个平台上构建并测量,Linux arm64 也会构建。

你需要 Rust(工具链已固定;rustup 会遵循固定版本)、Bun、CMake、C++ 编译器、patch(1) 和 Python 3.11+。完整构建需要约 20 GB 可用空间。在 Linux 上,窗口还需要 WebKitGTK(libwebkit2gtk-4.1-dev),脚本沙盒的绑定还需要 libclang-dev。在 Windows 上,请使用 MSVC(Visual Studio Build Tools),并从 Git Bash 运行脚本;Git Bash 也提供 patch。

cd app && bun install --frozen-lockfile && cd ..   # first: the Rust build shells out to bun
cargo build --locked --release
tools/build-worker.sh --release   # the exact kernel — ~5 min on 14 cores, once
cd app && bun run tauri dev

无论使用哪个配置,cargo build 都会生成一个 dev 应用——Tauri 的开关是 custom-protocol 功能,而不是 --release——因此请通过 tauri dev 或 tauri build 启动窗口,绝不要直接运行二进制文件。根目录下的 cargo build 也刻意不会构建 OpenCASCADE;该任务由 tools/build-worker.sh 完成。

tools/check.sh            # everything that gates a change (~5 min)
tools/check.sh --fast     # the kernel crates and the editor tests (~4 s)

或者以无头模式运行:

bun tools/run.ts examples/bracket.js > /tmp/bracket.json
./target/release/parcad /tmp/bracket.json --out out --step out/part.step

应用会在 http://127.0.0.1:4242 提供 UI 和 MCP 端点。零件以纯 .js 文件的形式存放在 ~/Library/Application Support/parcad 中,你可以在任何位置编辑这些文件。

在 Agent 中使用

无需安装任何内容:打开 ParCAD web, 选择 Connect your AI,然后把页面显示的链接提供给客户端 — Claude Code、作为自定义连接器的 Claude app、Cursor、VS Code,或任何可连接到 URL 的客户端。浏览器标签页就是服务,提供与应用相同的工具,而且必须保持打开;中继会传递消息,但不会保留任何内容 (relay/README.md)。

以下所有方式都会在你的机器上运行同一个 parcad:也就是 Homebrew 安装的那个版本,桌面应用也自带它。请先安装其中一种。

作为插件使用,它会提供 MCP 服务和一项说明如何使用该服务的技能:

/plugin marketplace add ierehon1905/parcad
/plugin install parcad@parcad

在 Codex 中使用,它会在 PATH 中查找 parcad,因此需要先通过 Homebrew 安装:

codex plugin marketplace add ierehon1905/parcad
codex plugin add parcad@parcad

在 Cursor 或 VS Code 中使用,并确保 parcad 位于 PATH 中:

在 Cursor 中安装 在 VS Code 中安装

也可以手动添加服务,适用于任何可启动 stdio 服务的客户端:

claude mcp add parcad -- parcad mcp
codex mcp add parcad -- parcad mcp

如果有应用在运行,parcad mcp 会转发到应用或 parcad serve,因此 Agent 会与窗口共享实时会话。如果没有应用在运行,它就会自行托管服务,并持续运行到客户端断开连接。通过 URL 连接的客户端可以直接使用 http://127.0.0.1:4242/mcp,但前提是有主机在运行;brew services start parcad 可在登录后保持主机运行。

命令行也提供相同的工具,名称和参数也相同 — parcad tools 可列出工具,parcad call evaluate_part --set [email protected] 可调用其中一项 — 无论应用是否打开,这些工具都能使用。

ParCAD 也已收录于官方 MCP Registry, 名称为 io.github.ierehon1905/parcad,因此可浏览该注册表的客户端能够按此名称安装。

让 Agent 从 read_docs 工具开始,它会通过一次调用提供完整语言内容。

更多信息

隐私

ParCAD 不会收集任何关于你的信息:没有账户、分析数据或遥测。 PRIVACY.md 列出了所有会连接网络的内容。

许可

ParCAD 是基于 GNU AGPL-3.0 或更高版本许可的自由软件:你可以使用、修改和分享,但你分发或作为服务运行的修改版 ParCAD 也必须公开其源代码。你制作的零件归你所有 — 零件脚本以及 ParCAD 从中导出的所有内容,都可以按你喜欢的方式授权;examples/ 中的种子零件采用 MIT 许可。v0.0.9 及以前版本的发布仍采用 MIT 或 Apache-2.0 许可。

本软件基于其他许可下的组件构建:vendor/ 下的 OpenCASCADE 及其绑定采用 LGPL-2.1 许可;我们自行编写的一个文件 crates/parcad-core/src/occlusion.rs 采用 MPL-2.0 许可,因为它移植自 fidget。从源代码构建不受限制;重新分发二进制文件则需要履行相关义务 — NOTICE.md 详细说明了这些义务,包括如何换用你自己的 OpenCASCADE。

本软件使用了 Open CASCADE Technology 软件提供的功能。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。