"""Configuration management for MCP server."""
import os
from pathlib import Path
class Config:
"""MCP server configuration from environment variables."""
# Server settings
HOST = os.getenv("MCP_SERVER_HOST", "0.0.0.0")
PORT = int(os.getenv("MCP_SERVER_PORT", "8000"))
# Cache settings
CACHE_ENABLED = os.getenv("CACHE_ENABLED", "true").lower() == "true"
CACHE_TTL = int(os.getenv("CACHE_TTL", "3600")) # 1 hour
CACHE_MAX_SIZE = int(os.getenv("CACHE_MAX_SIZE", "100"))
CACHE_DIR = Path(os.getenv("CACHE_DIR", "/app/cache"))
# Rate limiting
RATE_LIMIT_ENABLED = os.getenv("RATE_LIMIT_ENABLED", "true").lower() == "true"
RATE_LIMIT_REQUESTS = int(os.getenv("RATE_LIMIT_REQUESTS", "100"))
RATE_LIMIT_WINDOW = int(os.getenv("RATE_LIMIT_WINDOW", "60")) # seconds
# YouTube settings
YOUTUBE_COOKIES = os.getenv("YOUTUBE_COOKIES")
YOUTUBE_PROXY_HTTP = os.getenv("YOUTUBE_PROXY_HTTP")
YOUTUBE_PROXY_HTTPS = os.getenv("YOUTUBE_PROXY_HTTPS")
@classmethod
def ensure_cache_dir(cls):
"""Ensure cache directory exists."""
if cls.CACHE_ENABLED:
cls.CACHE_DIR.mkdir(parents=True, exist_ok=True)