apiVersion: v1 kind: ServiceAccount metadata: name: kubernetes-mcp namespace: toolhive-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: mcp-kubernetes-readonly namespace: toolhive-system rules: - apiGroups: [""] resources: - pods - pods/log - pods/status - services - endpoints - events - namespaces - nodes - configmaps - persistentvolumeclaims - replicationcontrollers verbs: ["get", "list", "watch"] - apiGroups: ["apps"] resources: ["deployments", "replicasets", "statefulsets", "daemonsets"] verbs: ["get", "list", "watch"] - apiGroups: ["batch"] resources: ["jobs", "cronjobs"] verbs: ["get", "list", "watch"] - apiGroups: ["networking.k8s.io"] resources: ["ingresses", "networkpolicies"] verbs: ["get", "list", "watch"] - apiGroups: ["argoproj.io"] resources: ["applications", "applicationsets", "appprojects"] verbs: ["get", "list", "watch"] - apiGroups: ["metrics.k8s.io"] resources: ["pods", "nodes"] verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: mcp-kubernetes-readonly namespace: toolhive-system roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: mcp-kubernetes-readonly subjects: - kind: ServiceAccount name: kubernetes-mcp # namespace is set by the overlay's kustomize namespace transformer. namespace: toolhive-system