CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

K8scortex Mcp

apatilgtn/k8scortex-mcp
175 toolsSTDIOregistry active
Summary

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.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

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

75 tools
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')
podNamestring
The name of the pod
namespacestring
The Kubernetes namespace
tailLinesnumber
Number of lines to tail from the end of the logs
containerNamestring
Optional: specific container name for multi-container pods
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')
podNamestring
The name of the pod
namespacestring
The Kubernetes namespace
describe_deploymentShows details of a deployment.3 params

Shows details of a deployment.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
deploymentNamestring
The name of the deployment
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')
namespacestring
The Kubernetes namespace
daemonSetNamestring
The name of the DaemonSet
scale_deploymentScales replicas for a deployment.5 params

Scales replicas for a deployment.

Parameters* required
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
replicasnumber
The new replica count
namespacestring
The Kubernetes namespace
deploymentNamestring
The name of the deployment
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')
namespacestring
The Kubernetes namespace
deploymentNamestring
The name of the deployment
rollout_undoRolls a deployment back to the previous ReplicaSet template.4 params

Rolls a deployment back to the previous ReplicaSet template.

Parameters* required
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
deploymentNamestring
The name of the deployment
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
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
podNamestring
The name of the pod to restart
namespacestring
The Kubernetes namespace
get_configmapReads data from a ConfigMap.3 params

Reads data from a ConfigMap.

Parameters* required
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
configMapNamestring
The name of the ConfigMap
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
imagestring
Container image to run (if using basic config)
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
commandarray
Command 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
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
cronJobNamestring
The name of the CronJob to suspend
resume_cronjobResumes a suspended CronJob.4 params

Resumes a suspended CronJob.

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

Updates an existing ConfigMap by patching its data.

Parameters* required
dataobject
Key-value string pairs to merge into the ConfigMap
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
configMapNamestring
The name of the ConfigMap to update
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
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
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
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
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
portnumber
Container port to expose (if using basic config)
imagestring
Container image to run (if using basic config)
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
replicasnumber
Number of replicas (if using basic config)default: 1
namespacestring
The Kubernetes namespace
yamlManifeststring
Full YAML manifest for advanced deployment creation
deploymentNamestring
The name of the deployment to create
delete_deploymentDeletes an existing Deployment.4 params

Deletes an existing Deployment.

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

Creates a new Kubernetes Namespace.

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

Deletes an existing Kubernetes Namespace.

Parameters* required
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
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
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
hpaNamestring
The name of the HPA to create
namespacestring
The Kubernetes namespace
maxReplicasnumber
Maximum number of replicas
minReplicasnumber
Minimum number of replicas
yamlManifeststring
Full YAML manifest for advanced HPA creation
targetDeploymentstring
The name of the target Deployment to scale
targetCPUUtilizationPercentagenumber
Target CPU utilization percentagedefault: 80
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
portnumber
Port the service exposes
typestring
Service type (ClusterIP, NodePort, LoadBalancer)default: ClusterIP
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
selectorobject
Label selector for the pods (e.g. { app: 'my-app' })
namespacestring
The Kubernetes namespace
targetPortnumber
Target port on the pod
serviceNamestring
The name of the Service to create
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
rulesarray
Rules to append or replace (advanced usage)
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
annotationsobject
Annotations to merge
ingressNamestring
The name of the Ingress to update
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
dryRunboolean
If true, simulates the action without making changesdefault: true
clusterstring
Target cluster name (default: 'default')
namespacestring
The Kubernetes namespace
policyNamestring
The name of the NetworkPolicy
podSelectorobject
Label selector for the pods this policy applies to
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
dryRunboolean
If true, simulates the actiondefault: true
clusterstring
Target cluster name (default: 'default')
cpuLimitstring
CPU limit (e.g. '500m' or '1')
namespacestring
The Kubernetes namespace
cpuRequeststring
CPU request (e.g. '100m' or '0.1')
memoryLimitstring
Memory limit (e.g. '512Mi')
containerNamestring
The name of the container
memoryRequeststring
Memory request (e.g. '256Mi')
deploymentNamestring
The name of the Deployment
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')
namespacestring
The Kubernetes namespace
deploymentNamestring
The name of the Deployment
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
dryRunboolean
If true, simulates the actiondefault: true
clusterstring
Target cluster name (default: 'default')
nodeNamestring
Name of the node to cordon
uncordon_nodeMarks a node as schedulable.3 params

Marks a node as schedulable.

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

Adds a taint to a node.

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

Removes a specific taint from a node by key.

Parameters* required
keystring
Taint key to remove
dryRunboolean
If true, simulates the actiondefault: true
clusterstring
Target cluster name (default: 'default')
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
enginestring
GitOps engine ('argocd' or 'flux')
appNamestring
The name of the application/kustomization
clusterstring
Target cluster name (default: 'default')
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
enginestring
GitOps engine ('argocd' or 'flux')
appNamestring
The name of the application/kustomization
clusterstring
Target cluster name (default: 'default')
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
dryRunboolean
If true, simulates the actiondefault: true
enginestring
GitOps engine ('argocd' or 'flux')
appNamestring
The name of the application/kustomization/helmrelease
clusterstring
Target cluster name (default: 'default')
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
enginestring
GitOps engine ('argocd' or 'flux')
appNamestring
The name of the application/kustomization
clusterAstring
First cluster to compare
clusterBstring
Second cluster to compare
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
namestring
Name of the HelmRelease
clusterstring
Target cluster name (default: 'default')
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
namestring
Name of the resource
dryRunboolean
If true, simulates the actiondefault: true
clusterstring
Target cluster name (default: 'default')
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
namestring
Name of the resource
dryRunboolean
If true, simulates the actiondefault: true
clusterstring
Target cluster name (default: 'default')
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
clusterstring
Target cluster name (default: 'default')
versionstring
API version (e.g. 'v1')
apiGroupstring
API group (e.g. 'apps', 'rbac.authorization.k8s.io'). Use '' or 'core' for core/v1 resources.
resourcestring
Plural resource name (e.g. 'statefulsets', 'daemonsets', 'persistentvolumeclaims', 'roles')
namespacestring
Namespace for namespaced resources
namespacedboolean
Whether the target resource is namespaceddefault: true
labelSelectorstring
Optional label selector
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
namestring
Resource name
clusterstring
Target cluster name (default: 'default')
versionstring
API version (e.g. 'v1')
apiGroupstring
API group (e.g. 'apps', 'rbac.authorization.k8s.io'). Use '' or 'core' for core/v1 resources.
resourcestring
Plural resource name
namespacestring
Namespace for namespaced resources
namespacedboolean
Whether the target resource is namespaceddefault: true
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')
pdbNamestring
PDB name
namespacestring
Namespace
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')
vpaNamestring
VPA object name
namespacestring
Namespace
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

K8sCortex — Kubernetes MCP Server

smithery badge npm version License: MIT

A production-grade Model Context Protocol (MCP) server that gives developers, AI agents, and automation pipelines a single, secure, natural-language interface to Kubernetes — across any cloud, any cluster, any team.


Features

  • Curated multi-domain toolset across workload, deployment, configuration, observability, jobs, networking, GitOps, cluster admin, and generic read paths
  • Multi-cluster routing — target any registered cluster with a single cluster parameter
  • Entra ID OIDC authentication with per-tool RBAC (5-tier role hierarchy)
  • Structured audit logging — every tool call recorded with caller identity, arguments, and outcome
  • Dual transport — SSE/HTTP for programmatic clients + stdio for Claude Desktop
  • Azure Key Vault integration for dynamic credential management with 5-minute TTL cache
  • Dry-run safety — destructive tools default to simulation mode
  • Generic read coverage — list/get support for resources outside curated write paths to avoid troubleshooting dead-ends

Install via npx (Fastest)

npx k8scortex-mcp

Or install globally:

npm install -g k8scortex-mcp

Quick Start

Prerequisites

  • Node.js ≥ 18
  • A Kubernetes cluster (minikube, Rancher Desktop, or AKS)
  • kubectl configured with a valid context

Install & Run

# Clone
git clone https://github.com/apatilgtn/k8scortex-mcp.git
cd k8scortex-mcp

# Install
npm install

# Build
npm run build

# Run (local dev mode — auth bypassed)
DISABLE_AUTH=true PORT=3001 npm run dev

Connect with MCP Inspector

npx @modelcontextprotocol/inspector sse http://localhost:3001/mcp

Connect with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "k8scortex": {
      "command": "node",
      "args": ["<path-to>/k8scortex-mcp/dist/stdio.js"],
      "env": {
        "DISABLE_AUTH": "true",
        "KUBECONFIG": "~/.kube/config"
      }
    }
  }
}

Restart Claude Desktop. Ask: "List all pods in the default namespace".


Tools

K8sCortex intentionally keeps writes curated and governed, while allowing flexible read access for diagnostics.

DomainToolDescription
Workloadlist_podsList pods with status and IP
Workloadget_pod_logsFetch container logs
Workloaddescribe_deploymentFull deployment spec
Workloadlist_statefulsetsList StatefulSets with rollout status
Workloaddescribe_statefulsetDetailed StatefulSet spec/status
Workloadlist_daemonsetsList DaemonSets with scheduling status
Workloaddescribe_daemonsetDetailed DaemonSet spec/status
Workloadlist_nodesCluster nodes with Ready status
Deployscale_deploymentScale replicas (dry-run default)
Deployrestart_podDelete pod to trigger restart
Configget_configmapRead ConfigMap data
Configdescribe_namespace_quotaResource quota usage
Configlist_eventsRecent namespace events
Configlist_persistent_volume_claimsPVC status, bound volume, storage class, capacity
Configget_effective_permissionsServiceAccount SubjectAccessReview matrix
Generic Readlist_k8s_resourcesGeneric list for arbitrary resource kinds
Generic Readget_k8s_resourceGeneric get for arbitrary resource kinds
Observeget_hpa_statusHPA metrics and scaling
Observelist_warning_eventsWarning events for triage
Observeget_node_pressureNode memory/disk/PID pressure
Multilist_clustersAll registered clusters
Multiget_cluster_infoNode count, versions, architecture

For the evolving full catalog, see docs/developer-guide.md.


Managed Risk

The largest functional risk in Kubernetes MCP is dead-end visibility on non-curated resources (for example StatefulSets, DaemonSets, PVCs, or CRDs). KubeNexus addresses this by combining:

  • Governed writes: high-impact operations remain explicit, role-gated, and often dry-run by default.
  • Flexible reads: generic read tools cover arbitrary resource kinds for diagnostics.

This keeps the governance posture strong while preserving practical troubleshooting coverage.


Scope Boundaries (v1)

K8sCortex is designed as a governed platform interface, not an unrestricted Kubernetes super-client.

  • Generic write for any resource: intentionally out of scope in v1. Writes are curated and role-gated by design.
  • Pod exec interactive sessions: intentionally out of scope in v1. This requires stronger session controls and command-level auditing that are planned for a later version.

Architecture

Claude / Prism Agent / CI-CD
        │
        ▼
┌──────────────────────────────┐
│     K8sCortex MCP Server     │
│  OIDC → RBAC → Tool → Audit │
│         │                    │
│   Cluster Store (Key Vault)  │
└──────────┬───────────────────┘
           │
    ┌──────┼──────┐
    ▼      ▼      ▼
   AKS    EKS    GKE

Security

  • Authentication: Entra ID OIDC tokens validated on every request
  • Authorization: Role-based tool access (developer → platform-engineer)
  • Audit: JSON-structured log per invocation with user, tool, args, status
  • Network: ClusterIP only — no public endpoint
  • Credentials: Key Vault with 5-minute TTL cache, no kubeconfigs on disk

Project Structure

src/
├── index.ts              # Express SSE server
├── stdio.ts              # Stdio entry point (Claude Desktop)
├── auth.ts               # OIDC middleware
├── roles.ts              # RBAC role hierarchy
├── audit.ts              # Audit logger
├── context.ts            # AsyncLocalStorage user context
├── cluster-store.ts      # Dynamic K8s client factory
├── kubernetes.ts         # Client re-export
└── tools/
    ├── workload.ts       # list_pods, get_pod_logs, describe_deployment, list_nodes
    ├── deployment.ts     # scale_deployment, restart_pod
    ├── configuration.ts  # get_configmap, describe_namespace_quota, list_events
    ├── observability.ts  # get_hpa_status, list_warning_events, get_node_pressure
    └── multicluster.ts   # list_clusters, get_cluster_info

kubernetes/               # Production manifests
├── namespace.yaml
├── deployment.yaml
├── service.yaml
├── rbac.yaml
├── network-policy.yaml
├── hpa.yaml
├── secret-provider-class.yaml
└── alerts.yaml           # Prometheus alerting rules

docs/
├── developer-guide.md    # End-user documentation
├── operator-runbook.md   # Platform team operations
├── slos.md               # Service level objectives
└── adrs/                 # Architecture decision records
    ├── ADR-001-tool-taxonomy.md
    ├── ADR-002-idp-integration.md
    ├── ADR-003-role-model.md
    └── ADR-004-credential-management.md

Documentation

  • Developer Guide — How to connect, available tools, example queries
  • Operator Runbook — Deploy, upgrade, rotate credentials, incident response
  • SLOs — Availability, latency, and alerting targets

Document Files

  • Word documents are consolidated in docs/docx.
  • Current files:
    • K8sCortex_Cloud_Testing_Publishing_Plan.docx
    • K8sCortex_Project_Plan.docx
    • K8sCortex_Project_Plan_v3.docx
    • K8sCortex_Project_Plan_v4.docx

License

Internal — Platform Engineering

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

KUBECONFIG

Path to your kubeconfig file. Defaults to ~/.kube/config if not set.

DISABLE_AUTH

Set to 'true' to disable JWT authentication (recommended for local use).

Categories
Cloud & Infrastructure
Registryactive
Packagek8scortex-mcp
TransportSTDIO
UpdatedMay 8, 2026
View on GitHub

Related Cloud & Infrastructure MCP Servers

View all →
K8s

silenceper/mcp-k8s

Provides Kubernetes resource management and Helm operations via MCP for easy automation and LLM integration.
145
Containerization Assist

azure/containerization-assist

TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support
41
AWS Builder

io.github.evozim/aws-builder

AWS CloudFormation and Terraform infrastructure blueprint builder.
Kubernetes

strowk/mcp-k8s-go

MCP server connecting to Kubernetes
381
Kubernetes

reza-gholizade/k8s-mcp-server

Provides a standardized MCP interface to interact with Kubernetes clusters, enabling resource management, metrics, logs, and events.
156
MCP Server Kubernetes

flux159/mcp-server-kubernetes

Provides unified Kubernetes management via MCP, enabling kubectl-like operations, Helm interactions, and observability.
1.4k