magg_reload_config
Reload configurations from disk, detect changes, and apply updates to managed servers. Use this tool to dynamically add, remove, or modify server configurations, ensuring alignment with the latest setup.
Instructions
Reload configuration from disk and apply changes.
This will:
Re-read the configuration file
Detect changes (added/removed/modified servers)
Apply changes by mounting/unmounting servers as needed
Note: This operation may briefly interrupt service for affected servers. Config reload can also be triggered via SIGHUP signal on Unix systems.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- magg/server/server.py:43-82 (registration)Registers the 'magg_reload_config' tool (line 59) as part of the programmatic tool registration in _register_tools method. The tool name is constructed as f'{self_prefix_}reload_config' where self_prefix_ is typically 'magg_'.def _register_tools(self): """Register all Magg management tools programmatically. """ self_prefix_ = self.self_prefix_ tools = [ (self.add_server, f"{self_prefix_}add_server", None), (self.remove_server, f"{self_prefix_}remove_server", None), (self.list_servers, f"{self_prefix_}list_servers", None), (self.enable_server, f"{self_prefix_}enable_server", None), (self.disable_server, f"{self_prefix_}disable_server", None), (self.search_servers, f"{self_prefix_}search_servers", None), (self.smart_configure, f"{self_prefix_}smart_configure", None), (self.analyze_servers, f"{self_prefix_}analyze_servers", None), (self.status, f"{self_prefix_}status", None), (self.check, f"{self_prefix_}check", None), (self.reload_config_tool, f"{self_prefix_}reload_config", None), (self.load_kit, f"{self_prefix_}load_kit", None), (self.unload_kit, f"{self_prefix_}unload_kit", None), (self.list_kits, f"{self_prefix_}list_kits", None), (self.kit_info, f"{self_prefix_}kit_info", None), ] def call_tool_wrapper(func): @wraps(func) async def wrapper(*args, **kwds): result = await func(*args, **kwds) if isinstance(result, MaggResponse): return result.as_json_text_content return result return wrapper for method, tool_name, options in tools: self.mcp.tool(name=tool_name, **(options or {}))(call_tool_wrapper(method)) self._register_resources() self._register_prompts()
- magg/server/server.py:749-785 (handler)The main handler function for the 'magg_reload_config' tool. It performs checks for auto_reload and read_only mode, then delegates to self.reload_config() and returns a formatted MaggResponse.async def reload_config_tool(self) -> MaggResponse: """Reload configuration from disk and apply changes. This will: 1. Re-read the configuration file 2. Detect changes (added/removed/modified servers) 3. Apply changes by mounting/unmounting servers as needed Note: This operation may briefly interrupt service for affected servers. Config reload can also be triggered via SIGHUP signal on Unix systems. """ if not self.config.auto_reload: return MaggResponse.error( "Configuration reload is disabled. Set MAGG_AUTO_RELOAD=true to enable." ) if self.config.read_only: return MaggResponse.error( "Configuration reload is not allowed in read-only mode." ) try: success = await self.reload_config() if success: return MaggResponse.success({ "message": "Configuration reloaded successfully", "config_path": str(self.server_manager.config_manager.config_path), "read_only": self.config.read_only }) else: return MaggResponse.error("Configuration reload failed - check logs for details") except Exception as e: logger.exception("Error during config reload") return MaggResponse.error(f"Config reload error: {str(e)}")
- magg/server/manager.py:486-498 (helper)Helper method in ManagedServer (parent of MaggServer) that triggers the ConfigManager's reload_config. Called by the tool handler.async def reload_config(self) -> bool: """Manually trigger a configuration reload. Returns: True if reload was successful, False otherwise """ if not self._enable_config_reload: await self.server_manager.config_manager.setup_config_reload( self.server_manager.handle_config_reload ) return await self.server_manager.config_manager.reload_config()
- magg/server/manager.py:368-376 (helper)Defines self_prefix_ used in tool name construction (e.g., 'magg_'). Determines the 'magg_' prefix for 'reload_config'.@cached_property def self_prefix_(self) -> str: """self_prefix with trailing separator if prefix exists. """ prefix = self.self_prefix if prefix: return f"{prefix}{self.server_manager.prefix_separator}" return ""