MCP Hub
Back to servers

SHARP 3D Gaussian Splat Generator

An MCP server that utilizes Apple's SHARP model to convert single 2D images into interactive 3D Gaussian Splats with real-time rendering and low latency.

Stars
1
Tools
5
Updated
Dec 27, 2025
Validated
Mar 15, 2026

English | 简体中文 | 繁體中文 | 日本語

🎯 SHARP - Monocular View Synthesis

Docker Version License arXiv

Generate interactive 3D scenes from a single image in less than a second.

Demo

✨ What is SHARP?

SHARP (Sharp Monocular View Synthesis) is an AI model from Apple Research that converts a single 2D photograph into a 3D Gaussian Splat representation. This enables:

  • Photo to 3D: Transform any photo into an interactive 3D scene
  • Real-time Rendering: Generated 3DGS can be rendered in real-time
  • Ultra Fast: Less than 1 second inference on GPU
  • Zero-shot Generalization: Works on any image without fine-tuning

Use Cases

IndustryApplication
E-commerce360° product views from single photo
Real EstateVirtual property tours
Social Media3D photo effects
Gaming/VFXRapid 3D asset prototyping
AR/VRQuick environment generation

⚠️ Note: SHARP generates small-range view synthesis (±15-30°), not full 360° reconstruction. It's ideal for parallax effects and depth-aware rendering.

🚀 Quick Start

Docker (Recommended)

# Pull and run (All-in-One, ~15GB with model)
docker run -d --gpus all -p 8080:8080 --name sharp neosun/sharp:latest

# Access Web UI
open http://localhost:8080

# API Documentation
open http://localhost:8080/docs

Docker Compose

version: '3.8'
services:
  sharp:
    image: neosun/sharp:latest
    container_name: sharp-service
    ports:
      - "8080:8080"
    environment:
      - GPU_IDLE_TIMEOUT=300
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    restart: unless-stopped
docker-compose up -d

📦 Features

This Docker image provides three interfaces:

InterfacePortDescription
Web UI8080Upload images, view 3D results
REST API8080Programmatic access with Swagger docs
MCP ServerstdioAI assistant integration

🌐 Web UI

Access http://localhost:8080 for the web interface:

  • Drag & drop image upload
  • Real-time 3D preview (looping video)
  • Download PLY and MP4 files
  • GPU status monitoring
  • Multi-language support (EN/中文)

📡 REST API

Endpoints

MethodEndpointDescription
GET/healthHealth check
POST/api/predictGenerate 3D from image
GET/api/files/{id}.plyDownload PLY file
GET/api/files/{id}.mp4Download video
GET/api/gpu/statusGPU status
POST/api/gpu/offloadRelease GPU memory
GET/docsSwagger documentation

Example: Generate 3D Scene

# Upload image and generate 3D
curl -X POST http://localhost:8080/api/predict \
  -F "file=@photo.jpg" \
  -F "render_video=true"

# Response
{
  "task_id": "abc123",
  "ply_url": "/api/files/abc123.ply",
  "video_url": "/api/files/abc123.mp4"
}

# Download results
curl -O http://localhost:8080/api/files/abc123.ply
curl -O http://localhost:8080/api/files/abc123.mp4

GPU Management

# Check GPU status
curl http://localhost:8080/api/gpu/status
# {"device":"cuda","model_loaded":true,"gpu_memory_allocated_mb":2694}

# Release GPU memory
curl -X POST http://localhost:8080/api/gpu/offload
# {"status":"offloaded"}

🤖 MCP Integration

SHARP includes an MCP (Model Context Protocol) server for AI assistant integration.

Configuration

Add to your MCP client config (e.g., Claude Desktop):

{
  "mcpServers": {
    "sharp": {
      "command": "docker",
      "args": ["exec", "-i", "sharp-service", "python", "mcp_server.py"]
    }
  }
}

Available Tools

ToolDescription
predictGenerate 3D from single image
batch_predictProcess multiple images
gpu_statusCheck GPU status
gpu_offloadRelease GPU memory
get_supported_formatsList supported image formats

MCP Usage Example

User: Generate a 3D scene from /path/to/image.jpg

Assistant: I'll generate a 3D Gaussian Splat from that image.
[Calls predict tool with file_path="/path/to/image.jpg"]
Result: PLY file saved to /tmp/sharp/output/image.ply

⚙️ Configuration

Environment Variables

VariableDefaultDescription
PORT8080Server port
GPU_IDLE_TIMEOUT300Seconds before auto-offload
MODEL_PATH(bundled)Custom model path

Hardware Requirements

ComponentMinimumRecommended
GPU4GB VRAM8GB+ VRAM
RAM8GB16GB
Storage20GB30GB

📁 Project Structure

sharp/
├── app.py              # Flask API server
├── gpu_manager.py      # GPU resource management
├── mcp_server.py       # MCP interface
├── templates/          # Web UI templates
├── static/             # Frontend assets
├── src/sharp/          # Core model code
├── Dockerfile          # Container definition
└── docker-compose.yml  # Compose config

🔧 Tech Stack

  • Model: Apple SHARP (3D Gaussian Splatting)
  • Backend: Flask + Gunicorn
  • GPU: CUDA 12.4 + PyTorch
  • Container: NVIDIA Docker
  • MCP: FastMCP

📊 Performance

MetricValue
Inference Time~1 second
Video Rendering~80 seconds
GPU Memory~2.7 GB
PLY File Size~60 MB

📝 Changelog

v1.0.0 (2024-12-27)

  • Initial release
  • Web UI with video preview
  • REST API with Swagger docs
  • MCP server integration
  • Auto GPU memory management

📄 License

This project uses Apple's sample code license. See LICENSE for details.

🙏 Acknowledgements

⭐ Star History

Star History Chart

📱 关注公众号

公众号

Reviews

No reviews yet

Sign in to write a review