solidworks-mcp
solidworks-mcp
Un servidor MCP que controla una instalación local de SOLIDWORKS para crear y modificar modelos sólidos paramétricos.
Verificado con SOLIDWORKS 2026 SP0 (revisión 34.0.0) en Windows 11.
Cómo funciona
MCP client ──stdio──► solidworks-mcp ──COM──► SLDWORKS.exeSOLIDWORKS expone una API de automatización COM clásica. El servidor se conecta a una instancia en ejecución (o inicia una), y cada herramienta se asigna a esa API.
Todas las longitudes están en milímetros y todos los ángulos en grados. La API de SOLIDWORKS es métrica-SI internamente; la conversión ocurre en el límite de la herramienta.
Related MCP server: SolidworksMCP
Requisitos
SOLIDWORKS instalado y con licencia, en la misma máquina.
Python 3.12+ de 64 bits — debe coincidir con la arquitectura de SOLIDWORKS o COM no se vinculará.
uv para la gestión de dependencias.
Instalación
uv syncRegistrar con un cliente MCP
Para Claude Code:
claude mcp add solidworks -- uv --directory E:\solid run solidworks-mcpPara un cliente que lee una configuración JSON:
{
"mcpServers": {
"solidworks": {
"command": "uv",
"args": ["--directory", "E:\\solid", "run", "solidworks-mcp"]
}
}
}Herramientas
Sesión y documentos — solidworks_status, new_part, open_part,
save_part, close_part
Dibujo — list_planes, start_sketch, start_sketch_on_face,
sketch_line, sketch_centerline, sketch_circle, sketch_rectangle,
sketch_arc, sketch_polygon, sketch_ellipse, add_sketch_dimension,
add_sketch_relation, finish_sketch
Operaciones — extrude, cut_extrude, revolve, fillet, select_entity,
clear_selection
Control paramétrico — list_features, list_dimensions, set_dimension,
add_equation, list_equations, rebuild
Inspección — get_measurements, capture_view
Un ejemplo práctico
Construyendo una placa de 80 × 50 × 10 mm con un agujero, y luego manejándola paramétricamente:
new_part
start_sketch(plane="front")
sketch_rectangle(0, 0, 80, 50)
add_sketch_dimension(entities=[[40, 0]], value=80) -> "D1@Croquis1"
add_sketch_dimension(entities=[[0, 25]], value=50) -> "D2@Croquis1"
finish_sketch
extrude(depth=10)
start_sketch(plane="front")
sketch_circle(40, 25, 8)
finish_sketch
cut_extrude(depth=10, end_condition="through_all", reverse=True)
fillet(radius=5, edges=[[0,0,5], [80,0,5], [80,50,5], [0,50,5]])
set_dimension("D1@Croquis1", 120) -> the solid rebuilds to 120 mm wide
get_measurements -> bounding box 120 x 50 x 10 mm
capture_view("isometric")Cosas que conviene saber
Los croquis creados a través de la API no tienen cotas. SOLIDWORKS solo añade
cotas de conducción cuando se las pides, así que un croquis dibujado solo con
sketch_* no tiene nada que conducir. Llama a add_sketch_dimension mientras el
croquis sigue abierto si pretendes cambiar la geometría más tarde.
La dirección del corte sigue la normal del croquis. Un croquis en el Plano
Frontal que corta un sólido que fue extruido alejándose de él necesita
reverse=True, de lo contrario el corte viaja hacia el espacio vacío y falla.
Los nombres de los planos de referencia están localizados. Una instalación en
español nombra las operaciones Croquis1 y Saliente-Extruir1. Las herramientas
aceptan los alias lógicos front/top/right y los resuelven por posición en el
árbol de operaciones, por lo que funcionan independientemente del idioma de la
interfaz. list_planes informa de los nombres reales.
SOLIDWORKS debe estar en ejecución. No hay un modo sin interfaz compatible. El servidor inicia la aplicación si no está ya abierta.
Los diálogos modales bloquean COM. add_sketch_dimension desactiva
temporalmente la preferencia "introducir valor de cota", que de otro modo abriría
una ventana modal y colgaría la llamada, y la restaura después.
Notas de implementación
Dos comportamientos de pywin32 dan forma al código y son fáciles de tropezar:
Los miembros COM de cero argumentos se invocan automáticamente al acceder a un atributo. Con enlace tardío,
doc.GetTitledevuelve la cadena del título;doc.GetTitle()lanzaTypeError: 'str' object is not callable. Los miembros que toman uno o más argumentos se llaman normalmente.Los nulos tipados y los parámetros de entrada/salida necesitan VARIANTs explícitos. Los argumentos de interfaz opcionales rechazan un
Nonesimple con "Type mismatch" y necesitanVARIANT(VT_DISPATCH, None); los parámetros de salida de error y advertencia necesitanVARIANT(VT_BYREF | VT_I4, 0), con el resultado leído de.value.
Los objetos COM viven en un apartamento de un solo hilo, así que com_bridge.py
canaliza cada llamada a través de un hilo dedicado. Los valores de enumeración en
constants.py se leyeron de swconst.tlb en lugar de transcribirse de la
documentación, porque algunos difieren de los valores comúnmente citados —
swEndCondThroughAllBoth es 9, no 8.
Related MCP Connectors
Build, check and report on MIDAS CIVIL NX bridge models through the MIDAS IT Europe plugins.
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Manage SysML2 projects; check, evaluate, verify, query, document and diagram models.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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
- FlicenseNot gradedqualityBmaintenanceEnables control of a live SOLIDWORKS session through the Windows COM API, providing native sketch, feature, body, reference-geometry, view, probe, and export operations, along with transactional CAD plans, parametric sketches, multibody tools, and deterministic raster-to-sketch vectorization pipelines.1-
- AlicenseBqualityBmaintenanceEnables MCP clients like Claude to automate SOLIDWORKS 2025 and SOLIDWORKS CAM via COM, covering parts, assemblies, drawings, and CAM toolpaths. It generates real geometry, mass properties, and posted G-code files directly on disk.401MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build, measure, verify, and correct parametric SolidWorks parts and assemblies locally via the COM API, supporting operations like sketching, extruding, modeling, dimensioning, material assignment, export, and assembly mating.MIT