Skip to main content
Glama
hiromitsdm

cad-mcp

by hiromitsdm

cad-mcp

MCP-сервер, который предоставляет LLM возможности анализа CAD-геометрии файлов STEP. Загрузите файл STEP, задавайте вопросы о геометрии на естественном языке и получайте проверяемые ответы. Построен на базе build123d (на основе OCCT) и MCP Python SDK. Работает локально с Claude Code.

Установка

Требуется Python 3.12, архитектура arm64 (Apple Silicon) или 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

Проверка установки:

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

Запуск

Сервер запускается автоматически, когда Claude Code открывает эту директорию (файл .mcp.json включен). Для запуска вручную:

venv/bin/python server.py

Чтобы подключить другой файл STEP, передайте его абсолютный путь в любом вызове инструмента — перезапуск сервера не требуется.

Инструменты

Инструмент

Возвращаемые данные

list_assembly_tree

Иерархия деталей/сборок в виде дерева

get_part_dimensions

Ограничивающая рамка (мм) и объем (мм³)

find_holes

Цилиндрические отверстия: положение, диаметр, глубина (мм)

measure_distance

Евклидово расстояние между опорными точками детали (мм)

get_mass_properties

Масса (кг), центр масс (мм), моменты инерции (кг·мм²)

Демонстрация

Пять вопросов к файлу fixtures/bracket.step (алюминиевый кронштейн 100 × 60 × 10 мм, четыре отверстия под винты M5) в Claude Code с подключенным MCP-сервером.


Является ли bracket.step отдельной деталью или сборкой?

Инструмент: list_assembly_tree

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

Отдельная деталь. part_id: "root" передается во все остальные инструменты.


Каковы общие размеры и объем?

Инструмент: get_part_dimensions

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

100 × 60 × 10 мм. Объем является чистым (только материал) — брутто минус четыре отверстия.


Сколько отверстий и какого они размера?

Инструмент: 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] }
  ]
}

Четыре сквозных отверстия под винты M5 (5,3 мм) по углам, все перпендикулярны плоскости XY.


Каково расстояние по пространственной диагонали от угла до угла?

Инструмент: measure_distance с 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 мм. Обе определенные точки включены для возможности отслеживания.


Масса и центр масс для алюминия?

Инструмент: get_mass_properties с 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 г. Центр масс в геометрическом центре (0, 0, 5) — ожидаемо для симметричного кронштейна с симметричными отверстиями.

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