apatilgtn avatar

K8scortex Mcp

apatilgtn/k8scortex-mcp

A production-grade MCP server that wraps the Kubernetes API with 75+ tools spanning workloads, deployments, observability, RBAC, and GitOps operations across GKE, AKS, and EKS. It includes multi-cluster routing with a single cluster parameter, Entra ID OIDC authentication with five-tier role hierarchy, structured audit logging for every tool call, and Azure Key Vault integration for credential management. Supports both SSE/HTTP for programmatic clients and stdio for Claude Desktop. Ships with generic read tools for arbitrary resource kinds alongside curated, role-gated write operations that default to dry-run mode. Built for platform teams who need governed AI access to Kubernetes with proper authentication, authorization, and audit trails rather than unrestricted cluster access.

GitHub stars
1
tools
75
transport
STDIO
env vars
3
last updated
Oct 27, 2026

Tools

75 tools

Public tool metadata for what this MCP can expose to an agent.

list_podsLists pods in a specific namespace.2 params

Lists pods in a specific namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
get_pod_logsRetrieves logs for a specific pod.5 params

Retrieves logs for a specific pod.

Parameters* required
clusterstring
Target cluster name (default: 'default')
containerNamestring
Optional: specific container name for multi-container pods
namespacestring
The Kubernetes namespace
podNamestring
The name of the pod
tailLinesnumber
Number of lines to tail from the end of the logs
describe_podShows detailed pod status including container states, conditions, resource settings, and recent events.3 params

Shows detailed pod status including container states, conditions, resource settings, and recent events.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
podNamestring
The name of the pod
describe_deploymentShows details of a deployment.3 params

Shows details of a deployment.

Parameters* required
clusterstring
Target cluster name (default: 'default')
deploymentNamestring
The name of the deployment
namespacestring
The Kubernetes namespace
list_nodesLists cluster nodes.1 params

Lists cluster nodes.

Parameters* required
clusterstring
Target cluster name (default: 'default')
list_statefulsetsLists StatefulSets in a specific namespace.2 params

Lists StatefulSets in a specific namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
describe_statefulsetShows details of a StatefulSet.3 params

Shows details of a StatefulSet.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
statefulSetNamestring
The name of the StatefulSet
list_daemonsetsLists DaemonSets in a specific namespace.2 params

Lists DaemonSets in a specific namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
describe_daemonsetShows details of a DaemonSet.3 params

Shows details of a DaemonSet.

Parameters* required
clusterstring
Target cluster name (default: 'default')
daemonSetNamestring
The name of the DaemonSet
namespacestring
The Kubernetes namespace
scale_deploymentScales replicas for a deployment.5 params

Scales replicas for a deployment.

Parameters* required
clusterstring
Target cluster name (default: 'default')
deploymentNamestring
The name of the deployment
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
replicasnumber
The new replica count
rollout_statusChecks deployment rollout status (complete, in-progress, or stalled).3 params

Checks deployment rollout status (complete, in-progress, or stalled).

Parameters* required
clusterstring
Target cluster name (default: 'default')
deploymentNamestring
The name of the deployment
namespacestring
The Kubernetes namespace
rollout_undoRolls a deployment back to the previous ReplicaSet template.4 params

Rolls a deployment back to the previous ReplicaSet template.

Parameters* required
clusterstring
Target cluster name (default: 'default')
deploymentNamestring
The name of the deployment
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
restart_podDeletes a pod to force a restart. Usually managed by a deployment/replicaset.4 params

Deletes a pod to force a restart. Usually managed by a deployment/replicaset.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
podNamestring
The name of the pod to restart
get_configmapReads data from a ConfigMap.3 params

Reads data from a ConfigMap.

Parameters* required
clusterstring
Target cluster name (default: 'default')
configMapNamestring
The name of the ConfigMap
namespacestring
The Kubernetes namespace
describe_namespace_quotaReads resource quotas for a namespace.2 params

Reads resource quotas for a namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
list_eventsLists recent cluster events for a namespace.2 params

Lists recent cluster events for a namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
list_persistent_volume_claimsLists PersistentVolumeClaims in a specific namespace with binding and capacity details.2 params

Lists PersistentVolumeClaims in a specific namespace with binding and capacity details.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
get_effective_permissionsEvaluates effective Kubernetes API permissions for a ServiceAccount using SubjectAccessReview checks.3 params

Evaluates effective Kubernetes API permissions for a ServiceAccount using SubjectAccessReview checks.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace of the ServiceAccount
serviceAccountNamestring
The ServiceAccount name to inspect
get_hpa_statusRetrieves Horizontal Pod Autoscaler metrics and status.3 params

Retrieves Horizontal Pod Autoscaler metrics and status.

Parameters* required
clusterstring
Target cluster name (default: 'default')
hpaNamestring
The name of the HPA
namespacestring
The Kubernetes namespace
list_warning_eventsFilters cluster events for warnings in a namespace.2 params

Filters cluster events for warnings in a namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
get_node_pressureAnalyzes node resource pressure for a specific node.2 params

Analyzes node resource pressure for a specific node.

Parameters* required
clusterstring
Target cluster name (default: 'default')
nodeNamestring
The name of the node
list_clustersLists all registered Kubernetes clusters managed by KubeNexus.

Lists all registered Kubernetes clusters managed by KubeNexus.

No parameter schema in public metadata yet.

get_cluster_infoReturns API server URL, Kubernetes version, node count, and cloud metadata for a given cluster.1 params

Returns API server URL, Kubernetes version, node count, and cloud metadata for a given cluster.

Parameters* required
clusterstring
The registered cluster name (e.g. prod-aks-au)
list_jobsLists Jobs in a specific namespace.2 params

Lists Jobs in a specific namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
create_jobCreates a new Job. Use either basic configuration or provide a raw YAML manifest.7 params

Creates a new Job. Use either basic configuration or provide a raw YAML manifest.

Parameters* required
clusterstring
Target cluster name (default: 'default')
commandarray
Command to run (if using basic config)
dryRunboolean
If true, simulates the action without making changesdefault: true
imagestring
Container image to run (if using basic config)
jobNamestring
The name of the job to create
namespacestring
The Kubernetes namespace
yamlManifeststring
Full YAML manifest for advanced job creation
list_cronjobsLists CronJobs in a specific namespace.2 params

Lists CronJobs in a specific namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
suspend_cronjobSuspends an active CronJob.4 params

Suspends an active CronJob.

Parameters* required
clusterstring
Target cluster name (default: 'default')
cronJobNamestring
The name of the CronJob to suspend
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
resume_cronjobResumes a suspended CronJob.4 params

Resumes a suspended CronJob.

Parameters* required
clusterstring
Target cluster name (default: 'default')
cronJobNamestring
The name of the CronJob to resume
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
create_configmapCreates a new ConfigMap. Use either basic key-value data or provide a raw YAML manifest.6 params

Creates a new ConfigMap. Use either basic key-value data or provide a raw YAML manifest.

Parameters* required
clusterstring
Target cluster name (default: 'default')
configMapNamestring
The name of the ConfigMap to create
dataobject
Key-value string pairs for the ConfigMap data
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
yamlManifeststring
Full YAML manifest for advanced ConfigMap creation
update_configmapUpdates an existing ConfigMap by patching its data.5 params

Updates an existing ConfigMap by patching its data.

Parameters* required
clusterstring
Target cluster name (default: 'default')
configMapNamestring
The name of the ConfigMap to update
dataobject
Key-value string pairs to merge into the ConfigMap
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
create_secretCreates a new Opaque Secret. Use either basic stringData or provide a raw YAML manifest. stringData values will be base64-encoded automatically.6 params

Creates a new Opaque Secret. Use either basic stringData or provide a raw YAML manifest. stringData values will be base64-encoded automatically.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
secretNamestring
The name of the Secret to create
stringDataobject
Plain text key-value pairs. Will be encoded automatically.
yamlManifeststring
Full YAML manifest for advanced Secret creation
update_secretUpdates an existing Secret by patching its stringData. KNOWN LIMITATION: The Kubernetes API never returns stringData on read (it is write-only); the API server stores values as base64 in the data field. This means the client-side merge only contains the keys passed in args.str...5 params

Updates an existing Secret by patching its stringData. KNOWN LIMITATION: The Kubernetes API never returns stringData on read (it is write-only); the API server stores values as base64 in the data field. This means the client-side merge only contains the keys passed in args.str...

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
secretNamestring
The name of the Secret to update
stringDataobject
Plain text key-value pairs to merge into the Secret. Will be encoded automatically.
create_deploymentCreates a new Deployment. Use either basic configuration or provide a raw YAML manifest.8 params

Creates a new Deployment. Use either basic configuration or provide a raw YAML manifest.

Parameters* required
clusterstring
Target cluster name (default: 'default')
deploymentNamestring
The name of the deployment to create
dryRunboolean
If true, simulates the action without making changesdefault: true
imagestring
Container image to run (if using basic config)
namespacestring
The Kubernetes namespace
portnumber
Container port to expose (if using basic config)
replicasnumber
Number of replicas (if using basic config)default: 1
yamlManifeststring
Full YAML manifest for advanced deployment creation
delete_deploymentDeletes an existing Deployment.4 params

Deletes an existing Deployment.

Parameters* required
clusterstring
Target cluster name (default: 'default')
deploymentNamestring
The name of the deployment to delete
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
create_namespaceCreates a new Kubernetes Namespace.3 params

Creates a new Kubernetes Namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
namespaceNamestring
The name of the namespace to create
delete_namespaceDeletes an existing Kubernetes Namespace.3 params

Deletes an existing Kubernetes Namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
namespaceNamestring
The name of the namespace to delete
create_horizontal_pod_autoscalerCreates an HPA for a Deployment. Use either basic configuration or provide a raw YAML manifest.9 params

Creates an HPA for a Deployment. Use either basic configuration or provide a raw YAML manifest.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
hpaNamestring
The name of the HPA to create
maxReplicasnumber
Maximum number of replicas
minReplicasnumber
Minimum number of replicas
namespacestring
The Kubernetes namespace
targetCPUUtilizationPercentagenumber
Target CPU utilization percentagedefault: 80
targetDeploymentstring
The name of the target Deployment to scale
yamlManifeststring
Full YAML manifest for advanced HPA creation
create_serviceCreates a new Service. Use either basic configuration or provide a raw YAML manifest.9 params

Creates a new Service. Use either basic configuration or provide a raw YAML manifest.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
portnumber
Port the service exposes
selectorobject
Label selector for the pods (e.g. { app: 'my-app' })
serviceNamestring
The name of the Service to create
targetPortnumber
Target port on the pod
typestring
Service type (ClusterIP, NodePort, LoadBalancer)default: ClusterIP
yamlManifeststring
Full YAML manifest for advanced Service creation
list_ingressesLists Ingress resources in a namespace.2 params

Lists Ingress resources in a namespace.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
get_service_endpointsShows endpoint addresses backing a Service.3 params

Shows endpoint addresses backing a Service.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
serviceNamestring
Service name
update_ingressUpdates an existing Ingress. Merges new rules or annotations into the existing Ingress.6 params

Updates an existing Ingress. Merges new rules or annotations into the existing Ingress.

Parameters* required
annotationsobject
Annotations to merge
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
ingressNamestring
The name of the Ingress to update
namespacestring
The Kubernetes namespace
rulesarray
Rules to append or replace (advanced usage)
create_network_policyCreates a new NetworkPolicy. Use either basic configuration or provide a raw YAML manifest.7 params

Creates a new NetworkPolicy. Use either basic configuration or provide a raw YAML manifest.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the action without making changesdefault: true
namespacestring
The Kubernetes namespace
podSelectorobject
Label selector for the pods this policy applies to
policyNamestring
The name of the NetworkPolicy
policyTypesarray
List of policy types (Ingress, Egress)
yamlManifeststring
Full YAML manifest for advanced NetworkPolicy creation
set_resource_limitsSets CPU and Memory requests and limits for a specific container in a Deployment.9 params

Sets CPU and Memory requests and limits for a specific container in a Deployment.

Parameters* required
clusterstring
Target cluster name (default: 'default')
containerNamestring
The name of the container
cpuLimitstring
CPU limit (e.g. '500m' or '1')
cpuRequeststring
CPU request (e.g. '100m' or '0.1')
deploymentNamestring
The name of the Deployment
dryRunboolean
If true, simulates the actiondefault: true
memoryLimitstring
Memory limit (e.g. '512Mi')
memoryRequeststring
Memory request (e.g. '256Mi')
namespacestring
The Kubernetes namespace
get_resource_recommendationsSuggests optimal resource requests/limits based on current metrics heuristically.3 params

Suggests optimal resource requests/limits based on current metrics heuristically.

Parameters* required
clusterstring
Target cluster name (default: 'default')
deploymentNamestring
The name of the Deployment
namespacestring
The Kubernetes namespace
get_cluster_resource_utilisationReturns CPU and Memory usage vs capacity across all nodes.1 params

Returns CPU and Memory usage vs capacity across all nodes.

Parameters* required
clusterstring
Target cluster name (default: 'default')
cordon_nodeMarks a node as unschedulable.3 params

Marks a node as unschedulable.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
nodeNamestring
Name of the node to cordon
uncordon_nodeMarks a node as schedulable.3 params

Marks a node as schedulable.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
nodeNamestring
Name of the node to uncordon
drain_nodeCordons the node and evicts/deletes non-daemonset pods.4 params

Cordons the node and evicts/deletes non-daemonset pods.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
forceboolean
Force deletion of podsdefault: false
nodeNamestring
Name of the node to drain
taint_nodeAdds a taint to a node.6 params

Adds a taint to a node.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
effectstring
Taint effect (NoSchedule, PreferNoSchedule, NoExecute)
keystring
Taint key
nodeNamestring
Name of the node
valuestring
Taint value
remove_taintRemoves a specific taint from a node by key.4 params

Removes a specific taint from a node by key.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
keystring
Taint key to remove
nodeNamestring
Name of the node
get_gitops_app_statusGets the health and sync status of an ArgoCD Application or Flux Kustomization.4 params

Gets the health and sync status of an ArgoCD Application or Flux Kustomization.

Parameters* required
appNamestring
The name of the application/kustomization
clusterstring
Target cluster name (default: 'default')
enginestring
GitOps engine ('argocd' or 'flux')
namespacestring
The namespace of the application/kustomization
get_gitops_diffGets out-of-sync resources (ArgoCD) or managed resource inventory with revision drift (Flux Kustomization).4 params

Gets out-of-sync resources (ArgoCD) or managed resource inventory with revision drift (Flux Kustomization).

Parameters* required
appNamestring
The name of the application/kustomization
clusterstring
Target cluster name (default: 'default')
enginestring
GitOps engine ('argocd' or 'flux')
namespacestring
The namespace of the application/kustomization
sync_gitops_appForces a sync/reconciliation of an ArgoCD Application, Flux Kustomization, or Flux HelmRelease.6 params

Forces a sync/reconciliation of an ArgoCD Application, Flux Kustomization, or Flux HelmRelease.

Parameters* required
appNamestring
The name of the application/kustomization/helmrelease
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
enginestring
GitOps engine ('argocd' or 'flux')
namespacestring
The namespace of the application/kustomization/helmrelease
resourceTypestring
Flux only: 'kustomization' (default) or 'helmrelease'
compare_clustersCompares the running version/state of an application across two clusters.5 params

Compares the running version/state of an application across two clusters.

Parameters* required
appNamestring
The name of the application/kustomization
clusterAstring
First cluster to compare
clusterBstring
Second cluster to compare
enginestring
GitOps engine ('argocd' or 'flux')
namespacestring
The namespace of the application/kustomization
list_flux_kustomizationsLists all Flux Kustomizations in a namespace with their ready/suspended/revision status.2 params

Lists all Flux Kustomizations in a namespace with their ready/suspended/revision status.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace to list Kustomizations in (omit for all namespaces)
list_flux_helm_releasesLists all Flux HelmReleases in a namespace with chart name, version, and ready/suspended status.2 params

Lists all Flux HelmReleases in a namespace with chart name, version, and ready/suspended status.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace to list HelmReleases in (omit for all namespaces)
get_flux_helm_releaseGets detailed status of a Flux HelmRelease including chart version, values, and condition history.3 params

Gets detailed status of a Flux HelmRelease including chart version, values, and condition history.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namestring
Name of the HelmRelease
namespacestring
Namespace of the HelmRelease
list_flux_sourcesLists Flux source objects (GitRepository, HelmRepository, OCIRepository, Bucket) with their URL, ref, and ready status.3 params

Lists Flux source objects (GitRepository, HelmRepository, OCIRepository, Bucket) with their URL, ref, and ready status.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace to list sources in (omit for all namespaces)
sourceTypestring
Source kind: 'gitrepository' | 'helmrepository' | 'ocirepository' | 'bucket' (omit for all)
suspend_flux_resourceSuspends reconciliation of a Flux Kustomization or HelmRelease to pause automated deployments.5 params

Suspends reconciliation of a Flux Kustomization or HelmRelease to pause automated deployments.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
namestring
Name of the resource
namespacestring
Namespace of the resource
resourceTypestring
'kustomization' or 'helmrelease'
resume_flux_resourceResumes reconciliation of a suspended Flux Kustomization or HelmRelease.5 params

Resumes reconciliation of a suspended Flux Kustomization or HelmRelease.

Parameters* required
clusterstring
Target cluster name (default: 'default')
dryRunboolean
If true, simulates the actiondefault: true
namestring
Name of the resource
namespacestring
Namespace of the resource
resourceTypestring
'kustomization' or 'helmrelease'
list_flux_alertsLists Flux Notification Alert objects showing which events trigger which providers.2 params

Lists Flux Notification Alert objects showing which events trigger which providers.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace to list Alerts in (omit for all namespaces)
list_k8s_resourcesGeneric read: list Kubernetes resources by group/version/resource.7 params

Generic read: list Kubernetes resources by group/version/resource.

Parameters* required
apiGroupstring
API group (e.g. 'apps', 'rbac.authorization.k8s.io'). Use '' or 'core' for core/v1 resources.
clusterstring
Target cluster name (default: 'default')
labelSelectorstring
Optional label selector
namespacestring
Namespace for namespaced resources
namespacedboolean
Whether the target resource is namespaceddefault: true
resourcestring
Plural resource name (e.g. 'statefulsets', 'daemonsets', 'persistentvolumeclaims', 'roles')
versionstring
API version (e.g. 'v1')
get_k8s_resourceGeneric read: get a single Kubernetes resource by group/version/resource/name.7 params

Generic read: get a single Kubernetes resource by group/version/resource/name.

Parameters* required
apiGroupstring
API group (e.g. 'apps', 'rbac.authorization.k8s.io'). Use '' or 'core' for core/v1 resources.
clusterstring
Target cluster name (default: 'default')
namestring
Resource name
namespacestring
Namespace for namespaced resources
namespacedboolean
Whether the target resource is namespaceddefault: true
resourcestring
Plural resource name
versionstring
API version (e.g. 'v1')
list_node_poolsGroups nodes by managed-cloud node pool labels (AKS/EKS/GKE) and reports pool health.1 params

Groups nodes by managed-cloud node pool labels (AKS/EKS/GKE) and reports pool health.

Parameters* required
clusterstring
Target cluster name (default: 'default')
get_node_pool_detailReturns detailed node, spot/preemptible, and optional metrics view for a specific node pool.2 params

Returns detailed node, spot/preemptible, and optional metrics view for a specific node pool.

Parameters* required
clusterstring
Target cluster name (default: 'default')
poolNamestring
Node pool name
get_workload_identity_configReturns workload identity annotation configuration for a ServiceAccount (AKS/EKS/GKE conventions).3 params

Returns workload identity annotation configuration for a ServiceAccount (AKS/EKS/GKE conventions).

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
ServiceAccount namespace
serviceAccountNamestring
ServiceAccount name
validate_workload_identityValidates identity chain from ServiceAccount annotation to pods using that ServiceAccount.3 params

Validates identity chain from ServiceAccount annotation to pods using that ServiceAccount.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
ServiceAccount namespace
serviceAccountNamestring
ServiceAccount name
list_pod_disruption_budgetsLists PodDisruptionBudgets in a namespace with budget satisfaction status.2 params

Lists PodDisruptionBudgets in a namespace with budget satisfaction status.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace
get_pdb_statusReturns detailed status and covered pods for a PodDisruptionBudget.3 params

Returns detailed status and covered pods for a PodDisruptionBudget.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace
pdbNamestring
PDB name
list_vpasLists VerticalPodAutoscaler objects in a namespace and their update mode/recommendation state.2 params

Lists VerticalPodAutoscaler objects in a namespace and their update mode/recommendation state.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace
get_vpa_recommendationReturns VPA recommendation lower/target/upper bounds for a workload when available.3 params

Returns VPA recommendation lower/target/upper bounds for a workload when available.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace
vpaNamestring
VPA object name
list_storage_classesLists StorageClasses and indicates default class.1 params

Lists StorageClasses and indicates default class.

Parameters* required
clusterstring
Target cluster name (default: 'default')
get_storage_classReturns details for a specific StorageClass.2 params

Returns details for a specific StorageClass.

Parameters* required
clusterstring
Target cluster name (default: 'default')
storageClassNamestring
StorageClass name
get_addon_healthChecks health of common kube-system addons (CoreDNS, metrics-server, kube-proxy, CNI).1 params

Checks health of common kube-system addons (CoreDNS, metrics-server, kube-proxy, CNI).

Parameters* required
clusterstring
Target cluster name (default: 'default')
list_limit_rangesLists LimitRange objects in a namespace and default resource constraints.2 params

Lists LimitRange objects in a namespace and default resource constraints.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
Namespace

Sponsors

Configuration

KUBECONFIG

Path to your kubeconfig file. Each context becomes a cluster. Defaults to ~/.kube/config.

CLUSTERS_CONFIG

Optional path to a cluster registry JSON file mixing kubeconfig, EKS, GKE and Key Vault clusters.

K8SCORTEX_STDIO_ROLES

Roles for the local session, e.g. 'developer' for read-only tools. Defaults to platform-engineer.

Readme

K8sCortex — Kubernetes MCP Server

CI npm version smithery badge License: MIT

Give your AI agents Kubernetes access your security team will sign off on. K8sCortex is one governed MCP gateway for GKE, EKS, AKS, OpenShift and local clusters: SSO on every request, role tiers, per-cluster policies, dry-run by default, and an audit log of who asked for what.

Most Kubernetes MCP servers hand an agent your kubeconfig. K8sCortex sits in between: it decides, per person and per cluster, which of its 75 tools may run, and records every call. Clusters from different clouds live in one registry, with credentials minted on demand.


View the full README on GitHub

Details

Repository
github.com/apatilgtn/k8scortex-mcp
Category
Cloud & Infrastructure
Package
k8scortex-mcp
Transport
STDIO
Registry
MCP registry, active

Related Cloud & Infrastructure MCP servers

View all
1deployment-io avatarDeployment.iodeployment-io/cursor-pluginDeploy apps on your cloud. Create environments, configure infrastructure, and monitor jobs.0stars
2giovanemartins avatarLocalstackgiovanemartins/localstack-mcp-serverMCP server for LocalStack AWS services, enabling AI agents to interact with local AWS infra.1stars
3stayce avatarIcd Mcpstayce/icd-mcp-cloudflareWHO ICD-10/ICD-11 diagnosis codes. Lookup, search, chapters via official WHO API.0stars
4annasmazhar avatarPySpark MCPannasmazhar/pyspark_mcpSQL migration, AWS Glue job generation, and PySpark optimization as an MCP server.0stars
5the-lambda-group avatarOmegaAIthe-lambda-group/query-omega-mcpQuery, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.0stars
6downatthebottomofthemolehole avatarInfracostdownatthebottomofthemolehole/infracost-mcpMCP server for Infracost CLI integration - cloud cost estimates for Infrastructure as Code0stars