Примечание автора: разверните Rhino MCP Server с нуля, настройте в Codex APIYI API и за 3 шага выполните первую команду моделирования на естественном языке. А ещё сравните результаты GPT Codex и моделей Claude.
Многим 3D-дизайнерам и специалистам по параметрическому моделированию хочется, чтобы Rhino строил модели по одной фразе. Сложность здесь не в самом Rhino, а в том, как связать большую языковую модель, протокол MCP и клиент. В этой статье мы разберём полный процесс подключения Codex + Rhino MCP + APIYI API и покажем, как на практике подключить Rhino MCP к Codex.
Это не статья с обзором концепций, а практическая инструкция в формате «развернуть MCP Server → настроить API в Codex → выполнить первую команду». По нашему опыту поддержки пользователей, чаще всего возникают три вопроса: как настроить окружение с нуля, как подключить к Codex сторонний API и какая модель лучше справляется с моделированием. В этой статье мы последовательно на них ответим.
Главное: после прочтения вы сможете управлять Rhino с помощью естественного языка и создавать геометрические объекты на своём компьютере, а также узнаете, как объективно сравнивать результаты моделирования у разных моделей.

Ключевые моменты подключения Codex к Rhino MCP
Перед началом разберитесь, из каких частей состоит вся цепочка и за что отвечает каждая из них. Многие проблемы с подключением возникают из-за того, что при диагностике смешивают неполадки API модели и MCP-сервера.
| Компонент | Назначение | Кто предоставляет или устанавливает |
|---|---|---|
| Плагин Rhino | Принимает команды внутри Rhino и выполняет операции моделирования | Устанавливает пользователь на своём компьютере |
| Rhino MCP Server | Предоставляет возможности Rhino в виде инструментов MCP для вызова из AI-клиента | Разворачивает пользователь на своём компьютере |
| Клиент Codex | Загружает инструменты MCP, отвечает за диалог с Большой языковой моделью и планирование задач | Пользователь устанавливает и настраивает на своём компьютере |
| API Большой языковой модели | Понимает инструкции, планирует шаги и формирует параметры вызовов инструментов | Подключается через APIYI |
Как работает Rhino MCP
MCP (Model Context Protocol) — это протокол, который позволяет AI-клиентам единообразно вызывать внешние инструменты. Rhino MCP Server регистрирует возможности вроде «создать куб», «получить объекты текущего документа» и «выполнить скрипт Python» как набор инструментов. При запуске Codex считывает их названия, описания и структуру параметров, а затем передаёт всё это Большой языковой модели.
Когда вы вводите команду «построй в начале координат куб размером 100×50×20», модель не управляет Rhino напрямую, а возвращает структурированный запрос на вызов инструмента. Codex передаёт его MCP Server, тот через локальное соединение отправляет команду плагину Rhino, а результат возвращается модели по той же цепочке. Поэтому качество моделирования в первую очередь зависит от того, насколько хорошо модель умеет вызывать инструменты и планировать многошаговые задачи. Именно на это стоит обратить особое внимание при выборе модели.

Подготовка среды для подключения Codex к Rhino MCP
Перед началом убедитесь, что ваш компьютер соответствует следующим требованиям. Rhino MCP — проект с открытым исходным кодом, созданный сообществом. Установка может немного отличаться в зависимости от версии, поэтому сверяйтесь с README проекта.
| Компонент | Требования | Как проверить |
|---|---|---|
| Rhino | Rhino 7 или Rhino 8 (согласно документации проекта) | Откройте Rhino и проверьте номер версии |
| Среда Python | Рекомендуется установить uv для запуска MCP Server | Выполните в терминале uv --version |
| Node.js | Codex CLI устанавливается через npm | Выполните в терминале node -v |
| Клиент Codex | Подойдёт версия для командной строки, плагин для IDE или приложение для компьютера | Выполните в терминале codex --version |
| API-ключ | Ключ для вызова моделей семейства Codex или Claude | Создайте его в консоли APIYI |
Если в вашей сети нет стабильного доступа к официальным зарубежным API, в первую очередь настройте подключение к API моделей. MCP Server и Rhino работают на вашем компьютере, а интернет нужен только для запросов на вывод модели.
Быстрый старт: подключаем Codex к Rhino MCP и создаём модели с помощью ИИ за 3 шага
Шаг 1. Установка Rhino MCP Server
Возьмём для примера проект rhinomcp с открытым исходным кодом. Развёртывание состоит из двух частей: плагина для Rhino и MCP Server.
- Откройте Package Manager в Rhino, найдите
rhinomcpи установите плагин. После установки перезапустите Rhino. - Введите в командной строке Rhino команду запуска плагина — в этом проекте это
mcpstart. Плагин начнёт принимать локальные подключения. - Выполните в терминале команду
uvx rhinomcpи убедитесь, что MCP Server запускается без ошибок.
Начиная со второго шага Codex будет автоматически запускать MCP Server, поэтому ручной запуск нужен только для проверки окружения. Если uvx не найден, обычно это означает, что uv не добавлен в системную переменную PATH. Перезапустите терминал или настройте PATH по официальной инструкции uv.
Шаг 2. Настройка API-интерфейса APIYI в Codex
Файл конфигурации Codex находится в пользовательской директории: ~/.codex/config.toml. Здесь нужно выполнить две задачи: указать собственного поставщика модели и зарегистрировать Rhino MCP Server.
# ~/.codex/config.toml
model = "gpt-5-codex" # 以 APIYI 控制台中实际可用的模型名为准
model_provider = "apiyi"
[model_providers.apiyi]
name = "APIYI"
base_url = "https://api.apiyi.com/v1" # APIYI OpenAI 兼容接口
env_key = "APIYI_API_KEY" # 从环境变量读取 Key
wire_api = "responses" # 若使用 Chat Completions 协议则改为 "chat"
[mcp_servers.rhino]
command = "uvx"
args = ["rhinomcp"]
Затем задайте переменную окружения в терминале. Пользователи Windows могут добавить её в системные переменные окружения:
export APIYI_API_KEY="sk-你的密钥"
Значение wire_api должно соответствовать протоколу, который поддерживает выбранная модель. Если после настройки возникнет ошибка, связанная с протоколом, попробуйте переключить значение. Подробности смотрите в документации APIYI для сценария использования Codex.
Шаг 3. Выполните первую команду моделирования на естественном языке
Не закрывая Rhino и оставив плагин в режиме ожидания, запустите клиент в терминале командой codex. Для начала спросите: «Какие инструменты Rhino тебе сейчас доступны?» Если модель перечислит инструменты для моделирования, значит, MCP успешно загружен.
Начните с простых команд и постепенно усложняйте задачи — так будет проще понять, где возникла проблема:
| Сложность | Пример команды | Какие возможности модели проверяются |
|---|---|---|
| Начальный уровень | Создай в начале координат куб размером 100×50×20 | Один вызов инструмента, точность параметров |
| Средний уровень | Создай столешницу размером 1200×600 и добавь по углам ножки диаметром 40 и высотой 720 | Планирование нескольких шагов, расчёт координат |
| Сложный | Создай пятиэтажную винтовую лестницу: поворачивай каждую ступень на 15 градусов и поднимай её выше предыдущей | Логика циклов, генерация Python-скрипта |
| Редактирование | Перекрась все кубы в сцене в красный цвет и перемести их на новый слой | Сначала чтение состояния документа, затем внесение изменений |
Для сложных задач модель обычно выбирает инструмент вроде «Выполнить Python-скрипт» и за один раз создаёт код RhinoScript для построения модели. Поэтому успех напрямую зависит от того, насколько хорошо модель умеет генерировать код.
Минимальный пример: проверяем поддержку вызова инструментов моделью с помощью Python
Ещё до подключения Codex можно запустить небольшой скрипт и проверить, возвращает ли модель корректные параметры вызова для инструментов моделирования. Так вы быстро исключите проблему с недоступностью API модели:
import openai, json
client = openai.OpenAI(api_key="YOUR_API_KEY", base_url="https://api.apiyi.com/v1")
tools = [{"type": "function", "function": {
"name": "create_box",
"description": "在 Rhino 中创建立方体",
"parameters": {"type": "object", "properties": {
"origin": {"type": "array", "items": {"type": "number"}},
"size": {"type": "array", "items": {"type": "number"}}},
"required": ["origin", "size"]}}}]
resp = client.chat.completions.create(
model="gpt-5-codex", # 以控制台实际模型名为准
messages=[{"role": "user", "content": "在原点画一个 100x50x20 的立方体"}],
tools=tools)
call = resp.choices[0].message.tool_calls[0]
print(call.function.name, json.loads(call.function.arguments))
Посмотреть полный код: сравнение инструкций для моделирования на нескольких моделях
import openai
import json
from typing import List, Dict
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1" # 同一个 Key 可调用 GPT 与 Claude 系列
)
# 待测试的模型,请替换为控制台中实际可用的模型名
MODELS = ["gpt-5-codex", "claude-sonnet-4-5"]
TOOLS = [
{"type": "function", "function": {
"name": "create_box",
"description": "创建立方体,origin 为角点坐标,size 为长宽高",
"parameters": {"type": "object", "properties": {
"origin": {"type": "array", "items": {"type": "number"}},
"size": {"type": "array", "items": {"type": "number"}}},
"required": ["origin", "size"]}}},
{"type": "function", "function": {
"name": "create_cylinder",
"description": "创建圆柱,base 为底面圆心,radius 为半径,height 为高度",
"parameters": {"type": "object", "properties": {
"base": {"type": "array", "items": {"type": "number"}},
"radius": {"type": "number"},
"height": {"type": "number"}},
"required": ["base", "radius", "height"]}}},
]
PROMPT = "画一张 1200x600x30 的桌面,桌面底部在 z=720,四角各加一条直径 40、高 720 的桌腿"
def run_test(model: str) -> List[Dict]:
"""返回模型规划出的全部工具调用"""
try:
resp = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "你是 Rhino 建模助手,请一次性规划所有工具调用。"},
{"role": "user", "content": PROMPT},
],
tools=TOOLS,
)
calls = resp.choices[0].message.tool_calls or []
return [{"name": c.function.name,
"args": json.loads(c.function.arguments)} for c in calls]
except Exception as e:
return [{"error": str(e)}]
if __name__ == "__main__":
for m in MODELS:
result = run_test(m)
print(f"\n===== {m}:共 {len(result)} 个调用 =====")
for item in result:
print(item)
# 期望:1 个 create_box + 4 个 create_cylinder,且桌腿位于四个角
🚀 Быстрый старт: сначала рекомендуем получить бесплатный пробный баланс для новых пользователей на APIYI apiyi.com и с помощью приведённого выше скрипта проверить, корректно ли модель вызывает инструменты. После этого подключайте Codex и Rhino. Так при возникновении проблем будет проще понять, где причина — в интерфейсе модели или в локальном окружении MCP.
Как выбрать модель для подключения Rhino MCP к Codex
Для автоматического моделирования с помощью ИИ важны три способности модели: генерировать код, вызывать инструменты и планировать сложные задачи. По нашему опыту поддержки рекомендуем в первую очередь протестировать серии GPT Codex и Claude Sonnet/Opus. В таблице ниже приведено качественное сравнение — реальные результаты проверяйте на своих задачах моделирования.

| Серия моделей | Основное преимущество | Подходящие задачи моделирования | Доступные платформы |
|---|---|---|---|
| Серия GPT Codex | Глубоко оптимизирована для клиента Codex, стабильно генерирует код | Скриптовое моделирование, пакетная генерация параметрических моделей | APIYI, официальный API |
| Серия Claude Sonnet | Точно вызывает инструменты, хорошо сочетает скорость и качество | Повседневные команды для моделирования, многошаговые операции | APIYI, официальный API |
| Серия Claude Opus | Хорошо справляется со сложными рассуждениями и планированием длительных задач | Сложные структуры, задачи, требующие многократного чтения состояния сцены | APIYI, официальный API |
Сравнение с GPT Codex: серия GPT Codex наиболее естественно сочетается с клиентом Codex: её легко настроить, а стиль генерации скриптов RhinoScript на Python остаётся стабильным. Но при выполнении задач по изменению модели, где нужно несколько раз прочитать состояние сцены и принять решение, результат может зависеть от формулировки промпта. Для параметрического моделирования, в котором основная задача — генерация скриптов, это надёжный вариант для начала.
Сравнение с серией Claude: Claude Sonnet/Opus хорошо зарекомендовали себя в точности параметров при вызове инструментов и планировании длинных цепочек действий. Если вам привычнее Claude, можно использовать Claude Code и подключить к нему тот же Rhino MCP Server — это будет альтернативный клиент. При этом вызывать Claude из Codex через совместимый с OpenAI интерфейс удобнее, если нужно сравнить модели в одном окружении.
💡 Как выбрать: результаты сильно зависят от типа задачи моделирования, поэтому однозначно лучшей модели нет. Рекомендуем с помощью APIYI apiyi.com протестировать серии GPT Codex и Claude с одним и тем же API-ключом. Запустите приведённый выше скрипт сравнения на одинаковых командах и выберите подходящий вариант по успешности выполнения и стоимости.
Устранение распространённых ошибок при подключении Codex к Rhino MCP
Ошибки при подключении обычно можно проверять поэтапно: «интерфейс модели → конфигурация Codex → MCP-сервер → плагин Rhino».
| Симптом | Возможная причина | Решение |
|---|---|---|
| После запуска Codex появляется ошибка 401 | Переменная окружения не применена или указан неверный ключ | Перезапустите терминал и проверьте, задана ли переменная APIYI_API_KEY |
| Появляется сообщение, что модель не найдена | Название модели не совпадает с тем, которое использует платформа | Скопируйте точное название модели из консоли |
| Модель сообщает, что у неё нет инструментов Rhino | MCP-сервер не загружен | Проверьте написание раздела mcp_servers в config.toml |
| Вызов инструмента завершается по тайм-ауту | Плагин Rhino не находится в режиме ожидания подключений | Повторно выполните команду запуска в Rhino |
| Модель выбирает не тот инструмент или не указывает параметры | Инструкция сформулирована расплывчато или модели не хватает возможностей планирования | Уточните размеры, координаты и единицы измерения либо протестируйте другую модель |
Часто задаваемые вопросы
Вопрос 1: Что такое Rhino MCP?
Rhino MCP — это сервис инструментов для Rhino на базе протокола MCP. Он превращает возможности Rhino для моделирования в инструменты, которыми может пользоваться ИИ. Если подключить его к поддерживающим MCP клиентам, например Codex или Claude Code, большая языковая модель сможет по текстовым инструкциям создавать и изменять геометрию прямо в Rhino.
Вопрос 2: Чем подключение Codex к Rhino MCP отличается от того, чтобы просто попросить ИИ написать код Grasshopper?
Если ИИ пишет код, который затем нужно вручную вставить, человеку всё равно приходится запускать его и проверять результат. При подключении Codex к Rhino MCP модель может сама вызывать инструменты, получать результаты выполнения и переходить к следующему шагу — получается замкнутый цикл. Такой подход удобнее для многоэтапного моделирования и частых правок, а Grasshopper лучше подходит для параметрической логики, которую нужно долго поддерживать.
Вопрос 3: Поможет ли APIYI развернуть Rhino MCP Server?
Нет. APIYI предоставляет API моделей, а Rhino MCP Server и клиент Codex нужно развернуть и настроить самостоятельно на своём компьютере. К счастью, оба компонента работают локально. Выполните шаги 1 и 2 из этой статьи — и всё будет готово.
Вопрос 4: Для каких задач лучше всего подходит подключение Codex к Rhino MCP?
— **Эскизные модели**: быстрое создание начальных моделей зданий, каркасов мебели и других объектов
— **Массовая параметрическая генерация**: создание по заданным правилам массивов, спиралей и элементов с меняющимися размерами
— **Массовое редактирование сцены**: единообразное изменение слоёв, цветов, названий и других повторяющихся параметров
Вопрос 5: Как быстро подключить к Codex подходящую модель через API?
1. Зарегистрируйтесь на APIYI apiyi.com и создайте API-ключ.
2. Получите бесплатный тестовый лимит для новых пользователей.
3. В `config.toml` укажите для `base_url` значение `https://api.apiyi.com/v1` и впишите название модели.
Один и тот же ключ можно использовать для вызова популярных моделей, включая GPT и Claude. Чтобы переключить модель, достаточно изменить её название в конфигурации.
Вопрос 6: Почему модель часто выбирает не тот инструмент или указывает неверные параметры?
Точность вызова инструментов зависит от двух факторов: насколько понятно описаны инструменты и насколько хорошо сама модель умеет планировать. В инструкциях указывайте единицы измерения, начало координат и конкретные размеры. Сложные задачи разбивайте на несколько этапов. Если одна и та же инструкция снова и снова не срабатывает, попробуйте сравнить результат с более сильной в планировании моделью, например Claude Opus.
Вопрос 7: Какие известные ограничения есть у подключения Codex к Rhino MCP?
— **Стоимость**: сложные задачи требуют нескольких вызовов инструментов, поэтому расход токенов заметно выше, чем в обычном чате
— **Точность**: модель иногда ошибается в координатах, поэтому важные размеры нужно проверять вручную
— **Совместимость**: плагины сообщества обновляются вслед за версиями Rhino, поэтому временно могут возникать проблемы совместимости. Следите за обновлениями проекта
Ключевые выводы: подключение Codex к Rhino MCP
- Из чего состоит связка: необходимы все четыре компонента — плагин Rhino, MCP Server, клиент Codex и API большой языковой модели
- Локальное развертывание: Rhino MCP Server и Codex работают на вашем компьютере, подключение к интернету нужно только для обработки запросов моделью
- Ключевые настройки: в
config.tomlнужно указать и поставщика модели, иmcp_servers - Постепенное усложнение: начните с одного куба, а затем переходите к многоэтапному планированию и генерации скриптов
- Выбор модели: в первую очередь протестируйте модели из семейств GPT Codex и Claude Sonnet/Opus
- Как начать: одного API-ключа APIYI достаточно, чтобы сравнить несколько моделей в одной среде
Итоги
Главное для подключения Codex к Rhino MCP:
- Шаг 1. Разверните MCP Server: установите плагин Rhino и запустите сервер, затем проверьте его работу командой
uvx rhinomcp - Шаг 2. Настройте интерфейс модели: укажите пользовательского поставщика в конфигурационном файле Codex и зарегистрируйте Rhino MCP
- Шаг 3. Проверьте команды для моделирования: начните с простых команд и постепенно проверьте, как модель вызывает инструменты и планирует работу
Когда вся связка заработает, результат моделирования будет зависеть прежде всего от выбора модели и формулировки команд. Советуем взять скрипт сравнения из этой статьи и проверить его на типичных для вас задачах моделирования.
Для быстрой проверки можно воспользоваться APIYI apiyi.com. Платформа предлагает совместимый с OpenAI интерфейс, бесплатный тестовый лимит и единый доступ к разным моделям — в Codex удобно переключаться между семействами GPT и Claude.
📚 Справочные материалы
- Открытый проект rhinomcp: плагин Rhino MCP и реализация сервера
- Ссылка:
github.com/jingcheng-chen/rhinomcp -
Описание: инструкции по установке, список доступных инструментов и сведения о совместимости версий
-
Репозиторий проекта OpenAI Codex: инструкции по установке и настройке Codex CLI
- Ссылка:
github.com/openai/codex -
Описание: официальная документация по настройке провайдеров моделей и серверов MCP в
config.toml -
Официальная документация Model Context Protocol: спецификация протокола MCP
- Ссылка:
modelcontextprotocol.io - Описание: основные материалы, помогающие разобраться в регистрации инструментов, их вызове и обработке ответов
Автор: техническая команда APIYI
Технические вопросы: свяжитесь с нами на главной странице сайта APIYI. Инструкции по настройке Codex, Claude Code и других сценариев доступны в центре документации docs.apiyi.com
