"""Configuration management for Deribit MCP server."""
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
"""Application settings loaded from environment variables."""
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
case_sensitive=False,
)
# Deribit API
deribit_api_key: str = ""
deribit_api_secret: str = ""
deribit_test_mode: bool = True
# Telegram
telegram_bot_token: str = ""
telegram_chat_id: str = ""
# Alert settings
alert_check_interval: float = 1.0
max_alerts: int = 100
# Logging
log_level: str = "INFO"
@property
def deribit_ws_url(self) -> str:
"""Get WebSocket URL based on test mode."""
if self.deribit_test_mode:
return "wss://test.deribit.com/ws/api/v2"
return "wss://www.deribit.com/ws/api/v2"
@property
def deribit_rest_url(self) -> str:
"""Get REST API URL based on test mode."""
if self.deribit_test_mode:
return "https://test.deribit.com/api/v2"
return "https://www.deribit.com/api/v2"
# Global settings instance
settings = Settings()