Skip to main content
Glama

Sumanshu Arora

__init__.pyβ€’2.54 kB
""" Deployment backend interface for managing deployments across different platforms. """ from cachetools import TTLCache, cached from mcp_template.backends.base import BaseDeploymentBackend from mcp_template.backends.docker import DockerDeploymentService from mcp_template.backends.kubernetes import KubernetesDeploymentService from mcp_template.backends.mock import MockDeploymentService __all__ = [ "BaseDeploymentBackend", "DockerDeploymentService", "KubernetesDeploymentService", "MockDeploymentService", "get_backend", ] VALID_BACKENDS = ["docker", "kubernetes"] ALL_BACKENDS = VALID_BACKENDS + ["mock"] VALID_BACKENDS_DICT = { "docker": DockerDeploymentService, "kubernetes": KubernetesDeploymentService, } @cached(cache=TTLCache(maxsize=128, ttl=60 * 4)) def available_valid_backends(): """ Available valid backend """ backends = {} for backend_name, backend in VALID_BACKENDS_DICT.items(): if backend.is_available: backends[backend_name] = backend return backends def get_backend(backend_type: str = "docker", **kwargs) -> BaseDeploymentBackend: """ Get a deployment backend instance based on type. Args: backend_type: Type of backend ('docker', 'kubernetes', 'mock') **kwargs: Additional arguments for backend initialization Returns: Backend instance Raises: ValueError: If backend type is not supported """ if backend_type not in ALL_BACKENDS: raise ValueError( f"Unsupported backend type: {backend_type}. Valid options are: {', '.join(ALL_BACKENDS)}" ) def get_backend(backend_type: str = "docker", **kwargs) -> BaseDeploymentBackend: """ Get a deployment backend instance based on type. Args: backend_type: Type of backend ('docker', 'kubernetes', 'mock') **kwargs: Additional arguments for backend initialization Returns: Backend instance Raises: ValueError: If backend type is not supported """ if backend_type == "docker": return DockerDeploymentService() elif backend_type == "kubernetes": namespace = kwargs.get("namespace", "mcp-servers") kubeconfig_path = kwargs.get("kubeconfig_path") return KubernetesDeploymentService( namespace=namespace, kubeconfig_path=kubeconfig_path ) elif backend_type == "mock": return MockDeploymentService() else: raise ValueError(f"Unsupported backend type: {backend_type}")

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/Data-Everything/mcp-server-templates'

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