使用说明
OpenSCAD AI C#MCP服务器
C#中的HTTP MCP服务器,将OpenSCAD模型渲染为确定性多视图PNG图像,供LLM工具使用。
特性
- 基于HTTP的MCP(
POST /mcp)使用JSON-RPC 2.0方法:initialize,ping,tools/list,tools/call - 健康/根端点(
GET /)返回server up - 工具:
render_openscad- 输入:
scad_file_path(路径到.scad文件) - 可选输入:
print_process(fdm或sla,默认值fdm) - 固定渲染大小:
1600x1200(不可由用户配置) - 输出:带有MCP的6个确定性视图
image内容块(base64 PNG) - 视图:top_ne、缩放的top_ne x3、top_sw、bottom_ne、bottom_sw、top
- 严格的印刷适性规则,自动执行:禁止边缘壁厚接近零;FDM的最小壁厚为1.0mm,SLA为2.0mm
- 输入:
- 工具:
compare_renders- 输入:
reference_image_path(目标/原始图像),rendered_image_path(OpenSCAD渲染) - 输出:具有解释的定量相似性度量
- 度量:SSIM(结构相似性)、MSE(均方误差)、直方图相关性、边缘对齐
- 自动调整图像大小以匹配尺寸,从而进行准确比较
- 输入:
- F6风格渲染管道(网格导出+渲染),不是OpenSCAD预览模式
- 相机居中于bbox模型中心(
$vpt)具有确定性距离($vpd) - 在图像叠加上:顶部标签+XYZ图例(X红色,Y绿色,Z蓝色)
- 可选的CGAL验证工人集成,用于断开连接的零件和自交叉点
需求
- .NET SDK 10+
- OpenSCAD CLI可在
PATH作为openscad
跑
dotnet run --urls http://127.0.0.1:8770
要与CGAL worker一起运行:
CGAL_WORKER_PATH=/absolute/path/to/cgal_worker dotnet run --urls http://127.0.0.1:8770
默认工作路径(如果未设置env var):
Validation/cgal_worker/bin/cgal_worker
然后:
GET http://127.0.0.1:8770/->server upPOST http://127.0.0.1:8770/mcp用于MCP JSON-RPC调用
MCP工具示例
渲染OpenSCAD模型
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "render_openscad",
"arguments": {
"scad_file_path": "/absolute/path/to/model.scad"
}
}
}
将渲染图像与参考进行比较
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "compare_renders",
"arguments": {
"reference_image_path": "/path/to/original_photo.png",
"rendered_image_path": "/path/to/render_top_ne.png"
}
}
}
退货:
ssim:0.0-1.0(1.0=结构相同)mse:越低越好(<100优秀,100-500可接受,>500显著差异)histogram_correlation:-1.0到1.0(>0.90的颜色匹配良好)edge_alignment:0.0-1.0(>0.80边缘对齐良好)
