We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/feibai406/k8s-multicluster-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
namespaces.py•1.15 KiB
from typing import List, Dict, Any
import os
from kubernetes import client
from ..utils.k8s_client import KubernetesClient
# Initialize client with kubeconfig directory from environment or default
kubeconfig_dir = os.environ.get('KUBECONFIG_DIR', os.path.expanduser('~/.kube'))
k8s_client = KubernetesClient(kubeconfig_dir)
async def list_k8s_namespaces(context: str) -> List[str]:
"""
List all namespaces in a specified Kubernetes context.
Args:
context (str): Name of the Kubernetes context to use
Returns:
List[str]: A list of namespace names
Raises:
RuntimeError: If there's an error accessing the Kubernetes API
"""
try:
# KubernetesClient.get_api_client now handles partial context matching
api_client = k8s_client.get_api_client(context)
core_v1 = client.CoreV1Api(api_client)
namespaces = core_v1.list_namespace()
return [ns.metadata.name for ns in namespaces.items]
except ValueError as e:
raise RuntimeError(str(e))
except Exception as e:
raise RuntimeError(f"Failed to list namespaces in context '{context}': {str(e)}")