Skip to main content
Glama
ANYLXB

solidworks-mcp-pro

by ANYLXB

solidworks-mcp-pro

一个从零编写的 SolidWorks MCP 自动建模仓库,用于把 Codex / 其他 MCP 客户端连接到本机 Windows 上的 SolidWorks,并通过 Python COM / SolidWorks API 自动创建零件、行业模板、导出文件和做基础审查。

说明:本仓库代码为独立生成的实现,没有复制第三方仓库代码。你可以把它作为自己的 GitHub 仓库第一版,然后继续扩展。

目标架构

Codex / MCP Client
        ↓ stdio MCP
solidworks-mcp-pro
        ↓ Python COM / pywin32
SldWorks.Application
        ↓
SolidWorks Part / Assembly / Drawing / STEP / PDF / PNG

Related MCP server: SolidworksMCP-python

当前第一版能力

  • MCP Server:通过 stdio 暴露 SolidWorks 工具。

  • SolidWorks 会话管理:连接、启动、活动文档、保存、导出。

  • 安全输出目录:默认只能写入 SW_MCP_OUTPUT_ROOT

  • 基础零件:长方体、圆柱。

  • 行业模板:法兰、简化管板、简化立式换热器概念件。

  • JSON Spec 驱动:用结构化参数生成模型,减少自然语言歧义。

  • 基础审查:活动文档标题、路径、类型、质量属性、导出预览。

  • Codex 配置示例和 PowerShell 注册脚本。

  • 单元测试骨架和 Windows 集成测试标记。

系统要求

  • Windows 10 / 11

  • 已安装 SolidWorks

  • Python 3.10+

  • Codex CLI 或其他支持 MCP 的客户端

安装

cd C:\Projects
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e C:\Projects\solidworks-mcp-pro

也可以直接在仓库根目录执行:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .

配置环境变量

最少建议设置输出目录:

setx SW_MCP_OUTPUT_ROOT "C:\SW-MCP-Output"

如果 SolidWorks 默认模板读取失败,手动设置模板路径:

setx SW_MCP_PART_TEMPLATE "C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2025\templates\Part.prtdot"
setx SW_MCP_ASSEMBLY_TEMPLATE "C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2025\templates\Assembly.asmdot"
setx SW_MCP_DRAWING_TEMPLATE "C:\ProgramData\SOLIDWORKS\SOLIDWORKS 2025\templates\Drawing.drwdot"

直接启动 MCP Server

.\.venv\Scripts\Activate.ps1
solidworks-mcp-pro

正常情况下它不会输出普通日志,因为 MCP 使用 stdio 通信。

注册到 Codex

方式一:命令注册

codex mcp add solidworks-pro -- C:\Projects\solidworks-mcp-pro\.venv\Scripts\python.exe -m sw_mcp_pro.mcp_server.server

方式二:参考 codex/config.example.toml 手动加入 Codex 配置。

在 Codex 中测试

请调用 solidworks-pro 的 sw_health,检查 SolidWorks 是否可连接。
请调用 solidworks-pro 创建一个法兰:外径 200mm,厚度 20mm,中心孔 80mm,6 个直径 12mm 螺栓孔,PCD 150mm,保存为 flange_demo.SLDPRT。

推荐工作方式

先用结构化 spec:

{
  "type": "flange",
  "name": "DN80_flange",
  "params": {
    "outer_diameter_mm": 200,
    "thickness_mm": 20,
    "center_hole_diameter_mm": 80,
    "bolt_count": 6,
    "bolt_hole_diameter_mm": 12,
    "bolt_circle_diameter_mm": 150,
    "material": "Plain Carbon Steel"
  },
  "save_as": "DN80_flange.SLDPRT"
}

然后让 Codex 调用:

请调用 sw_create_from_spec_json,使用这个 JSON 创建模型。

目录结构

solidworks-mcp-pro/
├── sw_mcp_pro/
│   ├── mcp_server/          # MCP 工具层
│   ├── sw_api/              # SolidWorks COM 封装层
│   ├── templates/           # 参数化行业模板
│   ├── specs/               # JSON spec 解析与校验
│   └── utils/               # 日志、安全路径、JSON 工具
├── examples/                # 示例 spec
├── installers/              # Codex 注册脚本
├── codex/                   # Codex 配置示例
├── docs/                    # 文档
└── tests/                   # 测试

安全边界

本项目默认不提供任意 Python / VBA 执行工具。所有文件写入默认限制在 SW_MCP_OUTPUT_ROOT 内,避免 AI 把文件保存到不可控目录。若确实需要写入任意路径,可设置:

setx SW_MCP_ALLOW_OUTSIDE_ROOT "1"

不建议长期开启。

发展路线

  • 更完整草图约束与尺寸系统

  • 孔向导 / 螺纹孔 / 配置表

  • 复杂装配体 Mate 模板

  • 工程图自动标注 / BOM / 标题栏

  • 换热器、管板、U 型管、支架、接管、封头模板

  • 模型对照 spec 自动验收

  • 多工作站任务队列

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ANYLXB/solidworks-mcp-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server