Skip to main content
Glama

magg_enable_server

Activate a specified server in the MAGG MCP system by providing its name, enabling it for immediate use and integration with MAGG's aggregated server capabilities.

Instructions

Enable a server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesServer name to enable

Implementation Reference

  • The handler function that implements the magg_enable_server tool. Enables the specified server by updating its enabled status in the configuration, saving the config, and mounting the server.
    async def enable_server(
        self,
        name: Annotated[str, Field(description="Server name to enable")],
    ) -> MaggResponse:
        """Enable 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 server.enabled:
                return MaggResponse.error(f"Server '{name}' is already enabled")
    
            server.enabled = True
    
            if not self.save_config(config):
                return MaggResponse.error(f"Failed to save configuration for server '{name}'")
    
            success = await self.server_manager.mount_server(server)
    
            return MaggResponse.success({
                "action": "server_enabled",
                "server": {"name": name},
                "mounted": success
            })
    
        except Exception as e:
            return MaggResponse.error(f"Failed to enable server: {str(e)}")
  • Registers the enable_server method as the 'magg_enable_server' tool (via self_prefix_) in the list of tools and applies the FastMCP tool decorator with a response wrapper.
    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()

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