Skip to main content
Glama
hiromitsdm

cad-mcp

by hiromitsdm

cad-mcp

Ein MCP-Server, der LLMs CAD-Geometrie-Analysen für STEP-Dateien zur Verfügung stellt. Laden Sie eine STEP-Datei hoch, stellen Sie Geometrie-Fragen in natürlicher Sprache und erhalten Sie überprüfbare Antworten. Basiert auf build123d (OCCT-basiert) und dem MCP Python SDK. Läuft lokal mit Claude Code.

Installation

Erfordert Python 3.12, arm64 (Apple Silicon) oder x86-64.

git clone https://github.com/your-org/cad-mcp.git
cd cad-mcp
python3.12 -m venv venv
venv/bin/pip install -r requirements.txt

Führen Sie einen Smoke-Test der Installation durch:

venv/bin/python smoke_test.py      # loads bracket.step, checks bbox
venv/bin/python verify_server.py   # connects over MCP stdio, calls all tools

Related MCP server: root-ext-cad

Ausführung

Der Server startet automatisch, wenn Claude Code dieses Verzeichnis öffnet (eine .mcp.json ist enthalten). Um ihn manuell zu starten:

venv/bin/python server.py

Um eine andere STEP-Datei zu verbinden, übergeben Sie deren absoluten Pfad bei jedem Tool-Aufruf – ein Neustart des Servers ist nicht erforderlich.

Tools

Tool

Rückgabe

list_assembly_tree

Bauteil-/Baugruppenhierarchie als Baum

get_part_dimensions

Bounding Box (mm) und Volumen (mm³)

find_holes

Zylindrische Bohrungen: Position, Durchmesser, Tiefe (mm)

measure_distance

Euklidischer Abstand zwischen Referenzpunkten des Bauteils (mm)

get_mass_properties

Masse (kg), Massenschwerpunkt (mm), Trägheitsmomente (kg·mm²)

Demo

Fünf Fragen zu fixtures/bracket.step (100 × 60 × 10 mm Aluminiumhalterung, vier M5-Durchgangsbohrungen) in Claude Code mit verbundenem MCP-Server.


Ist bracket.step ein Einzelteil oder eine Baugruppe?

Tool: list_assembly_tree

{
  "root": {
    "type": "part",
    "name": "part_root",
    "part_id": "root",
    "children": []
  }
}

Einzelteil. part_id: "root" wird an alle anderen Tools übergeben.


Was sind die Gesamtabmessungen und das Volumen?

Tool: get_part_dimensions

{
  "part_id": "root",
  "bbox_mm": { "x": 100.0, "y": 60.0, "z": 10.0 },
  "volume_mm3": 59117.5266
}

100 × 60 × 10 mm. Das Volumen ist das Nettovolumen (nur Material) — Brutto abzüglich der vier Bohrungen.


Wie viele Bohrungen und welche Größe?

Tool: find_holes

{
  "holes": [
    { "center_x_mm": -42.0, "center_y_mm": -22.0, "center_z_mm": 0.0,
      "diameter_mm": 5.3, "depth_mm": 10.0, "axis": [0.0, 0.0, 1.0] },
    { "center_x_mm":  42.0, "center_y_mm": -22.0, "center_z_mm": 0.0,
      "diameter_mm": 5.3, "depth_mm": 10.0, "axis": [0.0, 0.0, 1.0] },
    { "center_x_mm": -42.0, "center_y_mm":  22.0, "center_z_mm": 0.0,
      "diameter_mm": 5.3, "depth_mm": 10.0, "axis": [0.0, 0.0, 1.0] },
    { "center_x_mm":  42.0, "center_y_mm":  22.0, "center_z_mm": 0.0,
      "diameter_mm": 5.3, "depth_mm": 10.0, "axis": [0.0, 0.0, 1.0] }
  ]
}

Vier M5-Durchgangsbohrungen (5,3 mm) an den Ecken, alle senkrecht zur XY-Ebene.


Wie groß ist der Raumdiagonale-Abstand von Ecke zu Ecke?

Tool: measure_distance mit selector_a: "bbox_min", selector_b: "bbox_max"

{
  "distance_mm": 117.047,
  "point_a": { "part_id": "root", "selector": "bbox_min",
               "x_mm": -50.0, "y_mm": -30.0, "z_mm": 0.0 },
  "point_b": { "part_id": "root", "selector": "bbox_max",
               "x_mm":  50.0, "y_mm":  30.0, "z_mm": 10.0 }
}

√(100² + 60² + 10²) = 117,047 mm. Beide aufgelösten Punkte sind zur Nachvollziehbarkeit enthalten.


Masse und Massenschwerpunkt bei Aluminium?

Tool: get_mass_properties mit density_kg_m3: 2700.0

{
  "mass_kg": 0.159617,
  "volume_mm3": 59117.5266,
  "center_of_mass_mm": { "x_mm": 0.0, "y_mm": 0.0, "z_mm": 5.0 },
  "moments_of_inertia_kg_mm2": {
    "Ixx": 48.772745,
    "Iyy": 132.122917,
    "Izz": 178.235373
  }
}

≈ 160 g. Massenschwerpunkt am geometrischen Schwerpunkt (0, 0, 5) — zu erwarten bei einer symmetrischen Halterung mit symmetrischen Bohrungen.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    CAD-engineering MCP tool server for parametric modeling, DFM validation, mechanical calculations, and more. Enables code-CAD builds (build123d/CadQuery), model inspection, meshing, and mechanical calculators via MCP stdio.
    11
    -
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that parses CAD files (.dwg, .dxf, .dwf, etc.) via the Cadlens API, enabling LLM clients to extract and reason over entity, layer, and metadata payloads.
    7
    46 npm
    1
    MIT