Skip to main content
Glama
xplainable

Xplainable MCP Server

Official
by xplainable
misc.py7.11 kB
""" Misc service MCP tools. Auto-generated and maintained by the xplainable-client sync workflow. """ import logging from typing import Optional, List, Dict, Any from ..mcp_instance import mcp logger = logging.getLogger(__name__) # Import shared utilities from ..server import get_client # Misc Tools # ============================================ @mcp.tool() def misc_load_classifier(model_id: str, version_id: str, model=None): """ Load a binary classification model. Args: model_id: Model ID version_id: Version ID model: Existing model to add partitions to Returns: Loaded xplainable classifier Raises: ValueError: If model is not a classification model XplainableAPIError: If loading fails Category: read """ try: client = get_client() result = client.misc.load_classifier(model_id, version_id, model) logger.info(f"Executed misc.load_classifier") # Handle different return types if hasattr(result, 'model_dump'): return result.model_dump() elif isinstance(result, list) and result and hasattr(result[0], 'model_dump'): return [item.model_dump() for item in result] else: return result except Exception as e: logger.error(f"Error in misc_load_classifier: {e}") raise @mcp.tool() def misc_ping_gateway(hostname: Optional[str] = None): """ Ping the API gateway to check connectivity. Args: hostname: Optional hostname to ping (uses session hostname if not provided) Returns: Ping response with success status Raises: XplainableAPIError: If ping fails Category: admin """ try: client = get_client() result = client.misc.ping_gateway(hostname) logger.info(f"Executed misc.ping_gateway") # Handle different return types if hasattr(result, 'model_dump'): return result.model_dump() elif isinstance(result, list) and result and hasattr(result[0], 'model_dump'): return [item.model_dump() for item in result] else: return result except Exception as e: logger.error(f"Error in misc_ping_gateway: {e}") raise @mcp.tool() def misc_health_check(check_database: bool = True, check_storage: bool = True, check_compute: bool = True): """ Perform a comprehensive health check. Args: check_database: Whether to check database connectivity check_storage: Whether to check storage systems check_compute: Whether to check compute resources Returns: Health check results Raises: XplainableAPIError: If health check fails Category: admin """ try: client = get_client() result = client.misc.health_check(check_database, check_storage, check_compute) logger.info(f"Executed misc.health_check") # Handle different return types if hasattr(result, 'model_dump'): return result.model_dump() elif isinstance(result, list) and result and hasattr(result[0], 'model_dump'): return [item.model_dump() for item in result] else: return result except Exception as e: logger.error(f"Error in misc_health_check: {e}") raise @mcp.tool() def misc_get_model_info(model_id: str, version_id: str): """ Get information about a model without loading it. Args: model_id: Model ID version_id: Version ID Returns: Model information Raises: XplainableAPIError: If retrieval fails Category: read """ try: client = get_client() result = client.misc.get_model_info(model_id, version_id) logger.info(f"Executed misc.get_model_info") # Handle different return types if hasattr(result, 'model_dump'): return result.model_dump() elif isinstance(result, list) and result and hasattr(result[0], 'model_dump'): return [item.model_dump() for item in result] else: return result except Exception as e: logger.error(f"Error in misc_get_model_info: {e}") raise @mcp.tool() def misc_ping_server(hostname: Optional[str] = None): """ Ping the compute server to check connectivity. Args: hostname: Optional hostname to ping (uses session hostname if not provided) Returns: Ping response with success status Raises: XplainableAPIError: If ping fails Category: admin """ try: client = get_client() result = client.misc.ping_server(hostname) logger.info(f"Executed misc.ping_server") # Handle different return types if hasattr(result, 'model_dump'): return result.model_dump() elif isinstance(result, list) and result and hasattr(result[0], 'model_dump'): return [item.model_dump() for item in result] else: return result except Exception as e: logger.error(f"Error in misc_ping_server: {e}") raise @mcp.tool() def misc_get_version_info(): """ Get comprehensive version information. Returns: Version information for all components Category: read """ try: client = get_client() result = client.misc.get_version_info() logger.info(f"Executed misc.get_version_info") # Handle different return types if hasattr(result, 'model_dump'): return result.model_dump() elif isinstance(result, list) and result and hasattr(result[0], 'model_dump'): return [item.model_dump() for item in result] else: return result except Exception as e: logger.error(f"Error in misc_get_version_info: {e}") raise @mcp.tool() def misc_load_regressor(model_id: str, version_id: str, model=None): """ Load a regression model. Args: model_id: Model ID version_id: Version ID model: Existing model to add partitions to Returns: Loaded xplainable regressor Raises: ValueError: If model is not a regression model XplainableAPIError: If loading fails Category: read """ try: client = get_client() result = client.misc.load_regressor(model_id, version_id, model) logger.info(f"Executed misc.load_regressor") # Handle different return types if hasattr(result, 'model_dump'): return result.model_dump() elif isinstance(result, list) and result and hasattr(result[0], 'model_dump'): return [item.model_dump() for item in result] else: return result except Exception as e: logger.error(f"Error in misc_load_regressor: {e}") raise

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/xplainable/xplainable-mcp-server'

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