Skip to main content
Glama
Said-AER

SolidWorks MCP Bridge

by Said-AER

SolidWorks Bridge МОСТ 🌉 ⚙️

Сервер и интеграционный мост на основе Model Context Protocol (MCP) для взаимодействия локальных языковых моделей (через Ollama) с COM API SolidWorks.

Позволяет LLM, таким как qwen3:8b и qwen3:30b-a3b, проверять состояние модели, анализировать дерево операций, считывать размеры, запрашивать уравнения, извлекать физические свойства массы и экспортировать технические файлы автоматизированно и структурированно.


🎯 Область проекта

  • Уровень 1 (текущая фаза — чтение): Неразрушающая проверка деталей, сборок, размеров, уравнений, массы и исследований FEA.

  • Уровень 2 (будущая фаза — редактирование): Параметрическое изменение размеров, глобальных переменных и управляемая перестройка.

  • Уровень 3 (будущая фаза — генерация): Создание 2D/3D-эскизов, операций и автоматизированных макросов.


Related MCP server: solidworks-mcp

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

LOCAL LLM/
├── requirements.txt         # Dependencias Python (mcp, pywin32, pydantic, ollama, etc.)
├── pyproject.toml           # Configuración del paquete y testing
├── .env.example             # Plantilla de variables de entorno
├── .env                     # Configuración activa local
├── src/
│   └── sw_bridge/
│       ├── config.py         # Carga de configuración (pydantic-settings)
│       ├── logging_config.py # Logging estructurado JSON por sesión
│       ├── server.py         # Servidor MCP (fastmcp / stdio / sse)
│       ├── sw_connection/    # Conexión COM a SolidWorks
│       │   ├── connector.py  # Singleton y reconexión automática
│       │   ├── exceptions.py # Excepciones tipadas
│       │   └── models.py     # Modelos de datos Pydantic
│       └── tools/            # Herramientas de Nivel 1
│           ├── document_tools.py
│           ├── feature_tree_tools.py
│           ├── dimension_tools.py
│           ├── mass_props_tools.py
│           ├── export_tools.py
│           └── fea_tools.py
├── tests/                    # Pruebas automatizadas (pytest)
├── scripts/
│   ├── test_tool_calling.py  # Validación de llamadas a funciones con Ollama
│   └── smoke_test.py         # Smoke test contra SolidWorks
└── docs/                     # Especificaciones y resolución de problemas
    ├── alcance.md
    ├── tool_schemas.md
    └── troubleshooting.md

🚀 Установка и запуск

1. Активация виртуального окружения

.\sw-mcp-env\Scripts\activate

2. Проверка моделей в Ollama

Убедитесь, что доступна модель с поддержкой инструментов:

ollama list
ollama show qwen3:8b

3. Тестирование Tool Calling с локальной LLM

.\sw-mcp-env\Scripts\python scripts/test_tool_calling.py

4. Запуск набора тестов

.\sw-mcp-env\Scripts\pytest tests/ -v

5. Запуск сервера MCP (режим stdio)

.\sw-mcp-env\Scripts\python -m sw_bridge.server --transport stdio

🛠️ Доступные инструменты (Уровень 1)

Инструмент

Описание

check_solidworks_status

Проверяет, отвечает ли SolidWorks через COM.

get_active_document_info

Получает тип, путь, конфигурации и статус сохранения.

list_open_documents

Перечисляет все документы, загруженные в сеансе.

get_feature_tree

Извлекает полное дерево операций (FeatureManager).

get_feature_details

Исследует определение и параметры операции.

list_dimensions

Перечисляет числовые размеры модели или операции.

get_equations

Считывает уравнения и глобальные переменные менеджера уравнений.

get_mass_properties

Вычисляет массу (кг), объём, центр тяжести и инерцию.

export_step

Экспортирует активную модель в нейтральный формат STEP.

export_pdf

Экспортирует 2D-чертёж или активный вид в PDF.

export_screenshot

Сохраняет снимок экрана в высоком разрешении в формате PNG.

list_simulation_studies

Перечисляет исследования конечно-элементного анализа (FEA).

get_simulation_study_results

Запрашивает напряжения по фон Мизесу и коэффициенты запаса прочности.


⚙️ Настройка в качестве сервера MCP в Antigravity / Claude Desktop

Добавьте следующую конфигурацию в свой MCP-клиент:

{
  "mcpServers": {
    "solidworks-bridge": {
      "command": "C:\\Users\\said\\Desktop\\LOCAL LLM\\sw-mcp-env\\Scripts\\python.exe",
      "args": ["-m", "sw_bridge.server", "--transport", "stdio"],
      "cwd": "C:\\Users\\said\\Desktop\\LOCAL LLM"
    }
  }
}
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

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that exposes CAD geometry reasoning over STEP files to LLMs, allowing natural language queries about parts, assemblies, dimensions, holes, and mass properties.
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP bridge server for SolidWorks that enables AI assistants to control SolidWorks programmatically via COM automation.
    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
  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that drives SolidWorks 2023+ on Windows, exposing CAD operations like sketching, extrusions, assemblies, and exports through tools for AI assistants like Kimi and Claude.

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • MCP server for AI dialogue using various LLM models via AceDataCloud

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/Said-AER/solidworks-mcp-bridge'

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