Token导航 LogoToken导航TokenDH.com
OCCTMCP (Gsdali) logo
设计创作未说明官方级别未说明来源级核验

OCCTMCP (Gsdali)

MCP Server

OCCTMCP是一个基于OpenCASCADE的3D CAD模型处理服务,提供50多种工具支持模型的创建、修改、分析和导出,适用于LLM驱动的自动化CAD设计流程。

工具数

49

提示词数

0

GitHub Stars

0

资源数

0
Swift3D建模自动化处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gsdali

提供方

gsdali

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

OCCTMCP

![Swift 6.1](https://swift.org) ![License: LGPL v2.1+](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)

部分 OCCTSwift生态系统 --请参阅生态系统图,了解此包如何位于内核、视口、网桥和AIS层之上。SemVer从v1.0.0开始稳定。

Swift实现直接在进程内调用OCCT——没有子进程,也没有JSONL编组——并公开了50个类型化的MCP工具,这些工具涵盖了创作、场景读取、变异、内省、构造、分析、I/O、网格、绘图、选择/重映射和维度覆盖。

运作原理

LLM picks a typed tool (boolean_op, transform_body, render_preview, …)
  → OCCTMCP runs the OCCT operation directly via OCCTSwift / Tools / AIS / Mesh
  → Writes BREP/STEP/PNG + manifest.json + annotations.json
  → OCCTSwiftViewport (optional) auto-reloads the 3D model

对于新型几何体,键入的工具无法覆盖,LLM回落到 execute_script:任意Swift代码,带有完整的OCCTSwift API,编译并在进程内运行。

工具

50个工具,组织如下。呼叫 get_api_reference({ category: "mcp_tools" }) 一次性转储每个工具的JSON模式——这对LLM自动发现很有用。大多数流可以回答“体积是多少?”、“使其变红”、“布尔减去这些”、“渲染预览”、“在这两个面之间添加维度”、“导出到STEP”和“绘制此图”,而无需触摸 execute_script.

创作

工具目的
execute_script编写并执行任意Swift CAD代码(完整的OCCTSwift API)
get_script阅读最新脚本的源代码
get_api_reference按类别浏览OCCTSwift API

场景阅读

工具目的
get_scene读取当前场景清单(主体、颜色、材质)
export_model列出导出的BREP/STEP/STL/OBJ文件路径
compare_versions当前场景与N个运行前场景的差异(添加/删除/外观/文件更改)

场景突变

工具目的
remove_body从场景中删除实体(manifest+BREP文件)
clear_scene擦拭所有物体,可选择保留差异历史记录
rename_body更改身体的id
set_appearance更新颜色/不透明度/粗糙度/金属/显示名称

内省

工具目的
validate_geometry逐体拓扑验证(isValid,错误计数)
compute_metrics体积、面积、质心、边界框、主轴
query_topology查找面/边/顶点匹配条件,返回稳定的ID
measure_distance两个物体之间的最小距离+接触
recognize_features通过AAG启发式算法识别口袋和洞
inspect_assembly浏览XCAF装配树(STEP/IGES/XBF)

建筑

工具目的
apply_feature钻孔/圆角/倒角/拉伸/旋转/螺纹/布尔(FeatureSpec)
transform_body平移/旋转/均匀缩放(记录重新映射的身份历史)
boolean_op并集/相减/相交/拆分(每个输入历史记录用于重新映射)
mirror_or_pattern镜像/线性/圆形图案→ N个新机构

工程分析

工具目的
check_thickness薄区域标志的壁厚分析
analyze_clearance成对干扰/最小间隙
heal_shape修复进口/非水密几何形状;统计数据之前/之后

选择和重新映射

工具目的
select_topology拾取面/边/顶点,获得稳定的 selectionId
remap_selection携带 selectionIds跨越同一身体的突变(基于转换/愈合/布尔/应用特征的历史;否则采用质心启发式回退)
find_correspondences地图 selectionIds从源体到目标体,这是源体的已知变换-- mirror_or_pattern 输出是典型情况
select_by_feature按特征类型批量挑选(例如所有孔边缘)
list_selections检查内存中的选择注册表
clear_selections擦除注册表

注释和覆盖

工具目的
add_dimension添加线性/角度/径向尺寸;渲染在 render_preview
add_scene_primitive添加三面体/工作平面/轴/点云/边界框/diffMarker
auto_dimension主范围的启发式降维
show_bounding_box添加车身的AABB作为覆盖层
diff_overlay可视化两个快照之间的差异
remove_scene_annotation按id删除维度或图元
list_annotations检查sidecar的注释

输入/输出

工具目的
read_brep加载a .brep 从磁盘到场景
import_file多格式导入(STEP/IGES/STL/OBJ);可选XCAF组件
export_scene导出到STEP/IGES/BREP/STL/OBJ/glTF/GLB
set_assembly_metadata修改XCAF文档或每个组件的元数据

网格和可视化

工具目的
generate_mesh细分为三角形+质量指标
simplify_meshQEM网格抽取为.stl/.obj——封装OCCTSwiftMesh的 Mesh.simplified (供应商提供的网格优化器)
render_preview使用测量标签和基本体覆盖进行单次PNG渲染
generate_drawing多视图ISO 128-30 DXF技术图

拓扑图(低级)

工具目的
graph_validate验证BREP的拓扑图(原始路径)
graph_compact删除未引用的图形节点;写入重建的BREP
graph_dedup消除共享曲面/曲线几何图形的重复
graph_ml将拓扑+UV/边缘样本导出为ML友好的JSON
feature_recognize口袋+孔(原始BREP路径; recognize_features 是场景感知包装器)

实现

此仓库并排提供了两个实现:

  • 迅速 (Sources/, Package.swift)--那个 主要的,重要的 服务器。正在使用以下工具对OCCTSwift/OCCTSwiftMesh/OCCTSwiftTools/OCCTwiftAIS/DrawingComposer进行处理 官方Swift MCP SDK.50个工具。macOS 15+(OCCT.xcframework arm64平台)。
  • 节点/TypeScript (src/, dist/)——最初的实施。炮弹发射到 occtkit CLI适用于Swift端的所有内容。36个工具(v0.4之前的曲面;选择/重映射/注释仅限Swift)。如果您无法运行macOS二进制文件,则很有用。

两者都使用stdio MCP,读/写相同的清单格式。

先决条件

  • macOS 15+(用于Swift实现)
  • Swift 6.1+/Xcode 16+
  • 仅适用于Node实现:Node.js 18+,以及 OCCTSwiftScripts 所以 occtkit 开着 $PATH (或 make install

设置

快速实施(推荐)

git clone https://github.com/gsdali/OCCTMCP.git
cd OCCTMCP
swift build -c release

在克劳德代码的 .mcp.json:

{
  "mcpServers": {
    "occtmcp": {
      "command": "/path/to/OCCTMCP/.build/release/occtmcp-server"
    }
  }
}

Swift包发布在 Swift包索引.

节点实现

git clone https://github.com/gsdali/OCCTMCP.git
cd OCCTMCP
npm install
npm run build

.mcp.json:

{
  "mcpServers": {
    "occtmcp": {
      "command": "node",
      "args": ["/path/to/OCCTMCP/dist/index.js"]
    }
  }
}

示例

LLM可以通过编写键入工具来创建CAD模型——大多数日常流程从未涉及 execute_script:

boolean_op(op: "subtract", aBodyId: "block", bBodyId: "hole", outputBodyId: "drilled")
  → "drilled" body added to the scene
select_topology(bodyId: "drilled", kind: "face", limit: 1)
  → returns selectionId "sel:drilled#face[12]"
add_dimension(kind: "linear", anchors: [...]) ; render_preview()

对于新颖的几何,请进入 execute_script 使用完整的OCCTSwift API:

import OCCTSwift
import ScriptHarness

let ctx = ScriptContext()
let C = ScriptContext.Colors.self

let box = Shape.box(width: 40, height: 30, depth: 20)!
let hole = Shape.cylinder(radius: 5, height: 30)!
    .translated(by: SIMD3(20, -1, 10))!
let result = box.subtracting(hole)!
let filleted = result.filleted(radius: 2.0)!

try ctx.add(filleted, id: "part", color: C.steel, name: "Bracket")
try ctx.emit(description: "Filleted bracket with mounting hole")

API类别

get_api_reference 该工具提供以下文档:

  • 原语 --盒子、圆柱体、球体、圆锥体、环面、楔形
  • 清扫 --拉伸、旋转、扫管、放样、直尺
  • 布尔运算 --并集、相减、相交、剖分
  • 修改 --圆角、倒角、外壳、偏移、拔模斜度、缺陷
  • 变换 --平移、旋转、缩放、镜像
  • 电线 --矩形、圆形、多边形、样条曲线、螺旋、偏移
  • 曲线2d/3d --直线、圆弧、椭圆、B样条曲线、贝塞尔曲线、插值
  • 表面 --平面、圆柱体、圆锥体、球体、挤压、旋转、板
  • 分析 --体积、面积、距离、边界、验证
  • 进出口 --STL、STEP、IGES、BREP、OBJ、PLY
  • mcp_tools --每个MCP工具的JSON模式(便于LLM自动发现)

版本控制

OCCTMCP如下 语义化版本Swift港口到达 v1.0.0 2026年5月9日,与原始Node实现相比,功能完成,加上一层仅限Swift的选择/重映射/注释工具。

发布在GitHub上标记。这 main SPI跟踪的是分支。

许可证

LGPL-2.1或更高版本——与 OCCTSwift.

目录标签

目录标签

Swift3D建模自动化处理本地部署CAD设计工程分析模型导出

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

49

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP