"""Configuration management for MCP server."""
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
class ServerConfig(BaseSettings):
"""Main server configuration."""
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
case_sensitive=False,
)
# Server settings
log_level: str = Field(default="INFO", description="Logging level")
# Database
database_path: str = Field(
default="/app/data/mcp.db",
description="Path to SQLite database"
)
# Career domain
greenhouse_api_key: str | None = Field(default=None, description="Greenhouse API key")
lever_api_key: str | None = Field(default=None, description="Lever API key")
# Caching
cache_ttl_jobs: int = Field(default=3600, description="Job cache TTL in seconds")
cache_ttl_health: int = Field(default=900, description="Health data cache TTL in seconds")
# Scraping
playwright_headless: bool = Field(default=True, description="Run Playwright in headless mode")
playwright_timeout: int = Field(default=30000, description="Playwright timeout in ms")
# Global config instance
config = ServerConfig()