Skip to main content
Glama
tmkaio

solidworks-mcp

by tmkaio

solidworks-mcp

CI License: MIT Python 3.10+

Servidor MCP que conecta Claude Desktop con SolidWorks mediante la API COM, lo que permite el análisis automatizado de piezas de chapa para la industria del utillaje y la estampación.

Lo que hace

Un ingeniero de utillaje puede abrir Claude Desktop y decir:

"Abre bracket.step, dime el espesor, todos los diámetros de los agujeros, el número de pliegues y exporta el desplegado como DXF."

Claude llama a las herramientas MCP para:

  1. Abrir el STEP en SolidWorks

  2. Detectar la chapa, leer el espesor y el factor K

  3. Enumerar y agrupar todos los agujeros por diámetro

  4. Contar y caracterizar cada pliegue (ángulo, radio, longitud)

  5. Desplegar la pieza y exportar el desplegado como DXF

  6. Devolver un informe de análisis estructurado

Tiempo ahorrado: de 60 a 90 minutos de inspección manual → ~60 segundos.

Related MCP server: Civil3D MCP Server

Pruébalo sin SolidWorks

La mayor parte de este proyecto necesita una instalación licenciada de SolidWorks, pero analyze_step_standalone se ejecuta en cualquier lugar donde lo haga CadQuery. Con el caso de prueba de este repositorio:

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))
"

Salida real para sample_part.step — una placa de 100 x 60 x 2 mm con cuatro agujeros pasantes de Ø6 mm (resumida; el resultado completo también incluye file_path, los límites individuales de la caja delimitadora y una nota sobre las unidades):

{
  "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
}

Requisitos previos

Requisito

Versión

Windows

10 u 11 (64 bits)

Python

3.10, 3.11 o 3.12

SolidWorks

Standard 2022 o posterior (debe estar instalado y con licencia)

Claude Desktop

última versión

Instalación rápida

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

Configurar Claude Desktop

Copia claude_desktop_config.example.json y combínalo con tu configuración de Claude:

Ubicación: %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"
      }
    }
  }
}

Reinicia Claude Desktop. Debería aparecer un icono de martillo (🔨) en la barra de herramientas del chat.

Consulta docs/INSTALL.md para obtener una guía paso a paso.

Ejemplo de conversación

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

Herramientas disponibles

Conexión

Herramienta

Descripción

solidworks_connect

Conectar con SolidWorks (iniciarlo si no está en ejecución)

solidworks_status

Comprobar el estado de la conexión y el documento activo

solidworks_disconnect

Liberar las referencias COM

Archivos

Herramienta

Descripción

open_file

Abrir STEP, SLDPRT, IGES, etc.

close_file

Cerrar el documento activo

save_file

Guardar / Guardar como

list_open_documents

Listar todos los archivos abiertos

Análisis

Herramienta

Descripción

get_part_info

Masa, volumen, material, indicador de chapa

get_bounding_box

L x W x H + diagonal

count_features_by_type

Histograma de operaciones

analyze_holes

Todos los agujeros agrupados por diámetro

analyze_bends

Todos los pliegues con ángulo/radio/longitud

get_geometry_stats

Resumen ejecutivo + clasificación de complejidad

generate_part_report

Informe completo en JSON + Markdown

analyze_step_standalone

No se necesita SolidWorks — usa CadQuery

get_moments_of_inertia

Ixx/Iyy/Izz + productos de inercia

analyze_faces

Desglose por tipo de cara (plana, cilíndrica, etc.)

Chapa metálica

Herramienta

Descripción

is_sheet_metal

Comprobación verdadero/falso

get_sheet_metal_properties

Espesor, factor K, radio de pliegue

convert_to_sheet_metal

Convertir un sólido importado en chapa

flatten_part

Activar el desplegado

unflatten_part

Volver al estado plegado

Exportación

Herramienta

Descripción

export_dxf

Desplegado -> DXF (para láser / NC)

export_step

Pieza -> STEP AP214

export_stl

Pieza -> STL

export_pdf

Documento -> PDF

take_screenshot

Ventana gráfica -> PNG

Propiedades personalizadas y materiales

Herramienta

Descripción

get_custom_properties

Leer todas las propiedades personalizadas del documento activo

get_custom_property

Leer una única propiedad por nombre

set_custom_property

Crear o actualizar una propiedad personalizada

delete_custom_property

Eliminar una propiedad personalizada

set_material

Asignar un material de la biblioteca de SolidWorks

get_material_databases

Listar las bases de datos de materiales .sldmat disponibles

Configuraciones

Herramienta

Descripción

list_configurations

Listar todas las configuraciones con el indicador de activa

get_active_configuration

Detalles de la configuración activa actual

switch_configuration

Activar una configuración diferente

add_configuration

Crear una nueva configuración (copia de una existente)

delete_configuration

Eliminar una configuración

get_configuration_properties

Propiedades personalizadas específicas de la configuración

Mediciones

Herramienta

Descripción

measure_distance

Distancia entre dos entidades con nombre

measure_entity

Longitud/área/coordenadas de una única entidad

get_face_properties

Área, normal, centroide de una cara por índice

measure_minimum_distance

Distancia mínima entre dos entidades

get_section_properties

Sección transversal Ixx/Iyy/área/centroide

Gestión de operaciones

Herramienta

Descripción

list_features

Listar el árbol del FeatureManager (con filtro de tipo)

get_feature_info

Tipo, estado de supresión y error de una operación

suppress_feature

Suprimir una operación en una configuración

unsuppress_feature

Restaurar una operación suprimida

get_feature_dimensions

Dimensiones paramétricas de una operación

rebuild_model

Forzar la reconstrucción (estándar o completa)

get_feature_error

Describir un error de reconstrucción de una operación

Planos

Herramienta

Descripción

create_drawing_from_part

Crear un nuevo plano a partir de la pieza/ensamblaje activo

add_drawing_view

Añadir una vista estándar/isométrica al plano

list_drawing_views

Listar todas las vistas del plano

get_drawing_info

Número de hojas, escala, tamaño de papel

set_drawing_scale

Cambiar la escala de la hoja del plano

Ensamblajes

Herramienta

Descripción

get_assembly_components

Listar todos los componentes (de nivel superior o recursivo)

get_component_count

Recuento rápido de componentes

get_assembly_bom

Lista de materiales con cantidades

list_assembly_mates

Listar todas las relaciones de posición

get_component_info

Masa, ruta y caja delimitadora de un componente con nombre

get_assembly_mass

Masa total del ensamblaje y centro de masa

Limitaciones (v0.1)

  • El soporte de ensamblajes es de solo lectura. Se pueden leer componentes, listas de materiales, relaciones de posición y masa; no se admite crear relaciones de posición ni insertar componentes.

  • Sin edición paramétrica. Las operaciones se pueden listar, suprimir y desuprimir, pero las dimensiones no se pueden modificar.

  • Los archivos STEP se importan como sólidos "tontos". convert_to_sheet_metal debe ejecutarse antes de que el análisis de pliegues devuelva resultados.

  • Sin diseño de tira / matriz progresiva.

  • Solo Windows, y requiere una instalación local licenciada de SolidWorks — la API COM necesita la aplicación completa. La única excepción es analyze_step_standalone, que se ejecuta en cualquier lugar mediante CadQuery.

Hoja de ruta

Versión

Funcionalidad

v0.2

Herramientas de diseño de tira — configuración de estaciones

v0.3

Cálculos de fuerza (corte, plegado, embutición)

Más allá de eso: la detección de conformabilidad y socavados, las anotaciones GD&T en los planos generados y la integración de anidado son direcciones plausibles, pero no hay nada comprometido.

Desarrollo

El conjunto de pruebas simula la capa COM, por lo que no se necesita una licencia de SolidWorks para ejecutarlo:

pip install -e ".[dev]"
ruff check src tests
pytest -v

En Windows eso es todo: se ejecutan las 54 pruebas. CI ejecuta los mismos dos comandos en Linux, instalando las dependencias puras de Python directamente en lugar de mediante pip install -e ., porque pywin32 no tiene wheel para Linux.

Dos grupos se autoexcluyen en lugar de fallar cuando falta una dependencia:

  • las pruebas de connect() / disconnect() parchean pythoncom y win32com.client por nombre, por lo que necesitan pywin32 y solo se ejecutan en Windows;

  • analyze_step_standalone necesita CadQuery.

Todo lo demás — el contrato de llamadas COM, la extracción de agujeros y pliegues, la conversión de unidades, el recorrido de operaciones — se ejecuta en cualquier lugar.

Registros

Registros del servidor: %USERPROFILE%\.solidworks-mcp\logs\server.log

Registros de Claude Desktop: %APPDATA%\Claude\logs\

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

UpdatingMaintainers
UpdatingResponse time
Release cycle
0Releases (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
    D
    maintenance
    Enables 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.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude to a running Autodesk Civil 3D instance via COM automation to perform drawing, surface, alignment, COGO point, line, and corridor operations.
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to create and manipulate SolidWorks CAD models through natural language commands, automating part creation, sketching, and extrusion.
    9
  • A
    license
    B
    quality
    C
    maintenance
    Enables connecting MCP clients to local SolidWorks for automated 3D part creation, template generation, file export, and basic review via natural language.
    10
    1
    MIT

View all related MCP servers

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.

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/tmkaio/solidworks-mcp'

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