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: 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)
Поддержка сборок доступна только для чтения. Компоненты, спецификации, сопряжения и массу можно читать; создание сопряжений и вставка компонентов не поддерживаются.
Нет параметрического редактирования. Элементы можно перечислять, подавлять и восстанавливать, но размерами нельзя управлять.
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