CAD-CAE-Agent SolidWorks MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CAD-CAE-Agent SolidWorks MCP Server Create a 100x60x10 mm block, fix one face, apply 500N, run static study"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CAD-CAE With Agent — SolidWorks 建模与仿真
CAD/CAE 案例 + 可复跑对照实验
让 Agent 将工程图和分析目标转成 可执行的计划、真实的软件操作和可检查的结果:由 Skill 组织工作流程,MCP 提供工具接口,SOLIDWORKS 2020 / Simulation 执行建模与静力分析。
本项目基于 andrewbartels1/SolidworksMCP-python 的 MIT 开源代码,扩展了在 SOLIDWORKS 2020 SP5 上运行的参数化建模和 Simulation 静力分析流程。保留上游版权及许可证;上游英文说明单独存档。
项目目标 · Skill 与 MCP · 对照实验 · CAD 案例 · CAE 图集 · 快速开始 · 验证范围
项目目标与工作方式
机械任务的难点不仅是调用一个拉伸或求解命令,还包括读懂尺寸与剖面关系、选择合理的建模顺序、确认操作对象,并判断结果是否满足要求。本项目把这些环节组织成 计划 → 预检 → 执行 → 回读 → 验收 的迭代流程。
例如,用户要求一个 100 × 60 × 10 mm 的矩形零件,接口返回“拉伸成功”只是执行反馈。Agent 还需要检查 1 个实体、60,000 mm³ 的独立预期体积、所需特征和原生输出文件。对静力分析,也需要分别检查工况、反力与网格变化,不能仅以求解器成功或云图颜色作为验收依据。
适用任务包括从工程图重建零件、按明确参数批量生成草图与凸台/切除、组织多载荷和多档网格静力分析,以及对失败步骤进行回查。交付以新版本的原生 CAD 文件、结果归档、截图和验证记录为目标;当前公开仓库提供代码、文档、截图和脱敏数值,原生 CAD/CWR 算例留在本地。
flowchart LR
I[工程图 / 尺寸 / 工况] --> A[Agent 制定计划]
S[Skill 操作与验收规范] -.-> A
A --> P[结构化计划与预检]
P --> M[MCP 工具接口]
M --> W[SW2020 COM / Simulation]
W --> V[回读特征与结果]
V --> G{满足验收判据?}
G -->|是| O[保存新文件与证据]
G -->|否或不确定| R[检查现场并修订计划]
R --> AAgent 负责理解任务和选择步骤;MCP 服务负责执行已实现的工具。单独启动 MCP 服务不会形成独立自主的 Agent。预检拒绝、部分完成和未知执行结果也都属于反馈,调用方需据此决定后续操作。
Related MCP server: solidworks-mcp
Skill 与 MCP 给 Agent 带来什么
层次 | 解决的问题 | 本项目中的作用 |
Agent | 将用户意图转成步骤,并处理反馈 | 读图、拆分特征、选择工具、判断差异;能力取决于具体模型与客户端。 |
Skill | 复用领域经验与操作顺序 | 明确单位和基准,先预检再执行,使用独立预期验收;异常写入后先检查现场。 |
MCP | 将外部能力作为结构化工具提供给 Agent | 工具发现、参数与结果传递;将建模、状态回读和仿真计划接入同一客户端。 |
COM / Simulation | 真正修改模型与求解 | 在实际 SOLIDWORKS 中生成特征、保存文件、划分网格并读取结果。 |
Skill 的提升在于把操作经验变成可重复的流程。 Agent 处理相似零件时,可以复用单位、输出路径、验收方法与异常处理规范,减少每次临时组织步骤的需要。它也能提醒 Agent 将“图片看起来正确”推进到实体、尺寸、文件和结果检查。Skill 是否触发、是否被遵守,需要通过真实 Agent 轨迹另外评估。OpenAI 的 Skill 评估方法建议对完成结果、执行步骤和效率分别评分。
MCP 的提升在于让 Agent 获得执行和观察的接口。 本仓库的具体工具进一步实现了批量计划、严格输入校验、文档身份检查、状态回读与持久请求 ID。它们让多步任务可以被预检、追踪和复核。协议传输本身有开销;效率收益来自批量工具的设计,错误拦截来自服务端的具体实现。MCP 官方 SDK将 MCP 定位为连接 AI 应用与外部系统的开放标准。
二者结合后,Skill 指导 Agent 何时调用、怎样验收,工具实现约束 哪些输入可以执行、发生了什么、结果是否符合预期。这样可以将部分经验要求落实为程序检查,同时保留对工程假设和图纸未标注部分的人工判断。
当前仓库发布 MCP 代码和流程文档;本机使用 solidworks-2020-modeling / solidworks-mcp-development Skill,独立可安装的 Skill 包尚未随仓库分发。跨项目复用时,可将建模规范与仿真流程纳入自己的 Skill,并按客户端方式显式加载。
从任务到交付的工具链
阶段 | 建模路径 | 静力分析路径 |
明确输入 | 图纸关键尺寸、建模基准、独立预期体积 | 几何、材料、安装方式、力与约束、收敛判据 |
检查对象 |
|
|
准备计划 |
| 准备显式载荷、接触、限位及递减网格计划 |
执行 |
|
|
验收 | 实体、特征、几何指标、保存后重开与比较 | 位移和应力分别检查、反力平衡、原生结果归档与回读 |
sw2020-plan/1 当前支持矩形、圆、闭合多边形草图及凸台/切除,1–30 个组;复杂放样、抽壳等案例使用其他工具或 COM 流程完成,不应推断它们已被该计划格式覆盖。相同请求 ID 与参数可回放历史记录而不重复建模;参数改变会被拒绝。历史回放不是实时验证,partial / started / unknown 后须先检查实际状态。
可复跑对照实验
2026-09-30 实际运行同条件对照:真实 MCP stdio、现有生产校验函数、40 对计时与人工故障注入。计时组使用相同的 12 个独立节点,预热 5 对、轮换执行顺序,每轮检查编译后的 groups 完全一致。
指标 | 对照策略 | 改进策略 | 本次观察 |
每任务 MCP 调用数 | 逐项计划:12 次 | 批量计划:1 次 | 减少 91.7% |
计划校验中位往返耗时 | 逐项:16.55 ms | 批量:1.97 ms | 减少 88.1%;中位数比值 8.41 |
计划校验 P95 | 逐项:20.05 ms | 批量:2.46 ms | 40 对计时,未剔除样本 |
12 类非法输入拦截 | 不校验就转发:0/12 | schema 与依赖检查:12/12 | 两项正常输入均通过 |
8 类错误结果检出 | 只看 success:0/8 | 指标与特征类型核验:8/8 | 两项正常结果均通过 |
这些数据量化的是批量接口和显式校验的收益。 输入错误包括单位、版本、重复名称、缺失/循环依赖、非法尺寸等;结果错误包括体积、质心、实体数、拓扑计数和特征类型。补充停止轨迹实验中,未保存文档在创建研究前被拦截,创建返回未知时未自动重试。
直接 Python 批量编译的中位耗时为 0.25 ms,说明 MCP 本身增加了通信成本。纯计划校验也不能检查真实基准面或证明预期体积正确;指标相同不能证明几何完全一致。实验未调用 LLM、COM 建模或有限元求解,不据此宣称 Agent 智能、真实建模速度、任务成功率或 token 成本改善。Skill 文件的独立效果仍需固定模型与工具的 LLM A/B 实验。
完整方法与限制 · 复跑脚本 · 原始数据 JSON · 40 轮计时 CSV
# 安装项目依赖后执行;无需启动 SOLIDWORKS
& .\.venv\Scripts\python.exe experiments/agent_workflow_benchmark.py `
--repetitions 40 --warmups 5 --nodes 12 `
--output experiments/results/local-rerunCAD 建模案例:从工程图到三维模型
以下四个案例均来自用户提供的工程图,已有真实 SOLIDWORKS 2020 建模及原生文件保存记录。左侧为输入工程图,右侧为实际建模预览;点击图片可查看原图。
按本次建模涉及的特征、空间关系和读图复杂度,由易到难排列: 皮带轮 → 阀体 → 壳体 → 泵体。这是案例间的相对排序;模型达到的完成范围见各项说明和建模证据记录。
案例 | 主要读图与建模难点 | 展示重点 |
皮带轮 | 轮毂、轮辐和轮缘的尺寸关系,通孔与键槽 | 基础体构建、切除、圆角和几何检查 |
093-1 阀体 | 不同方向接口与剖面流道之间的空间关系 | 放样过渡、孔系组合和缺失尺寸的合理补形 |
ZZJS-2015 壳体 | 外形与内部壁厚、螺钉柱、筋和窗口的协调 | 薄壁结构、多特征组织和重建检查 |
ZZBLJT-01 泵体 | 偏心泵腔、斜向流道及多剖面细节 | 综合重建、参考工程图及关联尺寸核验 |
1. 皮带轮 · 基础
展示能力: 轮毂、轮辐、轮缘、通孔、键槽与圆角。
以尺寸关系较直观的轮状零件作为入口,展示如何将二维轮廓拆成基础实体和局部切除,再检查实体数、主要尺寸与体积。外观重建与参考特征树复现分别说明,便于判断达到的范围。
SW2020 参考重建已保存,1 个实体;主要尺寸和体积已检查。 8° 内侧斜壁尚未建立;采用凸台特征,未复现参考中的三个旋转特征。
2. 093-1 阀体 · 进阶
展示能力: 法兰、放样过渡、交叉接口、阶梯流道与安装孔。
难度增加在于多个方向的接口及内部流道,需要结合视图和剖面组织建模顺序。对于图纸未给出的铸造外形,保留合理补形的说明,避免将推断尺寸写成原图要求。
真实 COM/MCP 建模已保存,1 个实体,重建成功;包围尺寸 75 × 56 × 75 mm。 未标注外形按用户允许合理补形;接口未生成实体螺纹,部分铸造内腔与圆角有简化。
3. ZZJS-2015 壳体 · 复杂
展示能力: 曲面外形、抽壳、螺钉柱、加强筋、窗口与随形凸字。
壳体案例将外观与内部结构结合起来:薄壁、螺钉柱和加强筋会相互影响,单一拉伸难以表达完整零件。展示重点是多特征建模与重建检查;过程预览和最终保存重开证据分别标注。
原生重建模型已保存,1 个实体,重建检查通过;包含 2 mm 壁厚与内部结构。 用户停止任务前已保存;最终保存重开验证未完成,现有预览来自建模过程。
4. ZZBLJT-01 泵体 · 综合
展示能力: 偏心泵腔、多孔系、斜向流道、装饰螺纹与工程图。
泵体要求同时处理偏心、不同方向的流道和剖面台阶,适合作为综合案例。除了三维重建,还展示参考工程图与关联尺寸核验;快速重建保留的简化项列在结果说明中。
快速重建已保存,1 个连续实体,重建成功;另完成四视图参考工程图和 10 项关联尺寸核验。 部分铸造过渡、B–B 流道截面与 C–C 台阶有简化;工程图对应快速重建版。
CAE 仿真过程与结果图集
仿真展示覆盖几何准备、材料与边界、网格求解、结果回读和异常排查。以下摘要便于先核对工况和证据;完整截图按执行阶段展开。
工况 / 阶段 | 主要观察 | 证据范围 |
几何检查 | 12 面、20 边、8 顶点;持久引用保存重开可恢复 | 尚未求解 |
单载荷轴向拉伸 | +X 1000 N,3 mm 网格;最大 URES 0.007041338 mm | 简化固定工况,无收敛检查 |
多载荷计划 | 两处力合计 +X 1000 N,5 / 4 / 3 mm 网格 | 位移满足 1% 判据,峰值应力未满足 |
无限位销轴接触 | 网格细化后位移达到数十 mm | 异常诊断,不能作为有效设计结果 |
有导向销轴接触 | 2 mm 最大 URES 0.011234013 mm;另有真实 3 mm 网格图 | 位移满足判据;峰值应力未收敛 |
以下按步骤展示 6 张图片,包括几何检查、单载荷求解、多载荷计划、接触排错、合位移结果和实际网格显示。近似的云图合并展示,全部原截图仍保留在图片来源记录。新增网格图来自原生算例临时副本,只开启单元边线并调整视图,没有重新划分网格或求解,也没有修改截图像素。
图文核验(2026-09-30): 已核对首页 6 张及归档 2 张图片的研究、载荷、网格和结果说明,未发现图文不符。四个有效研究已回读原生结果;初始异常接触图按当时的 4 mm 求解日志核对。本次未重新求解或替换图片,详见逐图核验记录。
云图显示的是合位移 URES,单位 mm,蓝色位移小、红色位移大。各图使用自己的色标范围,不能仅凭颜色比较位移大小,也不能把颜色当作强度安全程度。 图中左侧的二维尺寸图是零件内原有的参考图片。
1. 求解前的几何检查
API 导出的双孔连杆模型预览。该阶段识别了 12 个面、20 条边、8 个顶点,并检查持久引用在保存重开后仍可恢复;此图尚无有限元结果。选面阶段另存的预览与此图内容及文件哈希相同,合并展示;这张导出图不证明界面高亮颜色。

2. 单载荷:1000 N 轴向拉伸
大孔内壁固定,小孔内壁沿全局 +X 方向施加总力 1000 N;材料为 6061-T6 库参数、线弹性各向同性,名义网格 3 mm。最大合位移为 0.007041338 mm(约 7.04 μm),截图变形比例为 1 倍。此简化工况未模拟销轴接触,也未做网格收敛检查。

同一次求解的视口导出原图另行归档,不重复展示;它没有色标,数值以带 URES(mm) 图例的上图和 API 回读记录为准。
3. 多载荷:一次 MCP 计划完成三档网格求解
大孔内壁固定;小孔内壁与小端上环面分别施加全局 XYZ 力 (600, 50, 25) N、(400, −50, −25) N,合外力为 (+1000, 0, 0) N。截图为 AgentPlan_2load 的 3 mm 网格结果,最大 URES 为 0.139222473 mm。5 / 4 / 3 mm 网格的位移相邻变化约 0.277% / 0.203%,满足本次 1% 判据;峰值应力未达到同一判据。载荷分布与上一工况不同,两者不是同一工况的网格对比。

4. 接触排错:缺少限位的初始研究
以下为异常工况记录,不作为有效工程结果。 连杆和两根独立销轴共 3 个实体,设置 2 组无穿透接触,大销轴固定、小销轴受 +X 1000 N。截图来自 Pin_NoPen_1000N 的 4 mm 网格,最大 URES 约 0.373 mm。后续 3 / 2 mm 网格位移升至约 52.032 / 31.793 mm,暴露出未限制的自由运动;求解器返回成功不能证明工况有效。

5. 销轴接触:合位移结果与实际网格
在示例安装假设下增加两个轴向限位和一个 Z 向导向,保留两组无穿透接触及 +X 1000 N 载荷。截图为 Pin_Guided_1000N 的 2 mm 网格结果,最大 URES 为 0.011234013 mm。4 / 3 / 2 mm 网格位移相邻变化约 0.240% / 0.172%,满足 1% 判据;峰值应力仍未收敛。

网格显示: 下图为单次 MCP 计划算例 AgentPin_Guided 的 3 mm 网格,在原有合位移云图上开启了黑色单元边线并放大模型。它与上图采用同一几何及相同类型的接触、限位和导向工况;黑色三角形是体网格在外表面的边线,颜色仍表示 URES,不是网格质量指标。API 回读确认 51,985 个节点、33,407 个单元,最大 URES 仍为 0.011214703 mm。网格显示核验记录。

Pin_Guided_1000N 图展示平滑的 2 mm 合位移结果;AgentPin_Guided 图展示实际 3 mm 网格。此前两张平滑云图外观近似,是因为相同工况下的位移相近,并非两个不同的几何案例。原来的3 mm 平滑云图仍保留归档。该单次计划完成了 5 / 4 / 3 mm 求解,位移相邻变化约 0.269% / 0.239%;保存重开后的接触、边界对象和结果已回读复核,峰值应力未达到 1% 收敛判据。
1000 N、零间隙、无摩擦及外部导向均为示例假设,以上图片用于展示真实执行过程,不能据此完成实际设备的强度定型。各档网格的完整数值与限制见CAE 验证记录。
完整数值、反力和求解限制见CAE 验证记录,所有图片来源见图集记录。位移收敛不能自动替代峰值应力或接触压力的收敛检查。
从 API 绘图到 CAD-CAE With Agent
最初的本机目标是通过 C# COM API 直接控制 SOLIDWORKS,生成 Sketch1 → Boss-Extrude1,并检查一个 100 × 60 × 10 mm 零件。现在的流程由 AI 客户端规划,MCP 暴露工具,Windows 上的 SOLIDWORKS COM 与 Simulation 执行建模、求解和结果回读。MCP 是工具接口;单独启动 MCP 不会形成独立自主的 Agent。
详细的时间线、证据和差异见 API 绘图到 CAD-CAE Agent:版本 V2。
上游提供 Python MCP 服务、COM/VBA 适配与安全封装,以及草图、建模、工程图、分析、导出、自动化、模板和宏工具;可选的 Agent 编排与提示词测试代码位于 src/solidworks_mcp/agents/。本仓库的新增贡献集中在 SW2020 稳定入口、结构化计划与指标比较、执行守卫,以及多载荷、多网格和接触静力扩展。上游的功能目录与本仓库的实测范围应分别阅读。
已实现与验证
能力 | 本机证据 |
直接 COM 建模 | 实测创建、重建并保存 |
MCP 建模 | SW2020 真实模式下完成工具调用、实体与特征回读;工具发现保持 COM 延迟连接。 |
静力分析 | 本机 SW2020 SP5 / Simulation 完成多载荷、多网格、URES(mm) 云图及原生结果归档。 |
销轴接触 | 三实体、两组无穿透接触;位移相邻网格变化低于 1%,峰值应力未达到同一收敛标准。 |
重新连接 | 两次新 stdio 连接均发现 149 个工具,其中 8 个为仿真工具;原生研究和结果可回读。 |
离线对照(2026-09-30) | 40 对真实 stdio 计时、12 类输入错误、8 类结果错误、停止轨迹及 19 项相关合同测试;未运行新的真实建模或求解。 |
本机验证细节:安装与演示 · 仿真计划接口 · 数值和限制 · SW2020 兼容性。
当前边界
Mock 适配器的输出是模拟值,不能作为工程结论。
实时 3D 视口流、逐检查点的干涉验证、流体分析及本静力扩展范围外的仿真类型尚未验证;简单 SimulationXpress 拓扑优化也不属于已验证能力。
示例销轴工况的 1000 N 载荷、零间隙、无摩擦和外部导向是建模假设。位移收敛不能证明峰值应力、局部接触压力、疲劳或真实设备安全性。
不能将示例面 ID、约束和载荷直接套用到其他零件;任意零件自动选面和自动识别实际安装方式尚未验证。
环境与快速开始
真实 COM 自动化需要 Windows、Python 3.13+、Git,以及已合法安装的 SOLIDWORKS。本仓库的新增能力实测于 SW2020 SP5;上游徽章中的其他年份不代表本仓库已逐一验证。 Linux/WSL 可用于文档、测试和 Mock 模式,不能直接执行 Windows COM 自动化。
git clone https://github.com/caoguanqiu1-alt/CAD-CAE-Agent.git
cd CAD-CAE-Agent
py -3.13 -m venv .venv
& .\.venv\Scripts\python.exe -m pip install -e .
$env:SW2020_INSTALL_DIR = 'C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS'
powershell -NoProfile -File .\simulation\build.ps1 -InstallDir $env:SW2020_INSTALL_DIR将安装目录改为自己的实际路径。真实执行使用 src/utils/start_sw2020_stable.py --real --year 2020;MCP 初始化与工具列表不应启动 SOLIDWORKS,首次实际工具调用才连接 COM。Simulation 还需要本机可用的 SOLIDWORKS Simulation 与对应 Interop DLL。完整 MCP 配置和调用步骤见 中文安装与演示说明;上游通用客户端配置、开发命令及功能开关见 英文原文。
项目持续开发,接口、文档和安装步骤可能调整。SOLIDWORKS、Simulation 及其 Interop DLL 不随仓库分发。
文档与许可
想了解的内容 | 入口 |
SWMCP 论文 PDF | |
安装、MCP 配置与最小仿真流程 | |
建模计划、重复执行保护与验收 | |
多载荷、接触与多网格计划 | |
对照方法、复跑和原始数据 | |
四个工程图建模案例的依据与简化 | |
真实静力数值、异常与限制 | |
从直接 API 到 Agent 工具链的演进 |
Available Tools
133 toolsactivate_documentA
Switch which open document is the active one.
Matches the argument against open documents by title, full path, or
file name (case-insensitive), calls ActivateDoc3, and reads the
active document back to confirm the switch took.
Inputs: input_data (required). Returns: object
add_annotationB
Add an annotation such as a note, balloon, or surface symbol.
Places annotation text in a drawing with optional font size, leader attachment, and title-block style metadata fields.
Inputs: input_data (required). Returns: object
add_arcB
Add an arc to the current sketch.
Creates a circular arc defined by center point, start point, and end point. Arcs are essential for creating rounded corners, curved transitions, and complex curved profiles in mechanical designs.
Inputs: input_data (required). Returns: object
add_centerlineA
Add a centerline to the current sketch.
Creates a construction/reference line that serves as a centerline for symmetrical features, revolution axes, or construction geometry. Centerlines are non-geometric entities used for reference only.
Inputs: input_data (required). Returns: object
add_circleB
Add a circle to the current sketch.
Inputs: input_data (required). Returns: object
add_dimensionA
Add a dimension to the current drawing.
Creates dimensional annotations on drawing views including linear, radial, angular, and diameter dimensions. Essential for manufacturing specifications and quality control documentation.
Inputs: input_data (required). Returns: object
add_drawing_viewA
Add, update, or remove a drawing view in an existing drawing.
Supports configuring the target drawing, view type, parent view, scale, and placement coordinates for common drawing view workflows.
Inputs: input_data (required). Returns: object
add_ellipseA
Add an ellipse to the current sketch.
Creates an elliptical entity with specified center and major/minor axes. Ellipses are useful for creating oval holes, ergonomic profiles, and complex curved features in mechanical and industrial design.
Inputs: input_data (required). Returns: object
add_filletA
Add a fillet (rounded edge) to selected edges of the current model.
Rounds the specified named edges with the given radius. Edge names use the SolidWorks convention, e.g. 'Edge<1>', or you can leave edge_names empty to fillet all edges if the adapter supports it.
Inputs: input_data (required). Returns: object
add_lineC
Add a line to the current sketch.
Adds a line segment between two points in the active sketch. Lines are fundamental sketch entities used for creating profiles, construction geometry, and complex shapes.
Inputs: input_data (required). Returns: object
add_mateA
Mate two components in the active assembly.
Positions components relative to one another — coincident planes to stack or align them, concentric to line up axes, distance to hold a gap.
Entities are selected by feature name, so only each component's reference planes and axes can be mated. Mating to a specific face or edge needs entity names this adapter cannot enumerate.
Inputs: input_data (required). Returns: object
add_noteC
Add a note or annotation to the current drawing.
Creates text annotations, callouts, and notes on drawings for specifications, instructions, and additional manufacturing information. Essential for comprehensive technical documentation.
Inputs: input_data (required). Returns: object
add_polygonB
Add a regular polygon to the current sketch.
Creates a regular polygon with specified number of sides, center point, and circumscribed radius. Polygons are useful for creating hexagonal nuts, octagonal features, and other multi-sided geometric shapes.
Inputs: input_data (required). Returns: object
add_rectangleB
Add a rectangle to the current sketch.
Creates a rectangular profile defined by two opposite corner points, automatically generating four connected line segments forming a closed rectangle suitable for extrusion or other 3D operations.
Inputs: input_data (required). Returns: object
add_sketch_constraintA
Add a geometric constraint/relation between sketch entities.
Creates geometric relationships between sketch entities such as parallel, perpendicular, tangent, coincident, etc. Essential for creating fully defined, parametric sketches that maintain design intent.
Inputs: input_data (required). Returns: object
add_sketch_dimensionA
Add a dimension to sketch entities.
Creates dimensional constraints that control the size of sketch entities. Dimensions are essential for creating precise, parametric designs that can be easily modified and maintain manufacturing tolerances.
In live SolidWorks automation, sketch dimensions can otherwise trigger the interactive
Modify approval dialog. The adapter suppresses the relevant sketch-input preferences
for the automation session and uses the dedicated radial/diameter APIs for circles and
arcs so this tool remains non-interactive.
Inputs: input_data (required). Returns: object
add_splineA
Add a spline curve to the current sketch.
Creates a smooth, free-form spline curve that passes through or near the specified control points. Splines are ideal for creating organic shapes, complex profiles, and smooth transitions in industrial design.
Inputs: input_data (required). Returns: object
analyze_drawing_annotationsC
Analyze drawing annotations and notes quality.
Inputs: input_data (required). Returns: object
analyze_drawing_comprehensiveC
Handle analyze drawing comprehensive.
Inputs: input_data (required). Returns: object
analyze_drawing_dimensionsB
Analyze dimensions in a SolidWorks drawing for consistency and completeness.
This tool performs detailed dimensional analysis including precision, tolerances, and completeness checking.
Inputs: input_data (required). Returns: object
analyze_drawing_viewsC
Analyze drawing views arrangement and quality.
Inputs: input_data (required). Returns: object
analyze_geometryC
Handle analyze geometry.
This tool provides various geometry analysis capabilities like curvature analysis, draft analysis, thickness analysis, etc.
Inputs: input_data (required). Returns: object
analyze_macroC
Analyze a macro for complexity, dependencies, and optimization opportunities.
This tool provides insights into macro structure and performance to help with optimization and maintenance.
Inputs: input_data (required). Returns: object
apply_templateB
Apply a template to an existing SolidWorks model.
This tool applies saved template settings including properties, dimensions, and formatting to the target model.
Inputs: input_data (required). Returns: object
auto_center_marksA
Auto-insert centre marks on circular features in a drawing view.
Runs SolidWorks' automatic centre-mark insertion for the named view. The API does not report how many marks it added, so the response gives the view's centre-mark count before and after and the delta. A run that added nothing is still a success — the view may have no un-marked holes.
Inputs: input_data (required). Returns: object
auto_dimension_viewC
Automatically dimension a drawing view.
Analyzes drawing view geometry and automatically adds common dimensions including overall sizes, hole diameters, radii, and critical features. Accelerates drawing completion and ensures comprehensive dimensioning coverage.
Inputs: input_data (required). Returns: object
automation_start_macro_recordingC
Start recording a macro in SolidWorks.
Begins macro recording to capture user actions and generate reusable automation scripts.
Inputs: input_data (required). Returns: object
automation_stop_macro_recordingA
Stop recording the current macro.
This tool stops the active macro recording and saves the recorded actions as a VBA macro.
Inputs: input_data (required). Returns: object
batch_apply_templateA
Apply template to multiple models in batch.
This tool processes multiple SolidWorks files and applies the same template configuration to all matching files.
Inputs: input_data (required). Returns: object
batch_execute_macrosB
Handle batch execute macros.
This tool allows running multiple macros in sequence or parallel for complex automated workflows.
Inputs: input_data (required). Returns: object
batch_exportA
Batch export multiple SolidWorks files to a target format.
Processes entire directories of SolidWorks files and converts them to specified target formats. Essential for project migrations, supplier deliverables, and large-scale format conversions.
Inputs: input_data (required). Returns: object
batch_file_operationsB
Run a file operation across multiple files as a batch workflow.
Intended for repetitive file management tasks such as copying, moving, renaming, or deleting groups of SolidWorks documents.
Inputs: input_data (required). Returns: object
batch_process_filesC
Handle batch process files.
This tool processes multiple files in a directory, performing operations like rebuild, save as, export, or property updates.
Inputs: input_data (required). Returns: object
calculate_mass_propertiesB
Get mass properties of the current SolidWorks model.
Calculates and returns comprehensive mass properties for the active model including volume, surface area, mass, center of mass, and moments of inertia. Essential for engineering analysis, weight calculations, and structural design.
Inputs: input_data (required). Returns: object
check_drawing_complianceC
Check drawing compliance with company standards.
Inputs: input_data (required). Returns: object
check_drawing_standardsB
Check the current drawing against drafting standards.
Validates drawing compliance with industry drafting standards including ANSI Y14.5, ISO 128, and DIN standards. Identifies non-compliance issues and provides recommendations for improvement.
Inputs: input_data (required). Returns: object
check_interferenceA
Check for interference between components in an assembly.
Analyzes specified components for geometric interference (overlapping volumes) and provides detailed interference detection results. Critical for assembly validation and identifying design conflicts before manufacturing.
Inputs: input_data (required). Returns: object
check_sketch_fully_definedB
Check whether a sketch is fully defined.
Inputs: input_data. Returns: object
classify_feature_treeA
Classify the active model into a feature family from model-info and tree data.
This is a read-before-write helper for delegation. It summarizes whether the current document looks like a direct-MCP solid, sheet metal workflow, advanced VBA-backed part, assembly, drawing, or an insufficient-evidence case.
Inputs: input_data (required). Returns: object
close_modelA
Close the current SolidWorks model.
Closes the currently active SolidWorks document with an option to save changes before closing. This is essential for proper model lifecycle management and preventing data loss.
Inputs: input_data (required). Returns: object
compare_drawing_versionsC
Compare different versions of drawing files.
Inputs: input_data (required). Returns: object
compare_templatesB
Compare two templates and generate difference report.
This tool analyzes differences between templates to help understand variations in formatting and properties.
Inputs: input_data (required). Returns: object
convert_file_formatB
Convert a SolidWorks file from one format to another.
Supports exporting source files to target formats such as STEP, IGES, STL, PDF, or other adapter-supported conversion outputs.
Inputs: input_data (required). Returns: object
create_assemblyA
Create a new SolidWorks assembly document.
Creates a new SolidWorks assembly document using the default assembly template. The new assembly becomes the active document and is ready for component insertion, mating, and assembly-level operations.
Inputs: input_data (required). Returns: object
create_axisB
Create a reference axis along a principal direction.
Builds an axis from the intersection of two built-in planes: x from Top + Front, y from Front + Right, z from Top + Right.
Inputs: input_data (required). Returns: object
create_cut_extrudeA
Cut material from the active model using the current sketch profile.
Creates a Cut-Extrude feature (Insert > Cut > Extrude) from the active sketch. Use this after exit_sketch when you want to remove material — e.g. to create windows, holes, slots, or any through/blind cut in an existing solid body.
Inputs: input_data (required). Returns: object
create_detail_viewA
Create a detail view of a specific area.
Generates magnified detail views of specific regions to show fine features, tight tolerances, and intricate geometry that requires enhanced visibility for manufacturing and inspection.
Inputs: input_data (required). Returns: object
create_drawingA
Create a new SolidWorks drawing document.
This tool creates a new drawing document using the default drawing template. The new drawing will become the active document.
Inputs: input_data (required). Returns: object
create_drawing_viewB
Create a drawing view of a SolidWorks model.
Creates technical drawing views including orthographic projections, isometric views, section views, and detail views from 3D models. Essential for generating production drawings and technical documentation.
Inputs: input_data (required). Returns: object
create_extrusionC
Create an extrusion feature from the active sketch.
Creates a 3D extrusion feature (boss or cut) from the currently active 2D sketch. Supports advanced options like draft angles, thin features, bidirectional extrusion, and various end conditions for professional modeling workflows.
Inputs: input_data (required). Returns: object
create_loftA
Loft a solid between two or more profile sketches.
Creates a lofted boss/protrusion (Insert > Boss/Base > Loft) blending the listed profile sketches in order. Each profile must be a closed contour. Optional guide curves shape the transition between profiles.
Inputs: input_data (required). Returns: object
create_macro_libraryA
Create a library of organized macros for team sharing and reuse.
This tool sets up a structured macro library with categorization, documentation, and version control.
Inputs: input_data (required). Returns: object
create_partA
Create a new SolidWorks part document.
Creates a new SolidWorks part document using the default part template. The new part becomes the active document and is ready for modeling operations such as sketch creation and feature addition.
Inputs: input_data (required). Returns: object
create_reference_planeA
Create a reference plane offset from an existing plane or planar face.
Adds a new plane to the feature tree, parallel to and offset from the
named reference. The returned plane name can be passed straight to
create_sketch to sketch anywhere other than the six built-in
planes.
Angled planes are not supported by this tool: an angled plane needs a
second reference (an axis or edge) to rotate about, which this
signature cannot take. Use offset for parallel planes. An
offset of zero is rejected — a plane coincident with its
reference is not useful.
Inputs: input_data (required). Returns: object
create_reference_pointA
Create a reference point on the active part.
Two modes:
along_curve— a point on the edge under(x, y, z)mm, placeddistancemm from the edge start, or atpercent(0–100) of its length. Give exactly one ofdistance/percent.face_center— a point at the centroid of the face under(x, y, z)mm.
The coordinate must lie on the target edge/face; SolidWorks resolves
it with a coordinate pick. InsertReferencePoint always returns a
feature, so success is confirmed by the feature tree growing.
Inputs: input_data (required). Returns: object
create_revolveB
Create a revolve feature from the active sketch.
Creates a 3D revolve feature by rotating the active 2D sketch profile around a specified axis of revolution. Supports full and partial revolves, thin features, and bidirectional revolution for comprehensive rotational modeling.
Inputs: input_data (required). Returns: object
create_section_viewC
Create a section view of the current drawing.
Generates section views that show internal features by cutting through the part along a specified section line. Essential for revealing hidden geometry, internal structures, and complex assemblies.
Inputs: input_data (required). Returns: object
create_sketchA
Create a new sketch on the specified plane.
Creates a new sketch on a reference plane and enters sketch edit mode. This is the first step for creating any 2D geometry that will be used for 3D features like extrusions, revolves, or sweeps.
Inputs: input_data (required). Returns: object
create_sweepA
Sweep the active profile sketch along a named path sketch.
Creates a swept boss/protrusion (Insert > Boss/Base > Sweep). Requires
two sketches in the active part: a closed profile sketch and an open
path sketch named by path. The profile is inferred as the sketch
that is not the path (in the usual "draw profile, draw path, sweep"
flow this is unambiguous). Optionally applies a constant twist along
the path.
Inputs: input_data (required). Returns: object
create_technical_drawingB
Create a technical drawing from a SolidWorks part or assembly.
Supports selecting a template, output path, sheet format, scale, and optional auto- population of standard views for documentation.
Inputs: input_data (required). Returns: object
create_templateC
Create a SolidWorks template file.
This tool creates templates for parts, assemblies, or drawings with standardized settings, materials, and configurations.
Inputs: input_data (required). Returns: object
delete_featureA
Delete a feature or sketch from the active model.
Deleting a parent feature also removes everything that depends on it — SolidWorks' normal cascade — so the response lists every feature that went, not just the one named.
Inputs: input_data (required). Returns: object
discover_solidworks_docsA
Discover and index SolidWorks COM and VBA documentation.
Creates a searchable index of all available COM objects, methods, properties, and VBA libraries for the installed SolidWorks version. Useful for building context for intelligent MCP tool selection and documentation queries.
Inputs: input_data. Returns: object
execute_macroC
Handle execute macro.
This tool runs a previously recorded or written macro with optional parameters and repeat functionality.
Inputs: input_data (required). Returns: object
execute_workflowC
Handle execute workflow.
This tool executes a series of automated steps in sequence, with support for parallel execution and error handling.
Inputs: input_data (required). Returns: object
exit_sketchA
Exit sketch editing mode.
Exits the current sketch editing mode and returns to the 3D modeling environment. This is required after completing sketch geometry before creating 3D features like extrusions, revolves, or sweeps.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Example: ```python # Complete sketch workflow await create_sketch({"plane": "Top"}) await add_circle({"center_x": 0, "center_y": 0, "radius": 5})
result = await exit_sketch()
if result["status"] == "success":
print("Sketch completed, ready for 3D operations")
# Now ready for extrude, revolve, etc.
```
Note:
- Must be called after sketch geometry creation
- Required before executing 3D modeling operations
- Automatically validates sketch geometry
- Previous sketch remains selectable for feature creationInputs: no named parameters. Returns: object
export_dwgB
Export the current drawing to DWG format.
Converts SolidWorks drawings to DWG (Drawing) format, the native AutoCAD file format widely used in architecture, engineering, and construction industries for 2D technical drawings.
Inputs: input_data (required). Returns: object
export_igesA
Export the current model to IGES format.
Exports SolidWorks models to IGES (Initial Graphics Exchange Specification) format, a legacy neutral CAD format still widely used for surface modeling and older CAD system compatibility.
Inputs: input_data (required). Returns: object
export_imageA
Export images of the current model.
Captures high-quality rendered images of SolidWorks models from various view orientations for documentation, presentations, marketing materials, and web publication.
Inputs: input_data (required). Returns: object
export_pdfA
Export the current model or drawing to PDF format.
Creates PDF documents from SolidWorks drawings, assemblies, or parts for documentation, sharing, review, and archival purposes. Essential for design review and manufacturing documentation.
Inputs: input_data (required). Returns: object
export_stepB
Export the current model to STEP format.
Exports SolidWorks models to STEP (Standard for the Exchange of Product Data) format, the preferred neutral CAD format for interoperability between different CAD systems and manufacturers.
Inputs: input_data (required). Returns: object
export_stlC
Export the current model to STL format.
Exports SolidWorks models to STL (Stereolithography) format, the standard file format for 3D printing, rapid prototyping, and additive manufacturing applications.
Inputs: input_data (required). Returns: object
extract_templateB
Extract template from existing SolidWorks model.
Inputs: input_data (required). Returns: object
generate_drawing_reportC
Generate comprehensive drawing analysis report.
Inputs: input_data (required). Returns: object
generate_vba_assembly_insertB
Generate VBA code for assembly component insertion.
Inputs: input_data (required). Returns: object
generate_vba_assembly_matesC
Generate VBA code for assembly mate creation.
Inputs: input_data (required). Returns: object
generate_vba_batch_exportB
Generate VBA code for batch file export operations.
Inputs: input_data (required). Returns: object
generate_vba_codeB
Generate VBA code for SolidWorks automation.
Analyzes operation description and generates appropriate VBA code with SolidWorks API calls, error handling, and documentation.
Inputs: input_data (required). Returns: object
generate_vba_drawing_dimensionsC
Generate VBA code for creating drawing dimensions.
Creates macro for various dimension types in drawings.
Inputs: input_data (required). Returns: object
generate_vba_drawing_viewsC
Generate VBA code for drawing view creation.
Inputs: input_data (required). Returns: object
generate_vba_extrusionC
Generate VBA code for complex extrusion operations.
Inputs: input_data (required). Returns: object
generate_vba_file_operationsC
Generate VBA code for file management operations.
Inputs: input_data (required). Returns: object
generate_vba_macro_recorderC
Generate VBA code using macro recording patterns.
Inputs: input_data (required). Returns: object
generate_vba_part_modelingC
Generate VBA code for complex part modeling operations.
Inputs: input_data (required). Returns: object
generate_vba_revolveC
Generate VBA code for complex revolve operations.
Inputs: input_data (required). Returns: object
get_dimensionB
Get the value of a dimension from the current model.
Retrieves the current value of a named dimension from the active SolidWorks model. Dimensions can be from sketches, features, or global dimensions. Useful for parametric modeling and design validation.
Inputs: input_data (required). Returns: object
get_file_propertiesA
Get properties of the current SolidWorks file.
Retrieves comprehensive metadata and properties of the currently active SolidWorks document. Provides essential file information for document management, version control, and project organization.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Example: ```python result = await get_file_properties()
if result["status"] == "success":
props = result["properties"]
# Basic file info
file_info = props["file_info"]
print(f"File: {file_info['file_name']}")
print(f"Size: {file_info['file_size']}")
print(f"Type: {file_info['file_type']}")
# Technical properties
tech = props["technical_properties"]
print(f"Material: {tech['material']}")
print(f"Units: {tech['units']}")
# Document info
doc = props["document_info"]
print(f"Author: {doc['author']}")
print(f"Description: {doc['description']}")
```
Note:
- Requires an active SolidWorks document
- Properties may vary based on document type
- Some properties may be empty if not set
- Technical properties depend on document configurationInputs: no named parameters. Returns: object
get_mass_propertiesD
Backward-compatible alias for calculate_mass_properties.
Inputs: input_data. Returns: object
get_material_propertiesA
Get material properties of the current model.
This tool retrieves the material properties assigned to the model including density, elastic modulus, yield strength, etc.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Inputs: no named parameters. Returns: object
get_model_infoA
Get metadata for the active SolidWorks document.
Returns a compact summary of the current model context that is useful for read-before- write LLM flows (document type, active configuration, and feature count).
Returns: dict[str, Any]: A dictionary containing the resulting values.
Inputs: no named parameters. Returns: object
insert_componentA
Insert a part or sub-assembly into the active assembly.
Call create_assembly first. Position is in millimetres from the
assembly origin.
The component file must contain solid geometry — SolidWorks silently refuses to insert an empty part, so a missing or empty component surfaces as an error rather than a fabricated success.
Inputs: input_data (required). Returns: object
list_componentsA
List the top-level components of the active assembly.
Returns: dict[str, Any]: Status and the component instance names.
Inputs: no named parameters. Returns: object
list_configurationsA
List configuration names for the active SolidWorks document.
Returns all available configuration names so callers can select a stable target before invoking feature or export operations.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Inputs: no named parameters. Returns: object
list_featuresA
List feature-tree entries for the active SolidWorks document.
Useful for read-before-write workflows where the agent must inspect existing model structure before adding or editing downstream features.
Inputs: input_data (required). Returns: object
list_open_documentsA
List every SolidWorks document that is currently open.
Read-only — does not change which document is active. Use it to
discover what is open (an assembly plus its parts, a drawing plus its
model) before switching with activate_document.
Returns:
dict[str, Any]: status and documents — a list of
{title, path, type, is_active} entries, plus count.
Example:
python await list_open_documents()
Inputs: no named parameters. Returns: object
list_template_libraryB
List available templates from the template library.
This tool provides browsing and searching capabilities for the organization's template library.
Inputs: input_data (required). Returns: object
load_assemblyA
Load (open) a SolidWorks assembly file.
Convenience wrapper that opens a .sldasm file and makes it the active document. Provides a simpler alternative to open_model for assemblies.
Inputs: input_data (required). Returns: object
load_partA
Load (open) a SolidWorks part file.
Convenience wrapper that opens a .sldprt file and makes it the active document. Provides a simpler alternative to open_model for parts.
Inputs: input_data (required). Returns: object
lookup_api_interfaceC
List every indexed member (methods + properties) of a COM interface.
Inputs: input_data. Returns: object
lookup_api_methodA
Look up one SolidWorks API method or property by interface + name.
Confirms the member is indexed on that interface and returns its sibling members for context. The local index stores names only, so full signatures (parameters, return type) are not available here - use search_solidworks_api_help or help.solidworks.com for those.
Inputs: input_data. Returns: object
manage_design_tableB
Create or manage design tables for parametric modeling.
Design tables allow you to create multiple configurations of a part or assembly by driving parameters from an Excel spreadsheet.
Inputs: input_data (required). Returns: object
manage_file_propertiesB
Read, update, copy, move, rename, or delete file-related properties.
Uses the requested operation and file paths to manage SolidWorks file metadata or related file lifecycle tasks through the active adapter.
Inputs: input_data (required). Returns: object
mirror_featureA
Mirror solid bodies or features about a plane.
Selects the named sources and the mirror plane, then mirrors them. The mirror is verified by comparing model volume before and after: SolidWorks can report a feature even when it mirrored nothing, so a volume that did not grow is reported as an error rather than a false success.
Inputs: input_data (required). Returns: object
open_modelA
Open a SolidWorks model (part, assembly, or drawing).
Opens an existing SolidWorks file and makes it the active document for further operations. Supports all standard SolidWorks file formats and provides detailed model information upon successful opening.
Inputs: input_data (required). Returns: object
optimize_macroC
Optimize an existing macro for better performance and reliability.
This tool analyzes and suggests improvements to existing macro code.
Inputs: input_data (required). Returns: object
optimize_performanceC
Optimize SolidWorks performance settings.
This tool analyzes the current SolidWorks configuration and suggests or applies performance optimizations.
Inputs: input_data (required). Returns: object
pack_and_go_assemblyA
Copy a SolidWorks assembly and all its referenced parts to a self-contained folder.
Enumerates every component referenced by the active assembly, copies the
assembly and each part into target_dir, then rewrites the stored
component paths inside the copied assembly so it opens without any
dependency on the original file locations — equivalent to the SolidWorks
GUI Pack-and-Go operation.
Inputs: input_data. Returns: object
pattern_circularA
Pattern features around an axis.
Selects the named axis and features, then creates a circular pattern. The pattern is verified by comparing model volume before and after: SolidWorks can report a feature even when it patterned nothing, so a volume that did not grow is reported as an error rather than a false success.
Inputs: input_data (required). Returns: object
rebuild_modelB
Rebuild the active SolidWorks document via ForceRebuild3.
Local SW2020 integration: expose the existing real COM adapter operation so MCP hosts can explicitly rebuild without a macro or UI.
Inputs: no named parameters. Returns: object
rename_featureA
Rename a feature on the feature tree.
SolidWorks silently refuses a rename onto a name another feature already uses, so the new name is read back and a mismatch is reported as an error rather than a quiet success. Renaming a feature to its current name is a no-op success.
Inputs: input_data (required). Returns: object
save_asB
Save the current model to a new location or format.
Saves the currently active SolidWorks document with a new filename, location, or file format. Supports multiple export formats for interoperability with other CAD systems and manufacturing workflows.
Inputs: input_data (required). Returns: object
save_assemblyA
Save the active SolidWorks assembly document.
Convenience wrapper that saves the currently active assembly. If no file_path is provided, saves to the existing location. Otherwise, saves as a new file.
Inputs: input_data. Returns: object
save_body_as_partA
Extract one solid body from the active multibody part to a new file.
Runs SolidWorks' Save Bodies on a single named body, writing a
standalone part to file_path. The body is matched by name against
the active part's solid bodies; the response lists every solid body
found, so an unknown name reports the real options. Success is
confirmed by the file existing on disk afterwards.
Inputs: input_data (required). Returns: object
save_fileA
Save the current SolidWorks model.
Saves the currently active SolidWorks document to its existing file location. Essential for preserving work and maintaining document version control. Handles both modified and unmodified documents based on force_save setting.
Inputs: input_data (required). Returns: object
save_partB
Save the active SolidWorks part document.
Convenience wrapper that saves the currently active part. If no file_path is provided, saves to the existing location. Otherwise, saves as a new file.
Inputs: input_data. Returns: object
save_to_template_libraryB
Save template to the organization's template library.
This tool manages a centralized template library with categorization and version control.
Inputs: input_data (required). Returns: object
search_solidworks_api_helpA
Search SolidWorks API help index and return coherent guidance.
This tool helps when the LLM gets stuck by mapping user intent to discovered COM members and practical MCP workflow guidance.
Inputs: input_data. Returns: object
set_dimensionA
Set the value of a dimension in the current model.
This tool modifies the value of a named dimension and rebuilds the model. Use this to parametrically modify your model dimensions.
Inputs: input_data (required). Returns: object
set_unitsA
Set the active document's linear unit system.
Accepts mm, cm, m, in or ft (plus common aliases
such as inch or millimeters). The setting is applied and then
read back from the document; if the readback disagrees the tool
reports an error rather than a false success.
Inputs: input_data (required). Returns: object
sketch_circular_patternA
Create a circular pattern of sketch entities around the sketch origin.
Generates a circular array of selected sketch entities. The
rotation axis is always the sketch origin — SOLIDWORKS'
CreateCircularSketchStepAndRepeat does not expose a
pattern-centre parameter. Position the seed entity at the
desired radius from the origin; the pattern derives its radius
from the seed's centre.
Essential for creating bolt circles, gear teeth, and other radially symmetric features around the sketch origin.
Inputs: input_data (required). Returns: object
sketch_linear_patternB
Create a linear pattern of sketch entities.
Generates a linear array of selected sketch entities in specified direction(s) with defined spacing and count. Essential for creating hole patterns, vent grilles, and repetitive geometric features.
Inputs: input_data (required). Returns: object
sketch_mirrorA
Mirror sketch entities about a centerline.
Creates mirrored copies of selected sketch entities about a reference centerline, maintaining symmetrical design relationships. Essential for creating symmetric parts and reducing modeling time.
Inputs: input_data (required). Returns: object
sketch_offsetA
Create an offset of sketch entities.
Generates offset copies of selected sketch entities at a specified distance, maintaining the original entity shape while creating parallel geometry. Essential for wall thickness, machining allowances, and clearance features.
Inputs: input_data (required). Returns: object
sketch_tutorial_simple_holeA
Tutorial: Create a simple circular hole sketch.
Demonstrates complete workflow for creating a basic hole sketch that can be used for through-holes, counterbores, or other circular features. This tutorial shows the fundamental sketch-to-feature process.
Returns: dict[str, Any]: A dictionary containing the resulting values.
Example: ```python # Learn basic sketching workflow result = await sketch_tutorial_simple_hole()
if result["status"] == "success":
print("Tutorial completed successfully!")
print("Steps performed:")
for step in result["steps"]:
print(f" - {step}")
print(f"Next: {result['next_steps']}")
```
Workflow:
1. Creates sketch on Top plane
2. Adds 2.5mm radius circle at origin (5mm diameter hole)
3. Exits sketch editing mode
4. Returns sketch ready for extrusion or cutting operations
Note:
- Demonstrates complete sketch creation workflow
- Creates standard 5mm diameter hole geometry
- Result is ready for negative extrusion to create hole
- Perfect starting point for learning SolidWorks automationInputs: no named parameters. Returns: object
start_macro_recordingA
Start recording a SolidWorks macro.
This tool initiates macro recording to capture user actions for later playback and automation.
Inputs: input_data (required). Returns: object
stop_macro_recordingA
Stop macro recording and save the recorded macro.
This tool stops the active recording session and saves the generated macro code to a file.
Inputs: input_data (required). Returns: object
suppress_featureA
Suppress or unsuppress a feature in the active model.
Suppressing rolls a feature and its children out of the model without deleting it — the reversible way to turn off a feature that is causing trouble.
Inputs: input_data (required). Returns: object
tutorial_simple_holeA
Create a simple hole as a guided tutorial workflow.
Builds a sketch circle on the selected plane, exits the sketch, and creates a cut feature using the supplied diameter and depth. Useful as an end-to-end example of a basic subtractive feature.
Inputs: input_data (required). Returns: object
undoA
Undo the last operations in the active model.
SolidWorks accepts an undo with nothing left to undo without complaining, so the response reports whether the feature tree actually changed rather than assuming it did.
Inputs: input_data. Returns: object
update_sheet_formatC
Update the sheet format and title block information.
Applies drawing templates and updates title block fields with project information, revision data, and drawing metadata. Essential for standardized documentation and drawing control.
Inputs: input_data (required). Returns: object
update_title_blockB
Update title block fields for the active drawing.
Applies drawing metadata such as title, drawing number, and approval fields to keep documentation aligned with standards.
Inputs: input_data (required). Returns: object
validate_drawing_completenessC
Validate drawing completeness for production readiness.
Inputs: input_data (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 133 tools
Many tools overlap heavily, such as open_model/load_part/load_assembly, save_file/save_as/save_part/save_assembly, and multiple drawing analysis/compliance tools. Macro recording and VBA generation have near-duplicate pairs (e.g., start_macro_recording vs automation_start_macro_recording), causing unclear boundaries for selection.
Tool names are mostly snake_case, but verb choice is inconsistent across similar operations: load_part vs open_model, save_part vs save_file, get_mass_properties vs calculate_mass_properties, and generate_vba_extrusion vs create_extrusion. The duplicated concepts with different naming conventions make the set harder to predict.
With 133 tools, the server is massively over-scoped for a single MCP surface, far beyond the 3–15 range typical of a coherent set. The count includes many aliases, wrappers, tutorial tools, and overlapping VBA generators, indicating an extreme mismatch.
The surface broadly covers part modeling, sketching, features, assemblies, drawings, export, macros, templates, analysis, and API documentation lookup. Some notable gaps remain, such as limited assembly mating (reference geometry only) and no sheet metal, weldments, simulation, or BOM-specific tools, but core CAD workflows are largely represented.
Maintenance
Related MCP Connectors
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
CAD in ChatGPT and Claude: editable parts, STEP/STL/drawings, in-chat 3D, automatic checks.
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
AI-callable calculators and engineering models with real formulas. No hallucinated math.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceDrives SolidWorks 2022 on Windows via COM to perform CAD operations like sketching, features, dimensioning, and mass property inspection from AI assistants.2-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build, measure, verify, and correct parametric SolidWorks parts and assemblies locally via the COM API, supporting operations like sketching, extruding, modeling, dimensioning, material assignment, export, and assembly mating.MIT
- AlicenseBqualityCmaintenanceEnables Claude or any MCP client to drive a live SOLIDWORKS session through its COM API, modeling parts, building assemblies with mates, checking interferences and machining feasibility, and exporting STEP or DXF files. It also exposes a local semantic index of the SOLIDWORKS API so the model can look up signatures, enums, and official examples before running arbitrary Python against the session.222MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI assistant to drive an already-running SOLIDWORKS session over its COM API, so it can build sketches, solid features, reference geometry, assemblies, mates, and engineering drawings, then inspect the result through topology listings, mass properties, measurements, and screenshots returned as images.1Apache 2.0