"""Configuration management for Imagen MCP Server."""
import os
from dataclasses import dataclass
@dataclass
class ImagenMCPConfig:
"""Configuration for Imagen MCP Server."""
# API Configuration
nexos_api_key: str
nexos_api_base_url: str = "https://api.nexos.ai/v1"
# Default Generation Settings
default_model: str = "imagen-4"
# Session Management
session_ttl: int = 3600
max_concurrent_sessions: int = 10
# Logging
log_level: str = "INFO"
@classmethod
def from_env(cls) -> "ImagenMCPConfig":
"""Load configuration from environment variables."""
api_key = os.environ.get("NEXOS_API_KEY")
if not api_key:
raise ValueError("NEXOS_API_KEY environment variable is required")
return cls(
nexos_api_key=api_key,
nexos_api_base_url=os.environ.get(
"NEXOS_API_BASE_URL", "https://api.nexos.ai/v1"
),
default_model=os.environ.get("IMAGEN_DEFAULT_MODEL", "imagen-4"),
session_ttl=int(os.environ.get("IMAGEN_SESSION_TTL", "3600")),
max_concurrent_sessions=int(
os.environ.get("IMAGEN_MAX_CONCURRENT_SESSIONS", "10")
),
log_level=os.environ.get("IMAGEN_LOG_LEVEL", "INFO"),
)