Skip to main content
Glama
config.py1.44 kB
import json from pathlib import Path from typing import Any, Dict, Optional # keep the module-level definitions and type hints PROJECT_DIRECTORY: Optional[str] = None BHE_DOMAIN: Optional[str] = None BHE_PORT: Optional[int] = None BHE_TOKEN_ID: Optional[str] = None BHE_TOKEN_KEY: Optional[str] = None DEFAULT_KEYS = ( "PROJECT_DIRECTORY", "BHE_DOMAIN", "BHE_PORT", "BHE_TOKEN_ID", "BHE_TOKEN_KEY", ) def load_variables() -> Dict[str, Optional[Any]]: """ Load configuration from a JSON file, set module globals, and return a dict. Empty strings become None. BHE_PORT will be converted to int when possible. """ global PROJECT_DIRECTORY, BHE_DOMAIN, BHE_PORT, BHE_TOKEN_ID, BHE_TOKEN_KEY p = Path(__file__).parent/"config/config.json" data = json.loads(p.read_text(encoding="utf-8")) loaded: Dict[str, Optional[Any]] = {} for key in DEFAULT_KEYS: val = data.get(key) if isinstance(val, str) and val.strip() == "": val = None if key == "BHE_PORT" and val is not None: try: val = int(val) except (TypeError, ValueError): pass loaded[key] = val PROJECT_DIRECTORY = loaded["PROJECT_DIRECTORY"] BHE_DOMAIN = loaded["BHE_DOMAIN"] BHE_PORT = loaded["BHE_PORT"] BHE_TOKEN_ID = loaded["BHE_TOKEN_ID"] BHE_TOKEN_KEY = loaded["BHE_TOKEN_KEY"] return loaded

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/YoussefSahnoun/PentestMCP'

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