3D模型生成服务器

Rodin Gen-2 MCP Server是一个用于生成3D模型的服务,支持从文本描述或图像创建3D模型,并提供模型状态跟踪和下载功能。

  • by TiGRoNdev
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 TiGRoNdev/RodinGen2MCP

使用说明

罗丹二代MCP服务器

MCP(Model Context Protocol)是一款与Rodin Gen-2 API集成的服务器,这是一款功能强大的3D模型生成服务。

机会

  • 🎨 文本转3D:从文本描述生成3D模型
  • 🖼️ 图像转3D:从图像创建3D模型(最多5个图像)
  • 📊 状态检查:跟踪生成进度
  • 💾 下载结果自动下载现成的3D模型
  • 🔧 软调谐:支持各种格式、材料和质量参数
  • 🚀 MCP协议:与任何MCP兼容客户端(Claude Desktop等)集成

要求

  • Python 3.10或更高版本
  • API 密钥 Rodin Gen-2在这里得到)
  • uv (建议)或 pip

安装

选项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

使用

在配置中添加任何支持MCP的IDE协议:

{
  "mcpServers": {
    "rodin-gen2-mcp": {
      "command": "uvx",
      "args": ["rodin-gen2-mcp"],
      "env": {
        "RODIN_API_KEY": "your_api_key_here"
      }
    }
  }
}

可用工具

1.generate_3d_text_to_3d

从文本描述生成三维模型。

参数:

  • prompt (必填):文本模型描述
  • seed:种子可重复性(0-65535)
  • geometry_file_format文件格式(GLB,USDZ,FBX,OBJ,STL)
  • material材料类型(PBR、SHADED、ALL)
  • mesh_simplify1.简化网格(true/false)
  • quality_override:多边形数
  • bbox_condition:Размеры边界框[宽度、高度、长度]

Claude的例子:

Создай 3D модель футуристического робота

2.生成3d_image_to_3d

从图像生成3D模型。

参数:

  • image_paths (必填):图像路径列表(最多5个)
  • prompt:附加文本描述
  • use_original_alpha:使用Alpha通道
  • seed:种子可重复性(0-65535)
  • geometry_file_format文件格式(GLB,USDZ,FBX,OBJ,STL)
  • material材料类型(PBR、SHADED、ALL)
  • mesh_simplify1.简化网格(true/false)
  • quality_override:多边形数
  • condition_mode:多图像模式
  • bbox_condition:Размеры边界框[宽度、高度、长度]

Claude的例子:

Создай 3D модель из изображения C:\Users\user\image.jpg

3.检查任务状态

检查生成任务的状态。

参数:

  • task_uuid (必填):UUID任务

Claude的例子:

Проверь статус задачи 123e4567-e89b-12d3-a456-426614174000

4.下载_结果

下载现成的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 -通用场景描述
  • FBX -电影盒子
  • 对象 -波前物体
  • 标准模板库 -光固化

材料类型

  • 基于物理的渲染 (默认)Physically Based Rendering
  • 遮阳的 -阴影材料
  • 全部 -所有类型的材料

价格

  • 基本价值:每发电0.5学分
  • HighPack插件+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. 重新启动服务器

生成错误

  • 检查Internet连接
  • 验证API密钥是否有效
  • 检查您的Rodin帐户中的信用余额
  • 对于Image-to-3D:确保图像路径正确

开发

建立开发依赖关系

pip install -e ".[dev]"

运行测试

该项目由一组完整的单元和集成测试组成。

运行所有测试

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)

    • 所有Endpoint
    • rodinclient类
    • 错误处理
  • ✅ mcp服务器(rodin_gen2_server.py)

    • 所有MCP工具
    • HTTP API请求
    • 参数验证
    • 后台文件加载
    • 错误处理和Edge Cases

详细文件: 测试/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

见E/CN.4/Sub.2/2000/SR.1。 .github/workflows/tests.yml

链接

许可证

麻省理工学院