Skip to main content
Glama
kbangaru-cyber

RhinoMCP

RhinoMCP: MCP-сервер для Rhino 3D

105 инструментов для AI-управляемого 3D-моделирования, анализа, диагностики и интеграции с Grasshopper через Model Context Protocol.

RhinoMCP подключает Claude к Rhino 3D через обширный набор инструментов, охватывающий всё: от базовых примитивов до продвинутого моделирования поверхностей (лофт, свип, револьв), булевых операций, диагностики сеток, управления блоками и параметрического дизайна с Grasshopper.

Архитектура

┌────────────────┐   stdio    ┌──────────────┐   TCP/JSON    ┌──────────────┐
│ Claude Desktop │◄──────────►│  rhino_mcp   │◄─────────────►│    Rhino 3D  │
│                │   (MCP)    │  (Python)    │  localhost:   │  listener.py │
│                │            │  server.py   │    9876       │  (inside     │
└────────────────┘            └──────────────┘               │   Rhino)     │
                                                             └──────────────┘

MCP-сервер (rhino_mcp/). Python-пакет на основе FastMCP. Взаимодействует с Claude через stdio и с Rhino через TCP.

Слушатель Rhino (rhino/listener.py). Python-скрипт, работающий внутри Rhino. Открывает TCP-сервер, принимает JSON-команды, выполняет их с помощью RhinoCommon/rhinoscriptsyntax и возвращает результаты.

Related MCP server: Grasshopper MCP

Возможности

Создание геометрии (21 инструмент)

Инструмент

Описание

create_point, create_points

Создание одной или нескольких точек

create_line, create_polyline

Линии и полилинии

create_curve

Интерполированные NURBS-кривые

create_circle, create_arc, create_ellipse

Круговая геометрия

create_rectangle

Прямоугольные полилинии

create_sphere, create_box, create_cylinder, create_cone, create_torus

Твердотельные примитивы

create_extrusion, create_pipe

Выдавливание и труба вдоль кривых

create_surface_from_points, create_mesh

NURBS-поверхности и сетки

create_text

Текстовые точки

create_loft

Лофт-поверхности через поперечные сечения

create_sweep1, create_sweep2

Свип по одной и двум направляющим

create_revolve

Вращение профилей вокруг оси

create_planar_surface, create_patch

Плоские и патч-поверхности

Трансформации (8 инструментов)

move, rotate, scale, scale_non_uniform, mirror, copy, array_linear, array_polar

Булевы операции (3 инструмента)

boolean_union, boolean_difference, boolean_intersection

Модификация (18 инструментов)

Инструмент

Описание

delete, set_color, set_material, set_name, set_layer

Базовые модификации

group, ungroup

Группировка

join, explode

Соединение и разъединение геометрии

trim, split

Обрезка и разделение кривых

offset_curve, offset_surface

Смещение геометрии

fillet_edge, chamfer_edge, fillet_curves

Обработка кромок

cap_planar_holes

Закрытие отверстий в открытых BRep

extend_curve, rebuild_curve

Редактирование кривых

project_to_surface

Проецирование кривых на поверхности

duplicate_edge, duplicate_border

Извлечение кромок/границ

Блоки и экземпляры (4 инструмента)

create_block, insert_block, list_blocks, explode_block

Пользовательские данные (2 инструмента)

set_user_text, get_user_text: хранение метаданных, BIM-данных, стоимости и т.д.

Слои (6 инструментов)

list_layers, create_layer, delete_layer, set_layer_color, set_layer_visibility, set_current_layer

Материалы (3 инструмента)

list_materials, create_material, assign_material

Анализ (10 инструментов)

Инструмент

Описание

get_bounding_box, get_area, get_volume, get_length

Измерения

distance, closest_point

Пространственные запросы

intersect

Поиск пересечений между объектами

get_curvature

Анализ кривизны

is_point_on_surface, is_point_in_solid

Проверка принадлежности точки

Диагностика (4 инструмента)

Инструмент

Описание

check_objects

Проверка корректности, поиск повреждённой геометрии

get_naked_edges

Поиск зазоров в поверхностях

check_mesh

Анализ качества сетки

repair_mesh

Автоматическое исправление проблем сетки

Вид (5 инструментов)

zoom_extents, set_view, capture_view (с опцией base64), list_views, set_display_mode

Grasshopper (3 инструмента)

gh_run_script, gh_set_slider, gh_get_outputs

Выполнение кода (2 инструмента)

run_python, run_command: полный доступ к rhinoscriptsyntax и RhinoCommon

Отмена/Повтор (2 инструмента)

undo, redo

Сцена (4 инструмента)

scene_info, get_objects, get_object (подробная информация с кромками), select_objects

Импорт/Экспорт (2 инструмента)

export (.3dm, .obj, .stl, .step, .iges, .fbx), import_file

Жирным выделены новые возможности в v2.0

Предварительные требования

  • Rhino 7 или 8 (Windows или Mac)

  • Python 3.10+

  • uv — менеджер пакетов (установка)

Установка

1. Клонирование и установка

git clone https://github.com/kbangaru-cyber/rhino-mcp.git
cd Rhino_MCP
uv sync

2. Запуск слушателя Rhino

В Rhino:

  1. Перейдите в Tools > PythonScript > Run

  2. Выберите rhino/listener.py

  3. Вы должны увидеть:

============================================================
  RhinoMCP Listener v2.0.0
  Listening on 127.0.0.1:9876
  Registered handlers: 90
  Ready for MCP connection (Claude)
============================================================

3. Настройка Claude Desktop

Claude Desktop

Отредактируйте claude_desktop_config.json:

{
  "mcpServers": {
    "rhino": {
      "command": "uv",
      "args": ["--directory", "/ABSOLUTE/PATH/TO/Rhino_MCP", "run", "rhino-mcp"],
      "env": {
        "RHINO_MCP_HOST": "127.0.0.1",
        "RHINO_MCP_PORT": "9876",
        "RHINO_MCP_TIMEOUT": "30"
      }
    }
  }
}

Примеры использования

Создание простой формы здания

«Создайте коробку размером 10x8x4 метра для объёма здания, затем добавьте цилиндр радиусом 2 и высотой 6 в центре для башни. Объедините их и скруглите все кромки радиусом 0,3.»

Диагностика проблем модели

«Проверьте все объекты в сцене на наличие проблем. Найдите все открытые кромки и сообщите, что нужно исправить.»

Параметрический дизайн

«Создайте форму вазы, сделав профильную кривую и вращая её. Затем создайте полярный массив декоративных цилиндров вокруг неё.»

Встроенные подсказки

RhinoMCP включает подсказки для управляемых рабочих процессов:

  • model-from-description: структурированный рабочий процесс для создания 3D-моделей по текстовым описаниям

  • diagnose-model: системный подход к поиску и исправлению проблем модели

  • parametric-design: руководство по Grasshopper/параметрическим рабочим процессам

Ресурсы

Сервер предоставляет живые данные в виде MCP-ресурсов:

URI

Описание

rhino://scene/info

Обзор текущей сцены

rhino://layers

Дерево слоёв

rhino://materials

Список материалов

rhino://blocks

Определения блоков

Конфигурация

Переменная окружения

По умолчанию

Описание

RHINO_MCP_HOST

127.0.0.1

Хост слушателя Rhino

RHINO_MCP_PORT

9876

Порт слушателя Rhino

RHINO_MCP_TIMEOUT

30

Таймаут команды (секунды)

Разработка

# Install dev dependencies
uv sync --extra dev

# Run tests (no Rhino needed)
uv run pytest -v

# Lint
uv run ruff check .

# Type check
uv run mypy rhino_mcp

Интеграционное тестирование

При запущенном Rhino и активном слушателе:

uv run pytest -v -m integration

Протокол

Команды представляют собой JSON-объекты, отправляемые по TCP (разделены переводами строк):

{"id": "abc123", "action": "create_sphere", "params": {"center": [0,0,0], "radius": 5}}

Ответы:

{"id": "abc123", "ok": true, "result": {"guid": "d3e4f5..."}}

Потокобезопасность

Слушатель Rhino использует Rhino.RhinoApp.InvokeOnUiThread() на Rhino 8+ для обеспечения выполнения всех операций с геометрией в потоке пользовательского интерфейса. На Rhino 7 операции выполняются напрямую (что безопасно для одноклиентских подключений).

Лицензия

MIT. См. LICENSE.

Автор

Karthick Raja B G, портфолио · GitHub

Связанный проект: SPIDER, плагин Grasshopper для вычислительной геометрии и пространственного анализа.

A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with Autodesk Revit to query project data, manage elements, and execute generated code via the Model Context Protocol. It provides full compatibility with GitHub Copilot and Claude to automate BIM modeling workflows.
    13
    91
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    GOLEM-3DMCP implements the Model Context Protocol to give AI agents direct, programmatic control of Rhino 8 — create geometry, run booleans, drive Grasshopper, capture viewports, and execute arbitrary Python scripts, all through natural language. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible host.
    12
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.

  • Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.

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/kbangaru-cyber/Rhino-mcp'

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