Skip to main content
Glama

SolidworksMCP

SolidworksMCP — это сервер Model Context Protocol, ориентированный на производство, для управления живым сеансом SOLIDWORKS через Windows COM API.

Это форк alisamsam/Solidworks-MCP, который расширяет его с 82 до 143 инструментов, добавляя чертежи, редактирование сборок, листовой металл, экспорт производственных пакетов и трассировку ссылок на документы. См. Что добавляет этот форк.

Текущий выпуск: 6.5.31. Выпуск был протестирован на приемку с SOLIDWORKS 2026 SP2.1 и сохраняет защитные механизмы совместимости для SOLIDWORKS 2025.

Основные возможности

  • Нативные операции с эскизами, элементами, телами, справочной геометрией, видами, зондами и экспортом.

  • Транзакционные CAD-планы с контрольными точками, инвариантами, идемпотентностью, бюджетами и откатом.

  • Параметрические эскизы с именованными сущностями, ограничениями, размерами, уравнениями, постоянными идентификаторами и анализом степеней свободы.

  • Инструменты для многотельных деталей с явной областью слияния, проверкой зазоров, интерференции, габаритного контейнера и объёма.

  • Детерминированные конвейеры растр-в-эскиз для силуэтов и линейной графики, включая сегментацию на GPU, сохранение топологии, подгонку примитивов и обратные растровые проверки качества.

  • Нативный экспорт эскизов/тел и калиброванное геометрическое сравнение вместо приёмки только по скриншотам.

  • Проверенные команды Normal To и Fit to Screen для активного эскиза. Сервер считывает результирующую матрицу камеры и заполнение пикселей, а не доверяет команде интерфейса.

  • Чертежные документы от начала до конца: листы, виды, аннотации модели, ручные размеры, примечания, выноски, осевые линии и таблицы BOM.

  • Редактирование сборок: компоненты, сопряжения, массивы, подавление, замена и взорванные виды.

  • Листовой металл от базовой кромки до DXF плоской развертки, и производственный пакет в один вызов, экспортирующий STEP, DXF и PDF для всей сборки.

  • Поиск документов и трассировка ссылок в обоих направлениях, включая поиск использования по папке проекта.

  • Структурированная диагностика, предварительная проверка модальных диалогов, узконаправленный сторожевой механизм Modify и конечные политики восстановления.

Related MCP server: solidworks-mcp

Что добавляет этот форк

Этот репозиторий является форком alisamsam/Solidworks-MCP. В исходном выпуске было 82 инструмента, охватывающих эскизы, твердотельные элементы, тела, зонды, векторизацию и транзакционный слой. Этот форк расширяет их до 143 инструментов, а набор тестов — с 155 до 382 тестов, все из которых проходят.

Дополнения следуют дисциплине, уже установленной исходным проектом: ни одно возвращаемое значение COM не считается надежным. Каждая новая операция считывает результирующее состояние — количество аннотаций, списки компонентов, флаги подавления, количество граней, файлы на диске — и сообщает об ошибке, когда модель фактически не показывает изменение, а не когда API говорит об этом.

Чертежи (17 инструментов)

В исходном проекте вообще не было поддержки чертежных документов. Этот форк охватывает полный путь детализации: create_new_drawing, add_sheet, activate_sheet, list_sheets, insert_drawing_view, insert_standard_views, insert_section_view, insert_detail_view, list_drawing_views, set_view_scale, insert_model_annotations, insert_bom_table, add_drawing_dimension, insert_drawing_note, insert_balloons, insert_center_marks и list_drawing_annotations.

Виды и аннотации проверяются подсчетом того, что появилось на листе; CreateDrawViewFromModelView3 и InsertModelAnnotations3 оба сообщают об успехе для видов и аннотаций, которые никогда не были созданы.

Сборки (14 инструментов)

Исходный проект останавливался на открытии сборки. Этот форк добавляет работу с компонентами и сопряжениями: insert_component, list_components, add_mate, delete_mate, list_mates, set_component_fixed, check_assembly_interference, delete_component, replace_component, set_component_suppression, pattern_components, explode_assembly, show_exploded и list_exploded_views.

Листовой металл (6 инструментов)

Листовой металл — это единственная дисциплина деталей, где результатом является не твердое тело, а плоская развертка — DXF, который потребляет лазер или пуансон. create_base_flange превращает эскиз в тело листового металла; convert_to_sheet_metal превращает существующее твердое тело в листовой металл — это путь, который должна пройти импортированная геометрия, поскольку STEP изогнутого кронштейна не содержит информации об изгибе; create_edge_flange создает отбортовки от кромок без профильного эскиза; set_flat_pattern разворачивает или складывает; export_flat_pattern записывает DXF или DWG; get_sheet_metal_info сообщает толщину, радиус, K-фактор и габариты плоской развертки, необходимые для расчета стоимости или раскроя.

ExportFlatPatternView сообщает об успехе для детали, у которой не удалось построить плоскую развертку, поэтому экспорт проверяется по файлу на диске. Элемент плоской развертки находится по имени типа API, а не по отображаемому имени, поскольку отображаемые имена локализованы.

Производственный пакет (1 инструмент)

export_manufacturing_package создает папку, которую фактически получает цех, одним вызовом: STEP для каждой детали и для сборки, DXF для каждой детали из листового металла, PDF чертежа, находящегося рядом с каждой моделью, и manifest.json со списком всех файлов с материалом и массой каждой детали. Он обходит сборку компонент за компонентом, поэтому машина из двадцати деталей требует одного вызова, а не шестидесяти. Документы, которые ему пришлось открыть, затем закрываются, и исходно активный документ восстанавливается.

Поиск документов и ссылки (3 инструмента)

search_documents находит файлы SolidWorks в папке по фрагменту имени и типу. list_document_references сообщает, что использует документ, и находится ли каждый из этих файлов на диске. find_where_used отвечает на обратный вопрос — какие сборки и чертежи используют эту деталь — на который SolidWorks не может ответить напрямую, поскольку документ записывает, на что он ссылается, но никогда не записывает, что ссылается на него. Обратная карта строится путем чтения зависимостей каждой сборки и чертежа в дереве папок, что доступно только потому, что GetDocumentDependencies2 читает ссылки файла без его открытия.

Элементы (5 инструментов)

create_loft, create_rib, apply_draft, simple_hole и hole_wizard, каждый с защитой от «мертвых» элементов: элемент, который сообщает об успехе, но не добавляет геометрию, удаляется, а не остается в дереве.

Конфигурации, свойства и параметры (15 инструментов)

activate_configuration, list_configurations, list_custom_properties, set_custom_property, delete_custom_property, get_material, set_material, get_mass_properties, get_dimension, set_dimension, add_equation, set_equation, delete_equation, list_equations и rebuild_document.

ShowConfiguration2 — один из проверенных «лжецов»: он возвращает успех для конфигурации, которая никогда не была активирована, поэтому активная конфигурация считывается обратно после этого.

Помимо инструментов

  • Схемы инструментов вынесены из server.py в пакет schemas/, сгруппированный по семействам, что сократило server.py с 3819 строк до 2300.

  • Метаданные упаковки (pyproject.toml), отдельный дополнительный пакет vision для многогигабайтного бэкенда PyTorch и рабочий процесс GitHub Actions для запуска набора тестов.

  • LICENSE фиксирует обоих правообладателей и то, что меняет форк.

Требования

  • Windows 10 или Windows 11.

  • SOLIDWORKS 2025 или 2026, установленный и лицензированный.

  • Python 3.10 или новее; Python 3.11 — среда выполнения, протестированная на приемку.

  • Git LFS для упакованных контрольных точек линейной графики.

  • Настоятельно рекомендуется среда NVIDIA CUDA для режимов глубокой векторизации. get_capabilities сообщает фактическое состояние бэкенда.

Сервер управляет интерактивным процессом SOLIDWORKS. Это не безголовое CAD-ядро, и неизвестный модальный диалог должен быть проверен человеком.

Клонирование и установка

Установите Git LFS перед клонированием или загрузите объекты моделей после:

git lfs install
git clone https://github.com/aryesil/SolidworksMCP.git
Set-Location SolidworksMCP
git lfs pull

Создайте изолированное окружение Python и установите пакет:

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

Базовая установка охватывает все инструменты, кроме глубокой векторизации силуэтов, чей бэкенд PyTorch находится в дополнительном пакете vision:

python -m pip install -e ".[vision]"

Дополнительный пакет отделен, потому что колеса CUDA добавляют несколько гигабайт к установке, которую большинство инструментов никогда не используют. Сначала установите сборку PyTorch, соответствующую драйверу CUDA машины, если стандартное колесо не подходит; get_capabilities сообщает о фактически активном бэкенде.

requirements.txt по-прежнему перечисляет базовые зависимости для тех, кто устанавливает без метаданных пакета.

Конфигурация MCP

Укажите MCP-клиенту на точку входа репозитория, используя исполняемый файл Python из виртуального окружения:

{
  "mcpServers": {
    "SolidworksMCP": {
      "command": "C:\\path\\to\\SolidworksMCP\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\path\\to\\SolidworksMCP\\solidworks_mcp_server.py"
      ]
    }
  }
}

Запустите SOLIDWORKS, перезапустите или переподключите MCP-клиент, затем вызовите get_capabilities и get_environment_status перед значительной операцией моделирования.

Стабильные идентификаторы совместимости

SolidworksMCP — это публичное имя проекта и имя рукопожатия MCP. Пакет Python остается solidworks_mcp, настроенное пространство имен инструментов остается solidworks, а существующие схемы артефактов сохраняют свои идентификаторы solidworks-mcp/.... Эти внутренние имена являются контрактами совместимости и намеренно не переименовываются.

Семейства операций

Сервер предоставляет как небольшие нативные операции, так и более высокоуровневые проверенные рабочие процессы. Важные семейства включают:

  • документы и окружение: создание/открытие/сохранение/закрытие, возможности, метрики сеанса, проверка модального состояния, восстановление;

  • эскизы: стандартные плоскости, плоские грани, точные контуры в координатах модели, рисование примитивов, параметрические эскизы, размеры, ограничения, уравнения;

  • элементы: проверенные выдавливание/вырез, вращение, кинематическая операция, скругление, фаска, оболочка, зеркала, массивы, справочные оси и плоскости;

  • тела: видимость, именование, внешний вид, объём, зазор, интерференция, рабочие процессы вставки в многотельных деталях;

  • проверка: лучевые/секционные зонды, топология эскиза, нативный экспорт геометрии, сравнение эскизов и калиброванных изображений, силуэты тел;

  • векторизация: выбираемые режимы силуэта/области/линейной графики, глубокая сегментация, управляемая аппроксимация, фиксация в CAD и обратная растровая проверка;

  • чертежи: листы, виды модели и стандартные виды, сечения и детали, аннотации модели, ручные размеры, примечания, выноски, осевые линии, таблицы BOM;

  • сборки: вставка и удаление компонентов, сопряжения, замена, подавление, массивы компонентов, взорванные виды, проверка интерференции;

  • листовой металл: базовая кромка, преобразование импортированных тел, кромки-отбортовки, состояние плоской развертки, экспорт плоской развертки в DXF/DWG, параметры листового металла;

  • производственный вывод: экспорт пакета в один вызов STEP, DXF и PDF с манифестом, для детали или всей сборки;

  • документы на диске: поиск файлов по имени и типу, исходящие ссылки с обнаружением отсутствующих файлов и поиск использования по дереву папок;

  • конфигурации и параметры: конфигурации, пользовательские свойства, материалы, массовые характеристики, размеры, уравнения;

  • оркестрация: транзакции, декларативные CAD-планы, семантические примитивы, синхронизация графа модели, атомарные пакеты экспорта.

Используйте обнаружение инструментов MCP для получения авторитетной актуальной схемы. Описания инструментов и get_capabilities версионируются вместе с сервером.

Правила безопасности

  • Укажите абсолютный save_path перед первым изменением несохраненного документа или явно согласитесь на одноразовую работу с allow_unsaved_document=true.

  • Считайте success доказательством выполнения. Проверяйте топологию, количество тел, габаритные контейнеры, объём, допуски и читаемый независимый артефакт.

  • Используйте scope_bodies и expected_merge_bodies для многотельных вырезов и бобышек.

  • Не подтверждайте автоматически неизвестные диалоги. Только распознанный диалог изменения размеров, ограниченный операцией, может обрабатываться сторожевым механизмом.

  • Нативные координаты инструментов MCP используют объявленную пользовательскую единицу, обычно миллиметры. Сырые координаты SOLIDWORKS COM используют метры.

  • Не вызывайте вслепую Ctrl+8 после операций с эскизами. Версия 6.5.31 уже применяет и проверяет стабильную ориентацию стороны/верха и подгонку рабочей геометрии.

Модели векторизации

Детерминированные контрольные точки для линейного искусства находятся в solidworks_mcp/models/lineart/ и хранятся с помощью Git LFS:

  • dexined_biped_v2.pt

  • teed_biped_5.pt

Их исходный код и уведомления о лицензиях задокументированы в solidworks_mcp/models/lineart/LICENSES.md. Клон, содержащий небольшие файлы-указатели LFS вместо бинарных объектов, является неполным; выполните git lfs pull перед запуском сервера.

SOLIDWORKS Autotrace/Picture to Sketch — это интерактивная функция PropertyManager, и у неё нет поддерживаемой публичной точки входа в API. Поэтому этот сервер использует собственные детерминированные конвейеры сегментации и линейного искусства.

Конфигурация

Настройки времени выполнения по умолчанию хранятся в solidworks_mcp/config.json. Держите машино-специфичные или чувствительные переопределения в config.local.json; этот файл игнорируется Git.

Примечательные значения по умолчанию включают:

  • автоматическое обнаружение исполняемого файла и шаблонов SOLIDWORKS;

  • миллиметры в качестве единицы измерения пользователя;

  • защита диалога размеров в рамках операции;

  • ограниченные пределы транзакций/времени выполнения;

  • автоматическое управление каталогом контрольных точек;

  • ведение журнала файлов на уровне INFO.

Относительные значения log_file записываются в %LOCALAPPDATA%\SolidworksMCP\, а не в исходную копию. Абсолютный путь в config.json по-прежнему поддерживается.

Тесты

Репозиторий содержит детерминированный набор модульных и регрессионных тестов:

python -m unittest discover -s tests -p "test_*.py"

Набор проходит 382 теста. Эти тесты не заменяют приёмочное тестирование в реальном времени для поведения COM: квалификация другой основной версии SOLIDWORKS также должна охватывать стандартные плоскости, плоские грани, активацию существующих эскизов, восстановление видов, элементы, транзакции, векторизацию и экспорт.

Структура проекта

SolidworksMCP/
|-- solidworks_mcp_server.py       MCP stdio entry point
|-- requirements.txt
|-- LICENSE
|-- solidworks_mcp/
|   |-- server.py                  MCP dispatch and handlers
|   |-- schemas/                   tool schemas, grouped by family
|   |-- tool_registry.py           high-level tool metadata
|   |-- vector_worker.py           isolated scientific worker
|   |-- config.py / config.json
|   |-- constants.py
|   |-- automation/                SOLIDWORKS COM implementation
|   |-- models/lineart/            Git-LFS checkpoints and licenses
|   `-- utils/
`-- tests/
    `-- test_v6.py                 unit and regression suite

Журналы выполнения, кэши, локальные настройки клиента, контрольные точки, сгенерированные отчёты, артефакты приёмки и ручные проверки намеренно исключены из репозитория.

Лицензия

Сервер распространяется под лицензией MIT; см. LICENSE. Уведомления о упакованных моделях хранятся отдельно в solidworks_mcp/models/lineart/LICENSES.md.

Этот репозиторий является форком alisamsam/Solidworks-MCP от Samsaam Ali Baig. Оригинальное уведомление об авторских правах сохранено, а внесённые здесь изменения выпущены под той же лицензией MIT. LICENSE указывает обоих правообладателей и кратко описывает, что добавляет этот форк.

F
license - not found
Not graded
quality - not tested
B
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.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLMs to automate SolidWorks (open/save parts, modify dimensions, export STEP) via COM, and optionally generate geometry using build123d code-CAD with PNG previews.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI (e.g., Claude) to control SolidWorks via natural language, automating part creation, sketching, and feature operations through the Model Context Protocol.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for controlling a live SOLIDWORKS session through the Windows COM API, enabling native CAD operations like sketches, features, bodies, views, and exports, plus transactional plans and vectorization.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to control a running SOLIDWORKS session through its COM API, with tools for sketching, feature creation, assemblies, and visual feedback via screenshots.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.

  • Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.

  • Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…

View all MCP Connectors

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/aryesil/SolidworksMCP'

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