"""Configuration settings for the Daily Briefing MCP server."""
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
"""Daily Briefing MCP server settings loaded from environment variables."""
model_config = SettingsConfigDict(
env_prefix="BRIEFING_",
env_file=".env",
env_file_encoding="utf-8",
extra="ignore",
)
# Server settings
transport: str = "stdio" # "stdio" or "streamable-http"
host: str = "0.0.0.0"
port: int = 8003
log_level: str = "INFO"
# Cache settings
cache_ttl_seconds: int = 300
# Work hours (for scheduling suggestions)
work_start_hour: int = 9
work_end_hour: int = 17
timezone: str = "America/New_York"
# Source: TripIt (iCal feed)
tripit_enabled: bool = True
tripit_ical_url: str = ""
# Source: Google Calendar (iCal feed)
google_calendar_enabled: bool = True
google_calendar_url: str = ""
google_calendar_name: str = "Google Calendar"
# Source: Fireflies.ai
fireflies_enabled: bool = True
fireflies_api_key: str = ""
fireflies_api_url: str = "https://api.fireflies.ai/graphql"
# Source: Additional iCal feeds (comma-separated)
additional_ical_urls: str = ""
additional_ical_names: str = ""
# Briefing settings
meeting_lookback_days: int = 1 # Days to look back for meeting summaries
travel_lookahead_days: int = 7 # Days to look ahead for travel
conflict_buffer_minutes: int = 15 # Buffer time between meetings
settings = Settings()