Skip to main content
Glama
hiromitsdm

cad-mcp

by hiromitsdm

cad-mcp

Un servidor MCP que expone el razonamiento de geometría CAD sobre archivos STEP a LLMs. Suelta un archivo STEP, haz preguntas de geometría en lenguaje natural y obtén respuestas verificables. Construido sobre build123d (respaldado por OCCT) y el SDK de Python para MCP. Se ejecuta localmente con Claude Code.

Instalación

Requiere Python 3.12, arm64 (Apple Silicon) o 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

Prueba de funcionamiento de la instalación:

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

Ejecución

El servidor se inicia automáticamente cuando Claude Code abre este directorio (se incluye .mcp.json). Para iniciarlo manualmente:

venv/bin/python server.py

Para conectar un archivo STEP diferente, pasa su ruta absoluta en cualquier llamada a la herramienta; no es necesario reiniciar el servidor.

Herramientas

Herramienta

Devuelve

list_assembly_tree

Jerarquía de piezas/ensamblajes como un árbol

get_part_dimensions

Caja delimitadora (mm) y volumen (mm³)

find_holes

Orificios cilíndricos: posición, diámetro, profundidad (mm)

measure_distance

Distancia euclidiana entre puntos de referencia de la pieza (mm)

get_mass_properties

Masa (kg), centro de masa (mm), momentos de inercia (kg·mm²)

Demostración

Cinco preguntas realizadas sobre fixtures/bracket.step (soporte de aluminio de 100 × 60 × 10 mm, cuatro orificios de paso M5) en Claude Code con el servidor MCP conectado.


¿Es bracket.step una sola pieza o un ensamblaje?

Herramienta: list_assembly_tree

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

Pieza única. part_id: "root" se pasa a todas las demás herramientas.


¿Cuáles son las dimensiones generales y el volumen?

Herramienta: 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. El volumen es neto (solo material): bruto menos los cuatro orificios.


¿Cuántos orificios hay y de qué tamaño son?

Herramienta: 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] }
  ]
}

Cuatro orificios pasantes de paso M5 (5,3 mm) en las esquinas, todos normales al plano XY.


¿Cuál es la distancia diagonal espacial de esquina a esquina?

Herramienta: measure_distance con 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. Ambos puntos resueltos se incluyen para su trazabilidad.


¿Masa y centro de masa en aluminio?

Herramienta: get_mass_properties con 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. Centro de masa en el centroide geométrico (0, 0, 5): esperado para un soporte simétrico con orificios simétricos.

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