solidworks-mcp
solidworks-mcp
MCP-сервер, который подключает Claude Desktop к SolidWorks через COM API и обеспечивает автоматический анализ деталей из листового металла для инструментальной и штамповочной промышленности.
Что он делает
Инженер-технолог может открыть Claude Desktop и сказать:
«Открой
bracket.step, укажи толщину, все диаметры отверстий, количество гибов и экспортируй плоскую развёртку в DXF.»
Claude вызывает инструменты MCP, чтобы:
Открыть STEP-файл в SolidWorks
Распознать листовой металл, считать толщину и K-фактор
Перечислить и сгруппировать все отверстия по диаметру
Подсчитать и охарактеризовать каждый гиб (угол, радиус, длина)
Развернуть деталь и экспортировать плоскую развёртку в DXF
Вернуть структурированный отчёт об анализе
Экономия времени: 60–90 минут ручной проверки → ~60 секунд.
Related MCP server: solidworks-mcp-python
Попробуйте без 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)
Поддержка сборок доступна только для чтения. Компоненты, спецификации, сопряжения и массу можно читать; создание сопряжений и вставка компонентов не поддерживаются.
Нет параметрического редактирования. Элементы можно перечислять, подавлять и восстанавливать, но размерами нельзя управлять.
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 deployed
Maintenance
Related MCP Connectors
CAD in ChatGPT and Claude: editable parts, STEP/STL/drawings, in-chat 3D, automatic checks.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Phasio is the operating platform contract manufacturers run on: quoting, production, and back office across additive, CNC, molding, and every process in between. This connector gives LLMs like Claude, ChatGPT and Grok access to your Phasio workspace, so you can interact naturally with your manufacturing data. Commercial - Which customers drive the most revenue? How storefront self-service orders compare against quotes your team builds by hand? Where do carts convert and where they stall? Parts - Inspect any parts volume, bounding box, minimum wall thickness and watertightness, with rendered orthogonal views. Find near-duplicates of a part you've already made before you quote it again. Pricing - Run quotes against parts using your LLM. Ask the model to explain why a part got a certain price, and to tune and refine your pricing equations. Production - Where a job's parts sit on the routing right now? What's been scrapped and why, and which other jobs were caught by the same failed build? Setup - Easily configure pricing equations, shop floor routing and your QMS agentically.
Create contacts, move deals, send proposals and invoices, read your inbox, from Claude or ChatGPT.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to create and manipulate SolidWorks CAD models through natural language commands, automating part creation, sketching, and extrusion.10-
- AlicenseBqualityBmaintenanceEnables 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.221MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents such as Claude to drive SolidWorks through its COM API using natural language, creating parts and assemblies, sketching geometry, and adding features without clicking menus. Also supports running arbitrary API scripts and verifying results through model reports, rendered views, interference checks, and exports.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude to control SolidWorks through natural language, supporting part and assembly creation, sketches, advanced features, dimension editing, selection inspection, screenshots, and rebuilds.MIT