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

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.

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/hiromitsdm/cad-mcp0'

If you have feedback or need assistance with the MCP directory API, please join our Discord server