solidworks-mcp
solidworks-mcp
Ein MCP-Server, der eine lokale SOLIDWORKS-Installation steuert, um parametrische Volumenmodelle zu erstellen und zu modifizieren.
Verifiziert gegen SOLIDWORKS 2026 SP0 (Revision 34.0.0) unter Windows 11.
So funktioniert es
MCP client ──stdio──► solidworks-mcp ──COM──► SLDWORKS.exeSOLIDWORKS stellt eine klassische COM-Automatisierungs-API bereit. Der Server verbindet sich mit einer laufenden Instanz (oder startet eine), und jedes Tool bildet auf diese API ab.
Alle Längen sind in Millimetern und alle Winkel in Grad angegeben. Die SOLIDWORKS-API ist intern metrisch-SI; die Umrechnung erfolgt an der Tool-Grenze.
Related MCP server: solidworks-mcp
Voraussetzungen
SOLIDWORKS installiert und lizenziert, auf demselben Rechner.
Python 3.12+, 64-Bit – es muss mit der Architektur von SOLIDWORKS übereinstimmen, sonst bindet COM nicht.
uv für die Abhängigkeitsverwaltung.
Installation
uv syncBei einem MCP-Client registrieren
Für Claude Code:
claude mcp add solidworks -- uv --directory E:\solid run solidworks-mcpFür einen Client, der eine JSON-Konfiguration liest:
{
"mcpServers": {
"solidworks": {
"command": "uv",
"args": ["--directory", "E:\\solid", "run", "solidworks-mcp"]
}
}
}Tools
Sitzung und Dokumente – solidworks_status, new_part, open_part,
save_part, close_part
Skizzieren – 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
Features – extrude, cut_extrude, revolve, fillet, select_entity,
clear_selection
Parametrische Steuerung – list_features, list_dimensions, set_dimension,
add_equation, list_equations, rebuild
Inspektion – get_measurements, capture_view
Ein durchgearbeitetes Beispiel
Erstellen einer 80 × 50 × 10 mm großen Platte mit einem Loch und anschließendes parametrisches Steuern:
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")Wissenswertes
Über die API erstellte Skizzen haben keine Bemaßungen. SOLIDWORKS fügt
treibende Bemaßungen nur hinzu, wenn man sie anfordert, sodass eine mit sketch_*
gezeichnete Skizze nichts zu steuern hat. Rufen Sie add_sketch_dimension auf, während die
Skizze noch geöffnet ist, wenn Sie die Geometrie später ändern möchten.
Die Schnittrichtung folgt der Skizzennormalen. Eine Skizze auf der vorderen Ebene, die
einen von ihr weg extrudierten Körper schneidet, benötigt reverse=True, andernfalls verläuft
der Schnitt in den leeren Raum und schlägt fehl.
Referenzebenennamen sind lokalisiert. Eine spanische Installation benennt Features
Croquis1 und Saliente-Extruir1. Die Tools akzeptieren die logischen Aliase
front/top/right und lösen sie über ihre Position im Feature-Manager auf, sodass sie
unabhängig von der Benutzeroberflächensprache funktionieren. list_planes meldet die tatsächlichen Namen.
SOLIDWORKS muss ausgeführt werden. Es gibt keinen unterstützten Headless-Modus. Der Server startet die Anwendung, wenn sie nicht bereits geöffnet ist.
Modale Dialogfelder blockieren COM. add_sketch_dimension deaktiviert vorübergehend die
Einstellung „Bemaßungswert eingeben", die andernfalls ein modales Fenster öffnen und den
Aufruf aufhängen würde, und stellt sie danach wieder her.
Implementierungshinweise
Zwei pywin32-Verhaltensweisen prägen den Code und sind leicht zu übersehen:
COM-Member ohne Argumente werden beim Attributzugriff automatisch aufgerufen. Bei später Bindung gibt
doc.GetTitledie Titelzeichenfolge zurück;doc.GetTitle()löstTypeError: 'str' object is not callableaus. Member mit einem oder mehreren Argumenten werden normal aufgerufen.Typisierte Nullwerte und In/Out-Parameter benötigen explizite VARIANTs. Optionale Interface-Argumente lehnen ein bloßes
Nonemit „Type mismatch" ab und benötigenVARIANT(VT_DISPATCH, None); Fehler- und Warnungs-Out-Parameter benötigenVARIANT(VT_BYREF | VT_I4, 0), wobei das Ergebnis aus.valuezurückgelesen wird.
COM-Objekte leben in einem Single-Threaded Apartment, daher leitet com_bridge.py jeden
Aufruf durch einen dedizierten Thread. Die Enumerationswerte in constants.py wurden aus
swconst.tlb gelesen und nicht aus der Dokumentation übernommen, da einige von den
allgemein zitierten Werten abweichen – swEndCondThroughAllBoth ist 9, nicht 8.
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 gradedqualityBmaintenanceEnables 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
- AlicenseNot gradedqualityCmaintenanceEnables AI (e.g., Claude) to control SolidWorks via natural language, automating part creation, sketching, and feature operations through the Model Context Protocol.1MIT
- AlicenseNot gradedqualityBmaintenanceControl SolidWorks with plain language. Provides 89 tools for sketching, solid features, assemblies, and model feedback.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP 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.1MIT
Related MCP Connectors
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.
Convert Revit files to XKT, IFC, or DWG and query BIM data via natural language.
Revit model query + APS Design Automation runner.
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/Christancho-co/solidworks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server