Skip to main content
Glama
tmkaio

solidworks-mcp

by tmkaio

solidworks-mcp

CI License: MIT Python 3.10+

MCP-Server, der Claude Desktop über die COM-API mit SolidWorks verbindet und die automatisierte Analyse von Blechteilen für die Werkzeug- und Stanzindustrie ermöglicht.

Was es tut

Ein Werkzeugbauingenieur kann Claude Desktop öffnen und sagen:

„Öffne bracket.step, nenne mir die Blechdicke, alle Bohrungsdurchmesser, die Anzahl der Biegungen und exportiere die Abwicklung als DXF.“

Claude ruft die MCP-Tools auf, um:

  1. Die STEP-Datei in SolidWorks zu öffnen

  2. Blech zu erkennen, Dicke + K-Faktor auszulesen

  3. Alle Bohrungen zu erfassen und nach Durchmesser zu gruppieren

  4. Jede Biegung zu zählen und zu charakterisieren (Winkel, Radius, Länge)

  5. Das Teil abzuwickeln und die Abwicklung als DXF zu exportieren

  6. Einen strukturierten Analysebericht zurückzugeben

Zeitersparnis: 60–90 Minuten manuelle Inspektion → ~60 Sekunden.

Related MCP server: Civil3D MCP Server

Testen ohne SolidWorks

Der Großteil dieses Projekts benötigt eine lizenzierte SolidWorks-Installation, aber analyze_step_standalone läuft überall dort, wo CadQuery läuft. Anhand der Testvorlage in diesem Repository:

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

Tatsächliche Ausgabe für sample_part.step — eine 100 x 60 x 2 mm große Platte mit vier Ø6 mm Durchgangsbohrungen (gekürzt; das vollständige Ergebnis enthält außerdem file_path, die einzelnen Begrenzungsrahmenwerte und einen Hinweis zu den Einheiten):

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

Die vier Bohrungen erscheinen als die vier zylindrischen Flächen, und die Dicke wird aus der kleinsten Begrenzungsrahmen-Abmessung abgeleitet.

Voraussetzungen

Voraussetzung

Version

Windows

10 oder 11 (64-Bit)

Python

3.10, 3.11 oder 3.12

SolidWorks

Standard 2022 oder neuer (muss installiert und lizenziert sein)

Claude Desktop

neueste Version

SolidWorks muss auf demselben Rechner wie dieser Server installiert und aktiviert sein. Die COM-API benötigt die vollständige Anwendung — SolidWorks PDM oder Viewer sind nicht ausreichend.

Schnellinstallation

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

Claude Desktop konfigurieren

Kopieren Sie claude_desktop_config.example.json und übernehmen Sie die Inhalte in Ihre Claude-Konfiguration:

Speicherort: %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"
      }
    }
  }
}

Starten Sie Claude Desktop neu. In der Chat-Symbolleiste sollte ein Hammer-Symbol (🔨) erscheinen.

Eine Schritt-für-Schritt-Anleitung finden Sie unter docs/INSTALL.md.

Beispielkonversation

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

Verfügbare Tools

Verbindung

Tool

Beschreibung

solidworks_connect

Verbindung zu SolidWorks herstellen (starten, falls nicht ausgeführt)

solidworks_status

Verbindungsstatus und aktives Dokument prüfen

solidworks_disconnect

COM-Referenzen freigeben

Dateien

Tool

Beschreibung

open_file

STEP, SLDPRT, IGES usw. öffnen

close_file

Aktives Dokument schließen

save_file

Speichern / Speichern unter

list_open_documents

Alle geöffneten Dateien auflisten

Analyse

Tool

Beschreibung

get_part_info

Masse, Volumen, Material, Blech-Flag

get_bounding_box

L x B x H + Diagonale

count_features_by_type

Feature-Histogramm

analyze_holes

Alle Bohrungen nach Durchmesser gruppiert

analyze_bends

Alle Biegungen mit Winkel/Radius/Länge

get_geometry_stats

Kurzüberblick + Komplexitätsbewertung

generate_part_report

Vollständiger JSON- + Markdown-Bericht

analyze_step_standalone

Kein SolidWorks erforderlich — nutzt CadQuery

get_moments_of_inertia

Ixx/Iyy/Izz + Trägheitsprodukte

analyze_faces

Flächentyp-Aufschlüsselung (planar/zylindrisch/usw.)

Blech

Tool

Beschreibung

is_sheet_metal

True/False-Prüfung

get_sheet_metal_properties

Dicke, K-Faktor, Biegeradius

convert_to_sheet_metal

Importierten Festkörper in Blech umwandeln

flatten_part

Abwicklung aktivieren

unflatten_part

In den gefalteten Zustand zurückkehren

Export

Tool

Beschreibung

export_dxf

Abwicklung -> DXF (für Laser/NC)

export_step

Teil -> STEP AP214

export_stl

Teil -> STL

export_pdf

Dokument -> PDF

take_screenshot

Ansichtsfenster -> PNG

Benutzerdefinierte Eigenschaften & Materialien

Tool

Beschreibung

get_custom_properties

Alle benutzerdefinierten Eigenschaften aus dem aktiven Dokument lesen

get_custom_property

Eine einzelne benannte Eigenschaft lesen

set_custom_property

Eine benutzerdefinierte Eigenschaft erstellen oder aktualisieren

delete_custom_property

Eine benutzerdefinierte Eigenschaft entfernen

set_material

Ein Material aus der SolidWorks-Bibliothek zuweisen

get_material_databases

Verfügbare .sldmat-Materialdatenbanken auflisten

Konfigurationen

Tool

Beschreibung

list_configurations

Alle Konfigurationen mit Aktiv-Status auflisten

get_active_configuration

Details der aktuell aktiven Konfiguration

switch_configuration

Eine andere Konfiguration aktivieren

add_configuration

Eine neue Konfiguration erstellen (Kopie einer vorhandenen)

delete_configuration

Eine Konfiguration entfernen

get_configuration_properties

Konfigurationsspezifische benutzerdefinierte Eigenschaften

Messungen

Tool

Beschreibung

measure_distance

Abstand zwischen zwei benannten Objekten

measure_entity

Länge/Fläche/Koordinaten eines einzelnen Objekts

get_face_properties

Fläche, Normale, Schwerpunkt einer Fläche nach Index

measure_minimum_distance

Mindestabstand zwischen zwei Objekten

get_section_properties

Querschnitt Ixx/Iyy/Fläche/Schwerpunkt

Feature-Verwaltung

Tool

Beschreibung

list_features

FeatureManager-Struktur auflisten (mit Typfilter)

get_feature_info

Typ, Unterdrückungsstatus, Fehler für ein Feature

suppress_feature

Ein Feature in einer Konfiguration unterdrücken

unsuppress_feature

Ein unterdrücktes Feature wiederherstellen

get_feature_dimensions

Parametrische Bemaßungen an einem Feature

rebuild_model

Neuaufbau erzwingen (Standard oder vollständig)

get_feature_error

Einen Feature-Neuaufbaufehler beschreiben

Zeichnungen

Tool

Beschreibung

create_drawing_from_part

Neue Zeichnung aus aktivem Bauteil bzw. aktiver Baugruppe erstellen

add_drawing_view

Standard- bzw. isometrische Ansicht zur Zeichnung hinzufügen

list_drawing_views

Alle Ansichten der Zeichnung auflisten

get_drawing_info

Blattanzahl, Maßstab, Papierformat

set_drawing_scale

Zeichnungsmaßstab ändern

Baugruppen

Tool

Beschreibung

get_assembly_components

Alle Komponenten auflisten (oberste Ebene oder rekursiv)

get_component_count

Schnelle Komponentenzählung

get_assembly_bom

Stückliste mit Mengen

list_assembly_mates

Alle Verknüpfungen (Mates) auflisten

get_component_info

Masse, Pfad, Begrenzungsrahmen für eine benannte Komponente

get_assembly_mass

Gesamtmasse und Massenschwerpunkt der Baugruppe

Einschränkungen (v0.1)

  • Baugruppenunterstützung ist schreibgeschützt. Komponenten, Stücklisten, Verknüpfungen und Masse können gelesen werden; das Erstellen von Verknüpfungen oder das Einfügen von Komponenten wird nicht unterstützt.

  • Keine parametrische Bearbeitung. Features können aufgelistet, unterdrückt und wiederhergestellt werden, aber Bemaßungen können nicht gesteuert werden.

  • STEP-Dateien werden als „dumme“ Volumenkörper importiert. convert_to_sheet_metal muss ausgeführt werden, bevor die Biegeanalyse irgendetwas zurückgibt.

  • Kein Streifenlayout / keine Folgewerkzeugkonstruktion.

  • Nur Windows und erfordert eine lizenzierte lokale SolidWorks-Installation — die COM-API benötigt die vollständige Anwendung. Die einzige Ausnahme ist analyze_step_standalone, das überall via CadQuery läuft.

Roadmap

Version

Funktion

v0.2

Werkzeuge für Streifenlayout — Stationskonfiguration

v0.3

Kraftberechnungen (Schneiden, Biegen, Ziehen)

Darüber hinaus sind Umformbarkeits- und Hinterschneidungserkennung, GD&T-Bemaßung auf generierten Zeichnungen und Nesting-Integration plausible Richtungen, aber es ist nichts verbindlich zugesagt.

Entwicklung

Die Testsuite mockt die COM-Ebene, daher ist zum Ausführen keine SolidWorks-Lizenz erforderlich:

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

Unter Windows ist das die ganze Geschichte: Alle 54 Tests laufen. CI führt dieselben zwei Befehle auf Linux aus und installiert die reinen Python-Abhängigkeiten direkt statt über pip install -e ., weil pywin32 kein Linux-Wheel hat.

Zwei Gruppen überspringen sich selbst, anstatt fehlzuschlagen, wenn eine Abhängigkeit fehlt:

  • die connect()- / disconnect()-Tests patchen pythoncom und win32com.client namentlich, benötigen also pywin32 und laufen nur unter Windows;

  • analyze_step_standalone benötigt CadQuery.

Alles andere — der COM-Aufrufvertrag, die Bohrungs- und Biegeextraktion, die Einheitenumrechnung, die Feature-Traversierung — läuft überall.

Logs

Server-Logs: %USERPROFILE%\.solidworks-mcp\logs\server.log

Claude-Desktop-Logs: %APPDATA%\Claude\logs\

Lizenz

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