Skip to main content

MCP Server for Rodin Gen-2 3D Generation API

Project description

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, и др.)

Требования

Установка

Вариант 1: Использование uv (рекомендуется)

  1. Установите 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

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

Полный рабочий процесс

  1. Генерация из текста:
Создай 3D модель красного спортивного автомобиля в формате fbx
  1. Проверка статуса:
Проверь статус задачи <UUID из предыдущего ответа>
  1. Загрузка результата:
Загрузи результат задачи <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

  1. Проверьте правильность путей в claude_desktop_config.json
  2. Убедитесь, что используете абсолютные пути
  3. Перезапустите Claude Desktop полностью (Quit, не просто закрытие окна)
  4. Проверьте логи: ~/Library/Logs/Claude/mcp*.log (macOS) или %APPDATA%\Claude\logs\ (Windows)

Ошибка "RODIN_API_KEY не установлен"

  1. Убедитесь, что файл .env существует в корне проекта
  2. Проверьте, что в .env правильно указан ключ: RODIN_API_KEY=your_key
  3. Перезапустите сервер

Ошибки при генерации

  • Проверьте интернет-соединение
  • Убедитесь, что API ключ действителен
  • Проверьте баланс кредитов в вашем аккаунте Rodin
  • Для Image-to-3D: убедитесь, что пути к изображениям корректны

Разработка

Установка зависимостей для разработки

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rodin_gen2_mcp-0.3.0.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rodin_gen2_mcp-0.3.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file rodin_gen2_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: rodin_gen2_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rodin_gen2_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e4cbfcf5a24d2f18806a4bc94a65ff9b6b1ee02a715bdf2c307459f4bc77f1ab
MD5 cde1556520fc155ce8fb3ccc9b801330
BLAKE2b-256 20e4f866c83b66138951166165abf4e4faf6980db6452fcc6a82a3b6d17e962c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodin_gen2_mcp-0.3.0.tar.gz:

Publisher: publish.yml on TiGRoNdev/RodinGen2MCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rodin_gen2_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: rodin_gen2_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rodin_gen2_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e2c71c83d75a0a05d68b9122df218e889e2d31d9a7419b05ca466013475cc1c
MD5 149384b3a84ba28f20694cae647fa239
BLAKE2b-256 360be6a3f7ff03f642efa90c4ae2f7c35a1898245fb723f97365f7391ac29c19

See more details on using hashes here.

Provenance

The following attestation bundles were made for rodin_gen2_mcp-0.3.0-py3-none-any.whl:

Publisher: publish.yml on TiGRoNdev/RodinGen2MCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page