.env.exampleโข5.22 kB
# OpenSCAD MCP Server Configuration Example
# Copy this file to .env and customize for your environment
# ========================================
# OpenSCAD Configuration
# ========================================
# Path to OpenSCAD executable (optional, auto-detected if not set)
# Linux: /usr/bin/openscad, /snap/bin/openscad
# macOS: /Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD
# Windows: C:\Program Files\OpenSCAD\openscad.exe
OPENSCAD_PATH=/usr/bin/openscad
# ========================================
# Server Configuration
# ========================================
# Server transport mode (stdio|http|sse)
SERVER_TRANSPORT=stdio
# Server host and port (for HTTP/SSE transport)
SERVER_HOST=127.0.0.1
SERVER_PORT=3000
# Server name and version
SERVER_NAME=openscad-mcp-server
SERVER_VERSION=0.1.0
# ========================================
# Rendering Configuration
# ========================================
# Temporary directory for renders (will be created if doesn't exist)
OPENSCAD_TEMP_DIR=/tmp/openscad-renders
# Maximum concurrent renders
OPENSCAD_MAX_WORKERS=4
# Maximum queue size for pending renders
OPENSCAD_QUEUE_SIZE=100
# Default render timeout in seconds
OPENSCAD_RENDER_TIMEOUT=60
# Default image size (width,height)
DEFAULT_IMAGE_WIDTH=800
DEFAULT_IMAGE_HEIGHT=600
# Default color scheme
DEFAULT_COLOR_SCHEME=Cornfield
# ========================================
# Cache Configuration
# ========================================
# Enable caching of rendered results
OPENSCAD_CACHE_ENABLED=true
# Cache time-to-live in seconds (1 hour = 3600)
OPENSCAD_CACHE_TTL=3600
# Maximum cache size in MB
OPENSCAD_CACHE_MAX_SIZE=1000
# Cache directory
OPENSCAD_CACHE_DIR=/tmp/openscad-cache
# ========================================
# Response Management
# ========================================
# Maximum response size in tokens (approx 4 chars per token)
OPENSCAD_MAX_RESPONSE_SIZE=25000
# Auto-optimize large responses (auto|base64|file_path|compressed)
OPENSCAD_OUTPUT_FORMAT=auto
# Directory for file-based responses
OPENSCAD_OUTPUT_DIR=/tmp/openscad-output
# Image compression quality (1-100)
OPENSCAD_COMPRESSION_QUALITY=85
# ========================================
# Security Configuration
# ========================================
# Allowed file paths for reading .scad files (comma-separated)
# Leave empty to allow any path
ALLOWED_SCAD_PATHS=
# Disallow potentially dangerous OpenSCAD functions
DISABLE_DANGEROUS_FUNCTIONS=true
# Maximum file size for .scad files in bytes (10MB default)
MAX_SCAD_FILE_SIZE=10485760
# ========================================
# Logging Configuration
# ========================================
# Log level (DEBUG|INFO|WARNING|ERROR|CRITICAL)
LOG_LEVEL=INFO
# Log file path (leave empty for stdout only)
LOG_FILE=/tmp/openscad-mcp.log
# Enable detailed performance logging
ENABLE_PERFORMANCE_LOGGING=false
# ========================================
# Development Settings
# ========================================
# Enable debug mode
DEBUG=false
# Enable hot reload for development
HOT_RELOAD=false
# Enable profiling
ENABLE_PROFILING=false
# ========================================
# MCP Protocol Settings
# ========================================
# MCP protocol version
MCP_VERSION=2024.11
# Enable experimental features
ENABLE_EXPERIMENTAL=false
# ========================================
# Resource Limits
# ========================================
# Maximum memory usage in MB
MAX_MEMORY_MB=2048
# Maximum CPU percentage
MAX_CPU_PERCENT=80
# ========================================
# External Services
# ========================================
# ImageMagick path for advanced image processing (optional)
IMAGEMAGICK_PATH=
# Enable cloud storage for renders (s3|gcs|azure|none)
CLOUD_STORAGE=none
# Cloud storage bucket/container name
CLOUD_STORAGE_BUCKET=
# Cloud storage credentials (use IAM roles in production)
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# AWS_REGION=us-east-1
# ========================================
# Feature Flags
# ========================================
# Enable animation rendering support
ENABLE_ANIMATIONS=false
# Enable STL export support
ENABLE_STL_EXPORT=false
# Enable batch processing
ENABLE_BATCH_PROCESSING=true
# Enable WebAssembly fallback
ENABLE_WASM_FALLBACK=false
# ========================================
# Monitoring and Telemetry
# ========================================
# Enable metrics collection
ENABLE_METRICS=false
# Metrics export endpoint
METRICS_ENDPOINT=
# Enable tracing
ENABLE_TRACING=false
# Tracing endpoint
TRACING_ENDPOINT=
# ========================================
# API Keys (if needed for external services)
# ========================================
# Example: API key for external rendering service
# RENDER_SERVICE_API_KEY=
# ========================================
# Notes
# ========================================
# 1. Copy this file to .env and customize for your environment
# 2. Never commit .env files to version control
# 3. Use environment-specific .env files (.env.production, .env.staging)
# 4. Restart the server after changing configuration
# 5. See documentation for detailed configuration options