mcpField
M
Mcp Openscad Render Loop

Mcp Openscad Render Loop

本地服务
github.com/archimedes-market开发工具323 周前更新

关于 Mcp Openscad Render Loop

将 OpenSCAD 封装为 MCP 服务,供 Agent 和 CAD 用户迭代参数化设计。它把渲染、语法检查、参数扫描与 STL 测量整合为可调用工具。

主要功能

  1. 01按参数覆盖值渲染 STL
  2. 02生成 PNG 预览
  3. 03扫描参数范围
  4. 04检查 OpenSCAD 语法
  5. 05提取模块与函数签名
  6. 06测量 STL 几何数据

适用场景

  1. 01按更改后的尺寸渲染 CAD 模型
  2. 02比较不同参数范围的输出
  3. 03渲染前检查源代码语法
  4. 04查看 STL 的尺寸与体积

MCP 相关

向 MCP 客户端提供 OpenSCAD 渲染、语法检查、参数扫描、签名提取和 STL 指标测量工具。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Archimedes 信任报告 — 已验证 92/100

Archimedes Market 上的已验证资产。查看完整的 4 维信任报告(安全性 · 质量 · 许可证 · 复杂度)以及 资产页面上的精选目录。


MCP OpenSCAD 渲染循环

将 OpenSCAD 封装为 MCP 服务,让 Agent 无需反复切换 GUI,即可迭代参数化 CAD 设计。使用参数覆盖渲染 .scad 源文件、运行参数扫描、验证语法、提取模块签名,并计算 STL 几何指标。

工具

  • render_stl — 使用 -D 参数覆盖,将 .scad 文件或内联源码渲染为 STL
  • render_png — 将预览渲染为 PNG,并控制相机和图像尺寸
  • parametric_sweep — 对一个或多个参数范围进行笛卡尔扫描,返回输出清单
  • validate_scad — 通过 openscad --check 检查语法(不渲染)
  • list_modules — 提取顶层 module foo(...) 和 function bar(...) 签名及默认值
  • compute_metrics — 根据 STL 计算包围盒、体积、表面积和三角形数量

此服务的用途

OpenSCAD 的 CLI 设计完善,但使用起来较为繁琐。大多数 Agent 的 CAD 工作流都遵循相同的循环:编辑参数 → 渲染 → 测量 → 调整。此服务将其简化为每次迭代只需调用一个工具,并直接返回几何指标,因此 Agent 无需自行解析 STL 字节。

快速开始

# 1. Install OpenSCAD (must be on PATH)
brew install openscad      # macOS
apt-get install openscad   # Debian/Ubuntu

# 2. Install the MCP server
pip install mcp-openscad-render-loop

# 3. Set output directory and run
export MCP_OPENSCAD_OUTPUT_DIR="/tmp/scad-renders"
mcp-openscad-render-loop serve

Claude Desktop 配置:

{
  "mcpServers": {
    "openscad": {
      "command": "mcp-openscad-render-loop",
      "args": ["serve"],
      "env": {
        "MCP_OPENSCAD_OUTPUT_DIR": "/tmp/scad-renders",
        "MCP_OPENSCAD_BINARY": "/usr/local/bin/openscad"
      }
    }
  }
}

典型 Agent 工作流

Agent: "Design an enclosure for a 60x40x15mm PCB with 2mm walls and M3 mounting posts."
↓
1. list_modules on enclosure.scad → finds module enclosure(pcb_l, pcb_w, pcb_h, wall, post_dia)
2. render_stl with pcb_l=60, pcb_w=40, pcb_h=15, wall=2, post_dia=3 → enclosure_v1.stl
3. compute_metrics on enclosure_v1.stl → bbox 66x46x21, volume 18.4cm³, 1,240 triangles
4. parametric_sweep on wall ∈ [1.5, 2.0, 2.5] → 3 STLs + metrics → wall=2 is the strength/weight knee
5. render_png at iso camera → preview image attached to agent's reply

安全性

  • MCP_OPENSCAD_OUTPUT_DIR 是唯一可写路径。任何位于此目录之外的输出路径都会被拒绝。
  • 每次渲染均有 60 秒的硬性时限(可配置)。长时间扫描会按顺序运行渲染,而非并行运行,以限制内存占用。
  • 内联 .scad 源码会写入输出目录中的临时文件;除 openscad 外,不会执行任何内容。
  • 不允许通过 import("/some/path.dxf") 遍历路径 — .scad 中的相对路径会相对于输出目录或源文件所在目录解析,绝不会相对于 / 解析。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

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

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