solidworks-mcp
solidworks-mcp
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:
Abrir el STEP en SolidWorks
Detectar la chapa, leer el espesor y el factor K
Enumerar y agrupar todos los agujeros por diámetro
Contar y caracterizar cada pliegue (ángulo, radio, longitud)
Desplegar la pieza y exportar el desplegado como DXF
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 cadqueryConfigurar 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 mmHerramientas disponibles
Conexión
Herramienta | Descripción |
| Conectar con SolidWorks (iniciarlo si no está en ejecución) |
| Comprobar el estado de la conexión y el documento activo |
| Liberar las referencias COM |
Archivos
Herramienta | Descripción |
| Abrir STEP, SLDPRT, IGES, etc. |
| Cerrar el documento activo |
| Guardar / Guardar como |
| Listar todos los archivos abiertos |
Análisis
Herramienta | Descripción |
| Masa, volumen, material, indicador de chapa |
| L x W x H + diagonal |
| Histograma de operaciones |
| Todos los agujeros agrupados por diámetro |
| Todos los pliegues con ángulo/radio/longitud |
| Resumen ejecutivo + clasificación de complejidad |
| Informe completo en JSON + Markdown |
| No se necesita SolidWorks — usa CadQuery |
| Ixx/Iyy/Izz + productos de inercia |
| Desglose por tipo de cara (plana, cilíndrica, etc.) |
Chapa metálica
Herramienta | Descripción |
| Comprobación verdadero/falso |
| Espesor, factor K, radio de pliegue |
| Convertir un sólido importado en chapa |
| Activar el desplegado |
| Volver al estado plegado |
Exportación
Herramienta | Descripción |
| Desplegado -> DXF (para láser / NC) |
| Pieza -> STEP AP214 |
| Pieza -> STL |
| Documento -> PDF |
| Ventana gráfica -> PNG |
Propiedades personalizadas y materiales
Herramienta | Descripción |
| Leer todas las propiedades personalizadas del documento activo |
| Leer una única propiedad por nombre |
| Crear o actualizar una propiedad personalizada |
| Eliminar una propiedad personalizada |
| Asignar un material de la biblioteca de SolidWorks |
| Listar las bases de datos de materiales .sldmat disponibles |
Configuraciones
Herramienta | Descripción |
| Listar todas las configuraciones con el indicador de activa |
| Detalles de la configuración activa actual |
| Activar una configuración diferente |
| Crear una nueva configuración (copia de una existente) |
| Eliminar una configuración |
| Propiedades personalizadas específicas de la configuración |
Mediciones
Herramienta | Descripción |
| Distancia entre dos entidades con nombre |
| Longitud/área/coordenadas de una única entidad |
| Área, normal, centroide de una cara por índice |
| Distancia mínima entre dos entidades |
| Sección transversal Ixx/Iyy/área/centroide |
Gestión de operaciones
Herramienta | Descripción |
| Listar el árbol del FeatureManager (con filtro de tipo) |
| Tipo, estado de supresión y error de una operación |
| Suprimir una operación en una configuración |
| Restaurar una operación suprimida |
| Dimensiones paramétricas de una operación |
| Forzar la reconstrucción (estándar o completa) |
| Describir un error de reconstrucción de una operación |
Planos
Herramienta | Descripción |
| Crear un nuevo plano a partir de la pieza/ensamblaje activo |
| Añadir una vista estándar/isométrica al plano |
| Listar todas las vistas del plano |
| Número de hojas, escala, tamaño de papel |
| Cambiar la escala de la hoja del plano |
Ensamblajes
Herramienta | Descripción |
| Listar todos los componentes (de nivel superior o recursivo) |
| Recuento rápido de componentes |
| Lista de materiales con cantidades |
| Listar todas las relaciones de posición |
| Masa, ruta y caja delimitadora de un componente con nombre |
| 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_metaldebe 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 -vEn 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()parcheanpythoncomywin32com.clientpor nombre, por lo que necesitan pywin32 y solo se ejecutan en Windows;analyze_step_standalonenecesita 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
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