Skip to main content
Glama
config.py1.59 kB
""" Domain configuration and value objects. """ import os from dataclasses import dataclass from pathlib import Path from dotenv import load_dotenv @dataclass(frozen=True) class ApiConfig: """API configuration value object.""" base_url: str api_key: str timeout: float = 15.0 def is_api_key_valid(self) -> bool: """Check if the API key is properly configured.""" return self.api_key != "YOUR_API_KEY_HERE" and bool(self.api_key.strip()) @classmethod def from_environment(cls) -> "ApiConfig": """Create API configuration from environment variables.""" # Load environment variables load_dotenv() # Get API key from environment api_key = os.getenv("FREEPIK_API_KEY") if not api_key: # Try to load from .env file if not in environment env_file = Path(__file__).parent.parent.parent / ".env" if env_file.exists(): load_dotenv(env_file) api_key = os.getenv("FREEPIK_API_KEY") if not api_key: api_key = "YOUR_API_KEY_HERE" # Placeholder value - will be handled in services return cls(base_url="https://api.freepik.com", api_key=api_key, timeout=15.0) @dataclass(frozen=True) class CacheConfig: """Cache configuration value object.""" cache_duration_seconds: int = 3600 # 1 hour cache_file_name: str = "freepik-openapi-spec.yaml" @dataclass(frozen=True) class ServerConfig: """Server configuration value object.""" name: str = "Freepik API Server" transport: str = "stdio"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/freepik-company/freepik-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server