Rodin Gen-2 MCP Server
MCP (Model Context Protocol) сервер для интеграции с Rodin Gen-2 API - мощным сервисом генерации 3D моделей.
Возможности
- 🎨 Text-to-3D: Генерация 3D моделей из текстовых описаний
- 🖼️ Image-to-3D: Создание 3D моделей из изображений (до 5 изображений)
- 📊 Проверка статуса: Отслеживание прогресса генерации
- 💾 Загрузка результатов: Автоматическое скачивание готовых 3D моделей
- 🔧 Гибкая настройка: Поддержка различных форматов, материалов и параметров качества
- 🚀 MCP протокол: Интеграция с любыми MCP-совместимыми клиентами (Claude Desktop, и др.)
Требования
- Python 3.10 или выше
- API ключ Rodin Gen-2 (получить здесь)
uv(рекомендуется) илиpip
Установка
Вариант 1: Использование uv (рекомендуется)
- Установите
uv:
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Использование
Добавьте в конфигурацию любого IDE, поддерживающего MCP протокол:
{
"mcpServers": {
"rodin-gen2-mcp": {
"command": "uvx",
"args": ["rodin-gen2-mcp"],
"env": {
"RODIN_API_KEY": "your_api_key_here"
}
}
}
}
Доступные инструменты
1. generate_3d_text_to_3d
Генерирует 3D модель из текстового описания.
Параметры:
prompt(обязательно): Текстовое описание моделиseed: Seed для воспроизводимости (0-65535)geometry_file_format: Формат файла (glb, usdz, fbx, obj, stl)material: Тип материала (PBR, Shaded, All)mesh_simplify: Упростить меш (true/false)quality_override: Количество полигоновbbox_condition: Размеры bounding box [width, height, length]
Пример в Claude:
Создай 3D модель футуристического робота
2. generate_3d_image_to_3d
Генерирует 3D модель из изображения(й).
Параметры:
image_paths(обязательно): Список путей к изображениям (до 5)prompt: Дополнительное текстовое описаниеuse_original_alpha: Использовать альфа-каналseed: Seed для воспроизводимости (0-65535)geometry_file_format: Формат файла (glb, usdz, fbx, obj, stl)material: Тип материала (PBR, Shaded, All)mesh_simplify: Упростить меш (true/false)quality_override: Количество полигоновcondition_mode: Режим для множественных изображенийbbox_condition: Размеры bounding box [width, height, length]
Пример в Claude:
Создай 3D модель из изображения C:\Users\user\image.jpg
3. check_task_status
Проверяет статус задачи генерации.
Параметры:
task_uuid(обязательно): UUID задачи
Пример в Claude:
Проверь статус задачи 123e4567-e89b-12d3-a456-426614174000
4. download_result
Загружает готовую 3D модель.
Параметры:
task_uuid(обязательно): UUID завершенной задачиoutput_path: Путь для сохранения (опционально)
Пример в Claude:
Загрузи результат задачи 123e4567-e89b-12d3-a456-426614174000
Примеры использования
Полный рабочий процесс
- Генерация из текста:
Создай 3D модель красного спортивного автомобиля в формате fbx
- Проверка статуса:
Проверь статус задачи <UUID из предыдущего ответа>
- Загрузка результата:
Загрузи результат задачи <UUID>
Генерация из изображения
Создай 3D модель из этих изображений:
- C:\Users\user\front.jpg
- C:\Users\user\side.jpg
с материалом PBR и упрощением меша
Поддерживаемые форматы
Форматы файлов
- GLB (по умолчанию) - GL Transmission Format Binary
- USDZ - Universal Scene Description
- FBX - Filmbox
- OBJ - Wavefront Object
- STL - Stereolithography
Типы материалов
- PBR (по умолчанию) - Physically Based Rendering
- Shaded - Затененный материал
- All - Все типы материалов
Цены
- Базовая стоимость: 0.5 кредита за генерацию
- HighPack addon: +1 кредит за генерацию
Дополнительные параметры бесплатны.
Устранение неполадок
Сервер не отображается в Claude Desktop
- Проверьте правильность путей в
claude_desktop_config.json - Убедитесь, что используете абсолютные пути
- Перезапустите Claude Desktop полностью (Quit, не просто закрытие окна)
- Проверьте логи:
~/Library/Logs/Claude/mcp*.log(macOS) или%APPDATA%\Claude\logs\(Windows)
Ошибка "RODIN_API_KEY не установлен"
- Убедитесь, что файл
.envсуществует в корне проекта - Проверьте, что в
.envправильно указан ключ:RODIN_API_KEY=your_key - Перезапустите сервер
Ошибки при генерации
- Проверьте интернет-соединение
- Убедитесь, что API ключ действителен
- Проверьте баланс кредитов в вашем аккаунте Rodin
- Для Image-to-3D: убедитесь, что пути к изображениям корректны
Зависание команд
Если команды зависают, используйте детальное логирование для диагностики:
python rodin_gen2_server.py --log-file rodin_debug.log
Логи будут записываться в указанный файл с подробной информацией о:
- HTTP запросах и времени их выполнения
- Параметрах генерации
- Прогрессе загрузки файлов
- Статусе задач
Подробнее см. LOGGING.md
Разработка
Установка зависимостей для разработки
pip install -e ".[dev]"
Запуск тестов
Проект покрыт комплексным набором unit и integration тестов.
Запуск всех тестов
pytest
Запуск с покрытием кода
pytest --cov=. --cov-report=html --cov-report=term
HTML отчет будет доступен в htmlcov/index.html
Использование скрипта запуска
# Базовый запуск
python run_tests.py
# С покрытием кода
python run_tests.py --coverage
# С HTML отчетом
python run_tests.py --coverage --html
# Подробный вывод
python run_tests.py -v
# Конкретный тест
python run_tests.py -t tests/test_main.py
Покрытие кода
Тесты покрывают:
-
✅ FastAPI сервер (
main.py)- Все эндпоинты
- RodinClient класс
- Обработка ошибок
-
✅ MCP сервер (
rodin_gen2_server.py)- Все MCP инструменты
- HTTP запросы к API
- Валидация параметров
- Фоновая загрузка файлов
- Обработка ошибок и edge cases
Подробная документация: tests/README.md
Форматирование кода
black rodin_gen2_server.py main.py
ruff check rodin_gen2_server.py main.py
CI/CD
Проект включает GitHub Actions workflow для автоматического запуска тестов на:
- Ubuntu, Windows, macOS
- Python 3.10, 3.11, 3.12
См. .github/workflows/tests.yml
Ссылки
Лицензия
MIT
Metadata
Release files for rodin-gen2-mcp 0.3.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rodin_gen2_mcp-0.3.6.tar.gz | 28.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rodin_gen2_mcp-0.3.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.4 kB
Release files / rodin_gen2_mcp-0.3.6.tar.gz
| Download URL | rodin_gen2_mcp-0.3.6.tar.gz |
|---|---|
| Size | 28.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ac5a0f6481bfe379de3fd795cad9b8c165f1663618ce43006b776987ab1a275d
|
|
BLAKE2b-256 checksum How to use checksums |
d821d375c82e624b051fbc04565b298839f80d3a8edeae31bf36ca3e7a2f84de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2025.
Transparency logRelease files / rodin_gen2_mcp-0.3.6-py3-none-any.whl
| Download URL | rodin_gen2_mcp-0.3.6-py3-none-any.whl |
|---|---|
| Size | 15.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d3ffec46be81561191b00c6b21e9e24d057251d4e92e82299b619622538cb6b
|
|
BLAKE2b-256 checksum How to use checksums |
1f793c74109665b26b6394ce4f0acfd806eeaaeb4387e4ba9f9029555e437514
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2025.
Transparency logSecurity for rodin-gen2-mcp 0.3.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for rodin_gen2_mcp-0.3.6.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.