solidworks-mcp
solidworks-mcp
MCP 服务器,通过 COM API 将 Claude Desktop 连接至 SolidWorks,为工装和冲压行业实现钣金零件的自动化分析。
它能做什么
模具工程师可以打开 Claude Desktop 并说:
"打开
bracket.step,告诉我厚度、所有孔的直径、折弯数量,并将展开图导出为 DXF。"
Claude 调用 MCP 工具来:
在 SolidWorks 中打开 STEP 文件
检测钣金,读取厚度 + K 因子
枚举并按直径对所有孔进行分组
统计并描述每个折弯(角度、半径、长度)
展开零件并将展开图导出为 DXF
返回结构化的分析报告
节省的时间: 60–90 分钟的人工检查 → 约 60 秒。
Related MCP server: Civil3D MCP Server
无需 SolidWorks 即可试用
这个项目的大部分功能需要已授权的 SolidWorks 安装,但 analyze_step_standalone 可以在任何支持 CadQuery 的环境中运行。以本仓库中的测试夹具为例:
pip install -e .
conda install -c cadquery cadquery # see docs/INSTALL.md for the pip route
python -c "
from mcp.server.fastmcp import FastMCP
from solidworks_mcp.solidworks_bridge import SolidWorksBridge
from solidworks_mcp.tools.analysis import register
import json
mcp = FastMCP('demo'); register(mcp, SolidWorksBridge())
fn = mcp._tool_manager._tools['analyze_step_standalone'].fn
print(json.dumps(fn(file_path='tests/fixtures/sample_part.step'), indent=2))
"sample_part.step 的实际输出——一块 100 x 60 x 2 毫米的板材,带有四个 Ø6 毫米通孔(已删节;完整结果还包含 file_path、各个包围盒范围以及单位说明):
{
"file_size_kb": 33.48,
"volume_mm3": 11773.81,
"surface_area_mm2": 12564.6,
"bounding_box": {
"dimensions_mm": [100.0, 60.0, 2.0]
},
"center_of_mass_mm": { "x": 0.0, "y": 0.0, "z": 1.0 },
"face_count": 10,
"face_types": { "PLANE": 6, "CYLINDER": 4 },
"estimated_thickness_mm": 2.0,
"is_likely_sheet_metal": true
}四个孔显示为四个圆柱面,厚度通过最小的包围盒尺寸推断得出。
先决条件
要求 | 版本 |
Windows | 10 或 11(64 位) |
Python | 3.10、3.11 或 3.12 |
SolidWorks | Standard 2022 或更新版本(必须已安装并获得许可) |
Claude Desktop | 最新版本 |
SolidWorks 必须与这台服务器安装在同一台机器上并已激活。COM API 需要完整的应用程序——SolidWorks PDM 或 Viewer 是不够的。
快速安装
REM 1. Clone the repository
git clone https://github.com/tmkaio/solidworks-mcp.git
cd solidworks-mcp
REM 2. Create a virtual environment
python -m venv .venv
.venv\Scripts\activate
REM 3. Install the package
pip install -e .
REM 4. (Optional) Install CadQuery for standalone STEP analysis
conda install -c cadquery cadquery配置 Claude Desktop
复制 claude_desktop_config.example.json 并合并到你的 Claude 配置中:
位置: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"solidworks": {
"command": "C:\\path\\to\\solidworks-mcp\\.venv\\Scripts\\python.exe",
"args": ["-m", "solidworks_mcp.server"],
"env": {
"PYTHONPATH": "C:\\path\\to\\solidworks-mcp\\src",
"LOG_LEVEL": "INFO"
}
}
}
}重新启动 Claude Desktop。聊天工具栏中应出现锤子图标(🔨)。
有关分步指南,请参阅 docs/INSTALL.md。
示例对话
You: Open C:\parts\door_hinge.step and give me a full analysis.
Claude: [calls open_file, get_part_info, analyze_holes, analyze_bends]
The door hinge is a sheet metal part:
- Thickness: 2.00 mm (K-factor: 0.44)
- Bounding box: 120 x 80 x 45 mm
- Mass: 312 g
- 12 holes: Ø6mm x 4, Ø8mm x 4, Ø12mm x 4
- 3 bends: 90° x R2mm (two) and 45° x R3mm (one)
- Complexity: medium
You: Export the flat pattern as DXF to C:\output\hinge_flat.dxf
Claude: [calls flatten_part, export_dxf, unflatten_part]
Flat pattern exported: C:\output\hinge_flat.dxf (18.4 KB)
Flat dimensions: 310 x 80 mm可用工具
连接
工具 | 描述 |
| 连接到 SolidWorks(如果未运行则启动) |
| 检查连接状态和活动文档 |
| 释放 COM 引用 |
文件
工具 | 描述 |
| 打开 STEP、SLDPRT、IGES 等文件 |
| 关闭活动文档 |
| 保存 / 另存为 |
| 列出所有打开的文件 |
分析
工具 | 描述 |
| 质量、体积、材料、钣金标志 |
| 长 x 宽 x 高 + 对角线 |
| 特征直方图 |
| 所有孔按直径分组 |
| 所有折弯及角度/半径/长度 |
| 执行摘要 + 复杂度评级 |
| 完整 JSON + Markdown 报告 |
| 无需 SolidWorks —— 使用 CadQuery |
| Ixx/Iyy/Izz + 惯性积 |
| 面类型细分(平面/圆柱面/等) |
钣金
工具 | 描述 |
| True/False 检查 |
| 厚度、K 因子、折弯半径 |
| 将导入的实体转换为钣金 |
| 激活展开图 |
| 返回折弯状态 |
导出
工具 | 描述 |
| 展开图 -> DXF(用于激光 / 数控) |
| 零件 -> STEP AP214 |
| 零件 -> STL |
| 文档 -> PDF |
| 视口 -> PNG |
自定义属性与材料
工具 | 描述 |
| 从活动文档读取所有自定义属性 |
| 读取单个命名属性 |
| 创建或更新自定义属性 |
| 删除自定义属性 |
| 从 SolidWorks 库分配材料 |
| 列出可用的 .sldmat 材料数据库 |
配置
工具 | 描述 |
| 列出所有配置及其活动标志 |
| 当前活动配置的详细信息 |
| 激活另一个配置 |
| 创建新配置(复制现有配置) |
| 删除配置 |
| 配置特定的自定义属性 |
测量
工具 | 描述 |
| 两个命名实体之间的距离 |
| 单个实体的长度/面积/坐标 |
| 按索引获取面的面积、法线、质心 |
| 两个实体之间的最小间隙 |
| 横截面的 Ixx/Iyy/面积/质心 |
特征管理
工具 | 描述 |
| 列出 FeatureManager 设计树(带类型过滤器) |
| 特征的类型、压缩状态、错误 |
| 在配置中压缩特征 |
| 恢复被压缩的特征 |
| 特征上的参数化尺寸 |
| 强制重建(标准或完全) |
| 描述特征重建错误 |
工程图
工具 | 描述 |
| 从活动零件/装配体创建新工程图 |
| 向工程图添加标准/等轴测视图 |
| 列出工程图上的所有视图 |
| 图纸数量、比例、纸张大小 |
| 更改工程图图纸比例 |
装配体
工具 | 描述 |
| 列出所有零部件(顶层或递归) |
| 快速零部件计数 |
| 带数量的材料明细表(BOM) |
| 列出所有配合约束 |
| 指定名称的零部件的质量、路径、包围盒 |
| 装配体总质量和质心 |
限制(v0.1)
装配体支持是只读的。 可以读取零部件、BOM、配合和质量;不支持创建配合或插入零部件。
不支持参数化编辑。 可以列出、压缩和取消压缩特征,但不能驱动尺寸。
STEP 文件以“哑”实体导入。 必须先运行
convert_to_sheet_metal,折弯分析才会返回任何结果。不支持条带排样 / 级进模设计。
仅支持 Windows,并且需要已授权的本地 SolidWorks 安装——COM API 需要完整的应用程序。唯一的例外是
analyze_step_standalone,它可以通过 CadQuery 在任何环境运行。
路线图
版本 | 功能 |
v0.2 | 条带排样工具——工位配置 |
v0.3 | 力计算(冲裁、折弯、拉深) |
除此之外:成形性和底切检测、在生成的工程图上标注 GD&T、以及排样集成都是可能的方向,但尚未承诺任何内容。
开发
测试套件模拟了 COM 层,因此运行它不需要 SolidWorks 许可证:
pip install -e ".[dev]"
ruff check src tests
pytest -v在 Windows 上就是如此:全部 54 个测试都能运行。CI 在 Linux 上运行同样的两个命令,直接安装纯 Python 依赖,而不是通过 pip install -e .,因为 pywin32 没有 Linux wheel。
当缺少依赖时,两组测试会跳过自身而不是失败:
connect()/disconnect()测试按名称模拟pythoncom和win32com.client,因此它们需要 pywin32,并且只在 Windows 上运行;analyze_step_standalone需要 CadQuery。
其他所有内容——COM 调用契约、孔和折弯提取、单位转换、特征遍历——都可以在任何环境运行。
日志
服务器日志:%USERPROFILE%\.solidworks-mcp\logs\server.log
Claude Desktop 日志:%APPDATA%\Claude\logs\
许可证
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables users to control AutoCAD, GstarCAD, or ZWCAD through natural language via Claude Desktop. It provides tools for drawing geometric shapes, adding text and dimensions, and managing CAD files using the Windows COM interface.3MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude to a running Autodesk Civil 3D instance via COM automation to perform drawing, surface, alignment, COGO point, line, and corridor operations.7MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to create and manipulate SolidWorks CAD models through natural language commands, automating part creation, sketching, and extrusion.9
- AlicenseBqualityCmaintenanceEnables connecting MCP clients to local SolidWorks for automated 3D part creation, template generation, file export, and basic review via natural language.101MIT
Related MCP Connectors
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tmkaio/solidworks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server