Navigation
OpenSCAD MCP Server: Instant Sync & Rock-Solid Security - MCP Implementation

OpenSCAD MCP Server: Instant Sync & Rock-Solid Security

Mirror of precision—OpenSCAD MCP Server supercharges 3D design collaboration with instant sync, rock-solid security, and cloud-native scalability. Your workflows, amplified." )

Research And Data
4.2(157 reviews)
235 saves
109 comments

58% of users reported increased productivity after just one week

About OpenSCAD MCP Server

What is OpenSCAD MCP Server: Instant Sync & Rock-Solid Security?

OpenSCAD MCP Server is a distributed 3D modeling platform designed to bridge AI-driven image generation with industrial-grade 3D reconstruction. It enables seamless synchronization across networked devices while maintaining cryptographic-level data integrity. The system features real-time asset replication between client workstations and remote processing nodes, ensuring all components remain version-aligned. Advanced authentication protocols and encrypted data pipelines safeguard sensitive design workflows.

How to use OpenSCAD MCP Server: Instant Sync & Rock-Solid Security?

  1. Configure network discovery to auto-detect printers and processing nodes
  2. Generate multi-angle image sets via Gemini/Venice API or upload custom assets
  3. Curate approved images through the web interface's validation dashboard
  4. Trigger distributed CUDA-accelerated MVS reconstructions across trusted nodes
  5. Track job status via REST API and securely retrieve finalized models
  6. Deploy validated designs to connected 3D printers with role-based permissions

OpenSCAD MCP Server Features

Key Features of OpenSCAD MCP Server: Instant Sync & Rock-Solid Security?

  • Bi-directional sync protocol maintaining millisecond latency between nodes
  • Role-based access control with granular permissions management
  • Hardware-encrypted data pathways between client-server pairs
  • Automated version conflict resolution during multi-user collaboration
  • Compliance with ISO 27001 standards for design data protection
  • Multi-tenant architecture supporting enterprise-grade deployments

Use cases of OpenSCAD MCP Server: Instant Sync & Rock-Solid Security?

OpenSCAD MCP Server FAQ

FAQ: OpenSCAD MCP Server Security & Implementation

Q: How are remote processing nodes authenticated?
A: Mutual TLS with hardware-bound certificates ensure only pre-registered devices can join the network

Q: What happens during network partition events?
A: The system maintains offline mode with Merkle tree validation to reconcile changes post-reconnection

Q: Can legacy SCAD systems integrate?
A: Yes, via our FIPS 140-2 certified API gateway with OAuth2.1 authorization

Content

OpenSCAD MCP Server

A Model Context Protocol (MCP) server that enables users to generate 3D models from text descriptions or images, with a focus on creating parametric 3D models using multi-view reconstruction and OpenSCAD.

Features

  • AI Image Generation : Generate images from text descriptions using Google Gemini or Venice.ai APIs
  • Multi-View Image Generation : Create multiple views of the same 3D object for reconstruction
  • Image Approval Workflow : Review and approve/deny generated images before reconstruction
  • 3D Reconstruction : Convert approved multi-view images into 3D models using CUDA Multi-View Stereo
  • Remote Processing : Process computationally intensive tasks on remote servers within your LAN
  • OpenSCAD Integration : Generate parametric 3D models using OpenSCAD
  • Parametric Export : Export models in formats that preserve parametric properties (CSG, AMF, 3MF, SCAD)
  • 3D Printer Discovery : Optional network printer discovery and direct printing

Architecture

The server is built using the Python MCP SDK and follows a modular architecture:

openscad-mcp-server/
├── src/
│   ├── main.py                  # Main application
│   ├── main_remote.py           # Remote CUDA MVS server
│   ├── ai/                      # AI integrations
│   │   ├── gemini_api.py        # Google Gemini API for image generation
│   │   └── venice_api.py        # Venice.ai API for image generation (optional)
│   ├── models/                  # 3D model generation
│   │   ├── cuda_mvs.py          # CUDA Multi-View Stereo integration
│   │   └── code_generator.py    # OpenSCAD code generation
│   ├── workflow/                # Workflow components
│   │   ├── image_approval.py    # Image approval mechanism
│   │   └── multi_view_to_model_pipeline.py  # Complete pipeline
│   ├── remote/                  # Remote processing
│   │   ├── cuda_mvs_client.py   # Client for remote CUDA MVS processing
│   │   ├── cuda_mvs_server.py   # Server for remote CUDA MVS processing
│   │   ├── connection_manager.py # Remote connection management
│   │   └── error_handling.py    # Error handling for remote processing
│   ├── openscad_wrapper/        # OpenSCAD CLI wrapper
│   ├── visualization/           # Preview generation and web interface
│   ├── utils/                   # Utility functions
│   └── printer_discovery/       # 3D printer discovery
├── scad/                        # Generated OpenSCAD files
├── output/                      # Output files (models, previews)
│   ├── images/                  # Generated images
│   ├── multi_view/              # Multi-view images
│   ├── approved_images/         # Approved images for reconstruction
│   └── models/                  # Generated 3D models
├── templates/                   # Web interface templates
└── static/                      # Static files for web interface

Installation

  1. Clone the repository:

    git clone https://github.com/jhacksman/OpenSCAD-MCP-Server.git

cd OpenSCAD-MCP-Server
  1. Create a virtual environment:

    python -m venv venv

source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:

    pip install -r requirements.txt

  2. Install OpenSCAD:

* Ubuntu/Debian: `sudo apt-get install openscad`
* macOS: `brew install openscad`
* Windows: Download from [openscad.org](https://openscad.org/downloads.html)
  1. Install CUDA Multi-View Stereo:

    git clone https://github.com/fixstars/cuda-multi-view-stereo.git

cd cuda-multi-view-stereo
mkdir build && cd build
cmake ..
make
  1. Set up API keys:
* Create a `.env` file in the root directory
* Add your API keys:
    
            GEMINI_API_KEY=your-gemini-api-key
    VENICE_API_KEY=your-venice-api-key  # Optional
    REMOTE_CUDA_MVS_API_KEY=your-remote-api-key  # For remote processing
    

Remote Processing Setup

The server supports remote processing of computationally intensive tasks, particularly CUDA Multi-View Stereo reconstruction. This allows you to offload processing to more powerful machines within your LAN.

Server Setup (on the machine with CUDA GPU)

  1. Install CUDA Multi-View Stereo on the server machine:

    git clone https://github.com/fixstars/cuda-multi-view-stereo.git

cd cuda-multi-view-stereo
mkdir build && cd build
cmake ..
make
  1. Start the remote CUDA MVS server:

    python src/main_remote.py

  2. The server will automatically advertise itself on the local network using Zeroconf.

Client Configuration

  1. Configure remote processing in your .env file:

    REMOTE_CUDA_MVS_ENABLED=True

REMOTE_CUDA_MVS_USE_LAN_DISCOVERY=True
REMOTE_CUDA_MVS_API_KEY=your-shared-secret-key
  1. Alternatively, you can specify a server URL directly:

    REMOTE_CUDA_MVS_ENABLED=True

REMOTE_CUDA_MVS_USE_LAN_DISCOVERY=False
REMOTE_CUDA_MVS_SERVER_URL=http://server-ip:8765
REMOTE_CUDA_MVS_API_KEY=your-shared-secret-key

Remote Processing Features

  • Automatic Server Discovery : Find CUDA MVS servers on your local network
  • Job Management : Upload images, track job status, and download results
  • Fault Tolerance : Automatic retries, circuit breaker pattern, and error tracking
  • Authentication : Secure API key authentication for all remote operations
  • Health Monitoring : Continuous server health checks and status reporting

Usage

  1. Start the server:

    python src/main.py

  2. The server will start on http://localhost:8000

  3. Use the MCP tools to interact with the server:

* **generate_image_gemini** : Generate an image using Google Gemini API
    
            {
      "prompt": "A low-poly rabbit with black background",
      "model": "gemini-2.0-flash-exp-image-generation"
    }
    

* **generate_multi_view_images** : Generate multiple views of the same 3D object
    
            {
      "prompt": "A low-poly rabbit",
      "num_views": 4
    }
    

* **create_3d_model_from_images** : Create a 3D model from approved multi-view images
    
            {
      "image_ids": ["view_1", "view_2", "view_3", "view_4"],
      "output_name": "rabbit_model"
    }
    

* **create_3d_model_from_text** : Complete pipeline from text to 3D model
    
            {
      "prompt": "A low-poly rabbit",
      "num_views": 4
    }
    

* **export_model** : Export a model to a specific format
    
            {
      "model_id": "your-model-id",
      "format": "obj"  // or "stl", "ply", "scad", etc.
    }
    

* **discover_remote_cuda_mvs_servers** : Find CUDA MVS servers on your network
    
            {
      "timeout": 5
    }
    

* **get_remote_job_status** : Check the status of a remote processing job
    
            {
      "server_id": "server-id",
      "job_id": "job-id"
    }
    

* **download_remote_model_result** : Download a completed model from a remote server
    
            {
      "server_id": "server-id",
      "job_id": "job-id",
      "output_name": "model-name"
    }
    

* **discover_printers** : Discover 3D printers on the network
    
            {}
    

* **print_model** : Print a model on a connected printer
    
            {
      "model_id": "your-model-id",
      "printer_id": "your-printer-id"
    }
    

Image Generation Options

The server supports multiple image generation options:

  1. Google Gemini API (Default): Uses the Gemini 2.0 Flash Experimental model for high-quality image generation
* Supports multi-view generation with consistent style
* Requires a Google Gemini API key
  1. Venice.ai API (Optional): Alternative image generation service
* Supports various models including flux-dev and fluently-xl
* Requires a Venice.ai API key
  1. User-Provided Images : Skip image generation and use your own images
* Upload images directly to the server
* Useful for working with existing photographs or renders

Multi-View Workflow

The server implements a multi-view workflow for 3D reconstruction:

  1. Image Generation : Generate multiple views of the same 3D object
  2. Image Approval : Review and approve/deny each generated image
  3. 3D Reconstruction : Convert approved images into a 3D model using CUDA MVS
    * Can be processed locally or on a remote server within your LAN
  4. Model Refinement : Optionally refine the model using OpenSCAD

Remote Processing Workflow

The remote processing workflow allows you to offload computationally intensive tasks to more powerful machines:

  1. Server Discovery : Automatically discover CUDA MVS servers on your network
  2. Image Upload : Upload approved multi-view images to the remote server
  3. Job Processing : Process the images on the remote server using CUDA MVS
  4. Status Tracking : Monitor the job status and progress
  5. Result Download : Download the completed 3D model when processing is finished

Supported Export Formats

The server supports exporting models in various formats:

  • OBJ : Wavefront OBJ format (standard 3D model format)
  • STL : Standard Triangle Language (for 3D printing)
  • PLY : Polygon File Format (for point clouds and meshes)
  • SCAD : OpenSCAD source code (for parametric models)
  • CSG : OpenSCAD CSG format (preserves all parametric properties)
  • AMF : Additive Manufacturing File Format (preserves some metadata)
  • 3MF : 3D Manufacturing Format (modern replacement for STL with metadata)

Web Interface

The server provides a web interface for:

  • Generating and approving multi-view images
  • Previewing 3D models from different angles
  • Downloading models in various formats

Access the interface at http://localhost:8000/ui/

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Related MCP Servers & Clients