Skip to main content
Glama
config_manager.py1.49 kB
import json from pathlib import Path from my_mcp.utils.singleton_meta import SingletonMeta class ConfigManager(metaclass=SingletonMeta): def __init__(self): pass def configure(self, config_dict_or_path: dict | Path | None = None): if isinstance(config_dict_or_path, dict): config_dict = config_dict_or_path elif config_dict_or_path is None: current_dir = Path.cwd() config_path = None while current_dir != current_dir.parent: potential_path = current_dir / "config.json" if potential_path.exists(): config_path = potential_path break current_dir = current_dir.parent if config_path is None: raise FileNotFoundError( "Could not find config.json in any parent directory" ) with open(config_path) as file: config_dict = json.load(file) else: with open(config_dict_or_path) as file: config_dict = json.load(file) for key, value in config_dict.items(): self.__dict__[key] = value return self @staticmethod def get_project_root() -> Path: return Path(__file__).parent.parent.parent def __getattr__(self, item): if item in self.__dict__: return self.__dict__[item] raise AttributeError(f"No such attribute: {item}")

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/vaheandonians/my-mcp'

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