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 инструмент)
Инструмент | Описание |
| Создание одной или нескольких точек |
| Линии и полилинии |
| Интерполированные NURBS-кривые |
| Круговая геометрия |
| Прямоугольные полилинии |
| Твердотельные примитивы |
| Выдавливание и труба вдоль кривых |
| NURBS-поверхности и сетки |
| Текстовые точки |
| Лофт-поверхности через поперечные сечения |
| Свип по одной и двум направляющим |
| Вращение профилей вокруг оси |
| Плоские и патч-поверхности |
Трансформации (8 инструментов)
move, rotate, scale, scale_non_uniform, mirror, copy, array_linear, array_polar
Булевы операции (3 инструмента)
boolean_union, boolean_difference, boolean_intersection
Модификация (18 инструментов)
Инструмент | Описание |
| Базовые модификации |
| Группировка |
| Соединение и разъединение геометрии |
| Обрезка и разделение кривых |
| Смещение геометрии |
| Обработка кромок |
| Закрытие отверстий в открытых BRep |
| Редактирование кривых |
| Проецирование кривых на поверхности |
| Извлечение кромок/границ |
Блоки и экземпляры (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 инструментов)
Инструмент | Описание |
| Измерения |
| Пространственные запросы |
| Поиск пересечений между объектами |
| Анализ кривизны |
| Проверка принадлежности точки |
Диагностика (4 инструмента)
Инструмент | Описание |
| Проверка корректности, поиск повреждённой геометрии |
| Поиск зазоров в поверхностях |
| Анализ качества сетки |
| Автоматическое исправление проблем сетки |
Вид (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 sync2. Запуск слушателя Rhino
В Rhino:
Перейдите в Tools > PythonScript > Run
Выберите
rhino/listener.pyВы должны увидеть:
============================================================
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 |
|
| Порт слушателя Rhino |
|
| Таймаут команды (секунды) |
Разработка
# 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 для вычислительной геометрии и пространственного анализа.
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceConnects Rhino3D to Claude AI via the Model Context Protocol, enabling AI-assisted 3D modeling and design workflows through direct control of Rhino's functionality.12
- AlicenseNot gradedqualityCmaintenanceEnables AI-powered computational design in Rhino/Grasshopper with ML-based automatic layout optimization, component clustering, performance prediction, and real-time code execution in running Rhino instances.16MIT
- AlicenseAqualityDmaintenanceEnables 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.1391MIT
- AlicenseNot gradedqualityBmaintenanceGOLEM-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.12MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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