"""Configuration for Healthcare API MCP.""" import os from typing import List, Optional from pydantic import BaseModel, Field class ProviderConfig(BaseModel): """Configuration for a provider.""" name: str enabled: bool = True api_key: Optional[str] = None class MCPConfig(BaseModel): """Main MCP server configuration.""" # Enabled providers (comma-separated or list) enabled_providers: List[str] = Field( default_factory=lambda: ["openfda", "clinical_guidelines", "cms_pricing"] ) # OpenFDA API key (optional but recommended for higher rate limits) openfda_api_key: Optional[str] = Field(default=None) # Logging level log_level: str = Field(default="INFO") @classmethod def from_env(cls) -> "MCPConfig": """Load configuration from environment variables.""" # Parse enabled providers enabled_str = os.getenv("ENABLED_PROVIDERS", "") if enabled_str: enabled_providers = [p.strip() for p in enabled_str.split(",")] else: enabled_providers = ["openfda", "clinical_guidelines", "cms_pricing"] return cls( enabled_providers=enabled_providers, openfda_api_key=os.getenv("OPENFDA_API_KEY"), log_level=os.getenv("LOG_LEVEL", "INFO") )