Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.apatilgtn/k8scortex-mcp

NPM · K8SCORTEX-MCP · 2 COMPONENTS

Kubernetes MCP server: 75 tools for GKE, AKS, EKS, RBAC, audit logging, GitOps, multi-cluster.

0 this week 81 Trust /100

Last scanned (20 hours ago)

Scores higher than 69% of npm servers

Category Cloud Infrastructure

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 62 of 211 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability69
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 5719 tokens (~76/item across 75 items; 75 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "restart_pod" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 75 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 31 Oct 26 0
    • Stability: 0.97 → pass security
    • Package version: 1.0.2 → 1.1.3 functional
  • 30 Oct 26 0
    • Stability: pass → 0.97 functional
  • 28 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 27 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Package version: 1.0.2 → 1.1.3 functional
  • 24 Oct 26 0
    • Stability: 0.97 → pass security
  • 23 Oct 26 0
    • Stability: pass → 0.97 functional
  • 17 Oct 26 0
    • Stability: 0.97 → pass security
  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed npm/k8scortex-mcp@1.1.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 211 packages
Packages resolved 211
Deprecated 1
Stale 61
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 75 exposed · ~5,719 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
compare_clusters ~94

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

NameTypeReqDescription
appNamestringyesThe name of the application/kustomization
clusterAstringyesFirst cluster to compare
clusterBstringyesSecond cluster to compare
enginestringyesGitOps engine ('argocd' or 'flux')
namespacestringyesThe namespace of the application/kustomization

No output schema declared.

No examples provided.

cordon_node ~63

Marks a node as unschedulable.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action
nodeNamestringyesName of the node to cordon

No output schema declared.

No examples provided.

create_configmap ~120

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

NameTypeReqDescription
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 changes
namespacestringyesThe Kubernetes namespace
yamlManifeststring–Full YAML manifest for advanced ConfigMap creation

No output schema declared.

No examples provided.

create_deployment ~145

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
deploymentNamestring–The name of the deployment to create
dryRunboolean–If true, simulates the action without making changes
imagestring–Container image to run (if using basic config)
namespacestringyesThe Kubernetes namespace
portnumber–Container port to expose (if using basic config)
replicasnumber–Number of replicas (if using basic config)
yamlManifeststring–Full YAML manifest for advanced deployment creation

No output schema declared.

No examples provided.

create_horizontal_pod_autoscaler ~165

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action without making changes
hpaNamestring–The name of the HPA to create
maxReplicasnumber–Maximum number of replicas
minReplicasnumber–Minimum number of replicas
namespacestringyesThe Kubernetes namespace
targetCPUUtilizationPercentagenumber–Target CPU utilization percentage
targetDeploymentstring–The name of the target Deployment to scale
yamlManifeststring–Full YAML manifest for advanced HPA creation

No output schema declared.

No examples provided.

create_job ~128

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
commandarray–Command to run (if using basic config)
dryRunboolean–If true, simulates the action without making changes
imagestring–Container image to run (if using basic config)
jobNamestring–The name of the job to create
namespacestringyesThe Kubernetes namespace
yamlManifeststring–Full YAML manifest for advanced job creation

No output schema declared.

No examples provided.

create_namespace ~62

Creates a new Kubernetes Namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action without making changes
namespaceNamestringyesThe name of the namespace to create

No output schema declared.

No examples provided.

create_network_policy ~133

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action without making changes
namespacestringyesThe 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

No output schema declared.

No examples provided.

create_secret ~129

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action without making changes
namespacestringyesThe 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

No output schema declared.

No examples provided.

create_service ~162

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action without making changes
namespacestringyesThe 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)
yamlManifeststring–Full YAML manifest for advanced Service creation

No output schema declared.

No examples provided.

delete_deployment ~72

Deletes an existing Deployment.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
deploymentNamestringyesThe name of the deployment to delete
dryRunboolean–If true, simulates the action without making changes
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

delete_namespace ~62

Deletes an existing Kubernetes Namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action without making changes
namespaceNamestringyesThe name of the namespace to delete

No output schema declared.

No examples provided.

describe_daemonset ~59

Shows details of a DaemonSet.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
daemonSetNamestringyesThe name of the DaemonSet
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

describe_deployment ~53

Shows details of a deployment.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
deploymentNamestringyesThe name of the deployment
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

describe_namespace_quota ~42

Reads resource quotas for a namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

describe_pod ~64

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace
podNamestringyesThe name of the pod

No output schema declared.

No examples provided.

describe_statefulset ~58

Shows details of a StatefulSet.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace
statefulSetNamestringyesThe name of the StatefulSet

No output schema declared.

No examples provided.

drain_node ~78

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
dryRunboolean–If true, simulates the action
forceboolean–Force deletion of pods
nodeNamestringyesName of the node to drain

No output schema declared.

No examples provided.

get_addon_health ~46

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')

No output schema declared.

No examples provided.

get_cluster_info ~54

Returns Kubernetes version, platform (EKS/GKE/AKS/OpenShift), node count and node details for a given cluster.

NameTypeReqDescription
clusterstringyesThe registered cluster name (e.g. prod-aks-au)

No output schema declared.

No examples provided.

get_cluster_resource_utilisation ~37

Returns CPU and Memory usage vs capacity across all nodes.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')

No output schema declared.

No examples provided.

get_configmap ~56

Reads data from a ConfigMap.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
configMapNamestringyesThe name of the ConfigMap
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

get_effective_permissions ~70

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace of the ServiceAccount
serviceAccountNamestringyesThe ServiceAccount name to inspect

No output schema declared.

No examples provided.

get_flux_helm_release ~68

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namestringyesName of the HelmRelease
namespacestringyesNamespace of the HelmRelease

No output schema declared.

No examples provided.

get_gitops_app_status ~93

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

NameTypeReqDescription
appNamestringyesThe name of the application/kustomization
clusterstring–Target cluster name (default: 'default')
enginestringyesGitOps engine ('argocd' or 'flux')
namespacestringyesThe namespace of the application/kustomization

No output schema declared.

No examples provided.

get_gitops_diff ~97

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

NameTypeReqDescription
appNamestringyesThe name of the application/kustomization
clusterstring–Target cluster name (default: 'default')
enginestringyesGitOps engine ('argocd' or 'flux')
namespacestringyesThe namespace of the application/kustomization

No output schema declared.

No examples provided.

get_hpa_status ~59

Retrieves Horizontal Pod Autoscaler metrics and status.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
hpaNamestringyesThe name of the HPA
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

get_k8s_resource ~140

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

NameTypeReqDescription
apiGroupstring–API group (e.g. 'apps', 'rbac.authorization.k8s.io'). Use '' or 'core' for core/v1 resources.
clusterstring–Target cluster name (default: 'default')
namestringyesResource name
namespacestring–Namespace for namespaced resources
namespacedboolean–Whether the target resource is namespaced
resourcestringyesPlural resource name
versionstringyesAPI version (e.g. 'v1')

No output schema declared.

No examples provided.

get_node_pool_detail ~55

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
poolNamestringyesNode pool name

No output schema declared.

No examples provided.

get_node_pressure ~48

Analyzes node resource pressure for a specific node.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
nodeNamestringyesThe name of the node

No output schema declared.

No examples provided.

get_pdb_status ~57

Returns detailed status and covered pods for a PodDisruptionBudget.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesNamespace
pdbNamestringyesPDB name

No output schema declared.

No examples provided.

get_pod_logs ~91

Retrieves logs for a specific pod.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
containerNamestring–Optional: specific container name for multi-container pods
namespacestringyesThe Kubernetes namespace
podNamestringyesThe name of the pod
tailLinesnumber–Number of lines to tail from the end of the logs

No output schema declared.

No examples provided.

get_resource_recommendations ~63

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
deploymentNamestringyesThe name of the Deployment
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

get_service_endpoints ~52

Shows endpoint addresses backing a Service.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace
serviceNamestringyesService name

No output schema declared.

No examples provided.

get_storage_class ~44

Returns details for a specific StorageClass.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
storageClassNamestringyesStorageClass name

No output schema declared.

No examples provided.

get_vpa_recommendation ~64

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesNamespace
vpaNamestringyesVPA object name

No output schema declared.

No examples provided.

get_workload_identity_config ~66

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesServiceAccount namespace
serviceAccountNamestringyesServiceAccount name

No output schema declared.

No examples provided.

list_clusters ~109

Lists all registered Kubernetes clusters known to K8sCortex (kubeconfig contexts, cluster registry file, or Azure Key Vault), with provider, cloud, region and labels.

NameTypeReqDescription
cloudstring–Only clusters on this cloud (e.g. eks, gke, aks, openshift, local)
labelSelectorstring–Only clusters whose registry labels match, e.g. 'env=prod,team=payments'
regionstring–Only clusters in this region

No output schema declared.

No examples provided.

list_cronjobs ~43

Lists CronJobs in a specific namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

list_daemonsets ~44

Lists DaemonSets in a specific namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

list_events ~41

Lists recent cluster events for a namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

list_flux_alerts ~54

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestring–Namespace to list Alerts in (omit for all namespaces)

No output schema declared.

No examples provided.

list_flux_helm_releases ~67

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestring–Namespace to list HelmReleases in (omit for all namespaces)

No output schema declared.

No examples provided.

list_flux_kustomizations ~63

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestring–Namespace to list Kustomizations in (omit for all namespaces)

No output schema declared.

No examples provided.

list_flux_sources ~101

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

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

No output schema declared.

No examples provided.

list_ingresses ~42

Lists Ingress resources in a namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

list_jobs ~40

Lists Jobs in a specific namespace.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesThe Kubernetes namespace

No output schema declared.

No examples provided.

list_k8s_resources ~159

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

NameTypeReqDescription
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 namespaced
resourcestringyesPlural resource name (e.g. 'statefulsets', 'daemonsets', 'persistentvolumeclaims', 'roles')
versionstringyesAPI version (e.g. 'v1')

No output schema declared.

No examples provided.

list_limit_ranges ~44

Lists LimitRange objects in a namespace and default resource constraints.

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')
namespacestringyesNamespace

No output schema declared.

No examples provided.

list_node_pools ~46

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

NameTypeReqDescription
clusterstring–Target cluster name (default: 'default')

No output schema declared.

No examples provided.

Install

How do I install the io.github.apatilgtn/k8scortex-mcp server?

io.github.apatilgtn/k8scortex-mcp runs locally as an npm package, launched with npx -y k8scortex-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · k8scortex-mcp

# add to Claude Code
claude mcp add apatilgtn-k8scortex-mcp -- npx -y k8scortex-mcp
Common questions

What is the io.github.apatilgtn/k8scortex-mcp server?

io.github.apatilgtn/k8scortex-mcp is listed in the public MCP registry as io.github.apatilgtn/k8scortex-mcp. Kubernetes MCP server: 75 tools for GKE, AKS, EKS, RBAC, audit logging, GitOps, multi-cluster. This page covers its npm package (k8scortex-mcp).

Is the io.github.apatilgtn/k8scortex-mcp server safe to use?

io.github.apatilgtn/k8scortex-mcp scores 81 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.apatilgtn/k8scortex-mcp server expose?

io.github.apatilgtn/k8scortex-mcp exposes 75 tools: list_pods, get_pod_logs, describe_pod, describe_deployment, list_nodes, and 70 more. Their descriptions and schemas cost roughly 5,719 tokens of context every time the server is loaded.

Is the io.github.apatilgtn/k8scortex-mcp server still maintained?

io.github.apatilgtn/k8scortex-mcp is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.apatilgtn/k8scortex-mcp server under?

io.github.apatilgtn/k8scortex-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.