hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Manages environment variables for API keys and configuration settings, including remote processing options
Build system used to compile the CUDA Multi-View Stereo dependency for 3D reconstruction
Used for cloning and managing external dependencies like the cuda-multi-view-stereo repository for 3D reconstruction
Servidor MCP de OpenSCAD
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los usuarios generar modelos 3D a partir de descripciones de texto o imágenes, con un enfoque en la creación de modelos 3D paramétricos utilizando reconstrucción de múltiples vistas y OpenSCAD.
Características
- Generación de imágenes con IA : genere imágenes a partir de descripciones de texto utilizando las API de Google Gemini o Venice.ai
- Generación de imágenes de múltiples vistas : cree múltiples vistas del mismo objeto 3D para su reconstrucción
- Flujo de trabajo de aprobación de imágenes : revise y apruebe/rechace las imágenes generadas antes de la reconstrucción
- Reconstrucción 3D : Convierta imágenes multivista aprobadas en modelos 3D utilizando CUDA Multi-View Stereo
- Procesamiento remoto : procese tareas computacionalmente intensivas en servidores remotos dentro de su LAN
- Integración con OpenSCAD : genere modelos 3D paramétricos utilizando OpenSCAD
- Exportación paramétrica : exporta modelos en formatos que conservan las propiedades paramétricas (CSG, AMF, 3MF, SCAD)
- Descubrimiento de impresoras 3D : descubrimiento de impresoras de red opcional e impresión directa
Arquitectura
El servidor está construido utilizando el SDK de Python MCP y sigue una arquitectura modular:
Instalación
- Clonar el repositorio:Copy
- Crear un entorno virtual:Copy
- Instalar dependencias:Copy
- Instalar OpenSCAD:
- Ubuntu/Debian:
sudo apt-get install openscad
- macOS:
brew install openscad
- Windows: Descargar desde openscad.org
- Ubuntu/Debian:
- Instalar CUDA Multi-View Stereo:Copy
- Configurar claves API:
- Crea un archivo
.env
en el directorio raíz - Añade tus claves API:Copy
- Crea un archivo
Configuración de procesamiento remoto
El servidor admite el procesamiento remoto de tareas de alto consumo computacional, en particular la reconstrucción estéreo multivista CUDA. Esto permite delegar el procesamiento a equipos más potentes dentro de la red local (LAN).
Configuración del servidor (en la máquina con GPU CUDA)
- Instalar CUDA Multi-View Stereo en la máquina servidor:Copy
- Inicie el servidor CUDA MVS remoto:Copy
- El servidor se anunciará automáticamente en la red local utilizando Zeroconf.
Configuración del cliente
- Configure el procesamiento remoto en su archivo
.env
:Copy - Alternativamente, puede especificar una URL de servidor directamente:Copy
Funciones de procesamiento remoto
- Detección automática de servidores : encuentre servidores CUDA MVS en su red local
- Gestión de trabajos : cargue imágenes, realice un seguimiento del estado del trabajo y descargue resultados
- Tolerancia a fallos : reintentos automáticos, patrón de disyuntor y seguimiento de errores
- Autenticación : autenticación de clave API segura para todas las operaciones remotas
- Monitoreo de la salud : controles continuos del estado del servidor e informes de estado
Uso
- Iniciar el servidor:Copy
- El servidor se iniciará en http://localhost:8000
- Utilice las herramientas MCP para interactuar con el servidor:
- generate_image_gemini : Genera una imagen usando la API de Google GeminiCopy
- generate_multi_view_images : Genera múltiples vistas del mismo objeto 3DCopy
- create_3d_model_from_images : Crea un modelo 3D a partir de imágenes multivista aprobadasCopy
- create_3d_model_from_text : Canalización completa desde el texto hasta el modelo 3DCopy
- export_model : Exportar un modelo a un formato específicoCopy
- discover_remote_cuda_mvs_servers : Encuentra servidores CUDA MVS en tu redCopy
- get_remote_job_status : verifica el estado de un trabajo de procesamiento remotoCopy
- download_remote_model_result : Descargar un modelo completo desde un servidor remotoCopy
- discover_printers : Descubre impresoras 3D en la redCopy
- print_model : Imprimir un modelo en una impresora conectadaCopy
- generate_image_gemini : Genera una imagen usando la API de Google Gemini
Opciones de generación de imágenes
El servidor admite múltiples opciones de generación de imágenes:
- API de Google Gemini (predeterminada): utiliza el modelo experimental Flash Gemini 2.0 para la generación de imágenes de alta calidad
- Admite generación de múltiples vistas con un estilo consistente
- Requiere una clave API de Google Gemini
- API de Venice.ai (opcional): servicio alternativo de generación de imágenes
- Admite varios modelos, incluidos flux-dev y fluently-xl
- Requiere una clave API de Venice.ai
- Imágenes proporcionadas por el usuario : omite la generación de imágenes y usa tus propias imágenes
- Subir imágenes directamente al servidor
- Útil para trabajar con fotografías o renders existentes.
Flujo de trabajo de múltiples vistas
El servidor implementa un flujo de trabajo de múltiples vistas para la reconstrucción 3D:
- Generación de imágenes : genere múltiples vistas del mismo objeto 3D
- Aprobación de imagen : revise y apruebe/rechace cada imagen generada
- Reconstrucción 3D : Convierta imágenes aprobadas en un modelo 3D utilizando CUDA MVS
- Se puede procesar localmente o en un servidor remoto dentro de su LAN
- Refinamiento del modelo : opcionalmente refine el modelo usando OpenSCAD
Flujo de trabajo de procesamiento remoto
El flujo de trabajo de procesamiento remoto le permite descargar tareas computacionalmente intensivas a máquinas más potentes:
- Detección de servidores : descubre automáticamente servidores CUDA MVS en tu red
- Carga de imágenes : cargue imágenes multivista aprobadas al servidor remoto
- Procesamiento de trabajos : procese las imágenes en el servidor remoto utilizando CUDA MVS
- Seguimiento del estado : supervise el estado y el progreso del trabajo
- Descarga de resultados : descargue el modelo 3D completo cuando finalice el procesamiento
Formatos de exportación admitidos
El servidor admite la exportación de modelos en varios formatos:
- OBJ : formato Wavefront OBJ (formato de modelo 3D estándar)
- STL : Lenguaje de triángulos estándar (para impresión 3D)
- PLY : Formato de archivo poligonal (para nubes de puntos y mallas)
- SCAD : código fuente de OpenSCAD (para modelos paramétricos)
- CSG : formato CSG de OpenSCAD (conserva todas las propiedades paramétricas)
- AMF : Formato de archivo de fabricación aditiva (conserva algunos metadatos)
- 3MF : Formato de fabricación 3D (reemplazo moderno de STL con metadatos)
Interfaz web
El servidor proporciona una interfaz web para:
- Generación y aprobación de imágenes multivista
- Vista previa de modelos 3D desde diferentes ángulos
- Descarga de modelos en varios formatos
Acceda a la interfaz en http://localhost:8000/ui/
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
This server cannot be installed
Permite a los usuarios generar modelos 3D paramétricos a partir de descripciones de texto o imágenes utilizando reconstrucción de múltiples vistas y OpenSCAD, con soporte para generación de imágenes de IA y procesamiento remoto.