Skip to main content
Glama

magg_disable_server

Disable a specified server on the MAGG MCP server to manage and control server operations. Input the server name to deactivate it.

Instructions

Disable a server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesServer name to disable

Implementation Reference

  • The core handler function for the 'magg_disable_server' MCP tool. It disables the specified server by setting enabled=False in config, saves the config, unmounts the server, and returns a success/error response.
    async def disable_server( self, name: Annotated[str, Field(description="Server name to disable")], ) -> MaggResponse: """Disable a server.""" try: config = self.config if name not in config.servers: return MaggResponse.error(f"Server '{name}' not found") server = config.servers[name] if not server.enabled: return MaggResponse.error(f"Server '{name}' is already disabled") server.enabled = False if not self.save_config(config): return MaggResponse.error(f"Failed to save configuration for server '{name}'") await self.server_manager.unmount_server(name) return MaggResponse.success({ "action": "server_disabled", "server": {"name": name} }) except Exception as e: return MaggResponse.error(f"Failed to disable server: {str(e)}")
  • Registration of the 'magg_disable_server' tool (line 53) within the _register_tools method of MaggServer class. The tool is registered using FastMCP's self.mcp.tool() with the name constructed as f'{self_prefix_}disable_server'.
    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))
  • Input schema for the tool defined via Pydantic Annotated Field: server name (str) required.
    async def disable_server( self, name: Annotated[str, Field(description="Server name to disable")], ) -> MaggResponse:
  • CLI command 'magg server disable' that mirrors the tool logic for disabling a server via config file directly.
    async def cmd_disable_server(args) -> int: """Disable a server.""" config_manager = ConfigManager(args.config) config = config_manager.load_config() if args.name not in config.servers: print_error(f"Server '{args.name}' not found") return 1 server = config.servers[args.name] if not server.enabled: print_info(f"Server '{args.name}' is already disabled") return 0 server.enabled = False if config_manager.save_config(config): print_success(f"Disabled server '{args.name}'") print_text("If Magg is running, the server will be automatically unmounted") return 0 else: print_error("Failed to save configuration") return 1

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/sitbon/magg'

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