CCM
/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

Claude Code Marketplaces

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
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
apatilgtn avatar

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 →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

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')
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

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 →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

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 →
appsai-inc avatar
Mcp Server

appsai-inc/mcp-server

Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB.
1
astein91 avatar
StackSherpa

astein91/stacksherpa-remote

Compare API providers based on real-time pricing, performance benchmarks, and known issues. Evaluate detailed project profiles and past decision data to make informed architectural choices. Identify the most cost-effective and reliable solutions across various service categories for your infrastructure needs.
1
benseverndev-oss avatar
GoldenFlow

benseverndev-oss/goldenflow

Standardize, reshape, and normalize messy data — CSV, Excel, Parquet, S3, databases.
1
clm-cloud-solutions avatar
Uptimebolt Mcp Server

clm-cloud-solutions/uptimebolt-mcp-server

AI-powered infrastructure monitoring — health, incidents, predictions, RCA, deploy safety
1
hemmabo-se avatar
Hemmabo Mcp Server

hemmabo-se/hemmabo-mcp-server

Vacation rental booking infrastructure for independent hosts. 0% commission. MCP + Stripe ACP.
1
addozhang avatar
Nexus

io.github.addozhang/nexus

Query Sonatype Nexus Repository (OSS/Pro) for Maven, Python, and Docker artifacts
1