get_podsLABSCO SUMMARY
The cluster question you would have needed four CLIs to answer.
Beyond kubectl itself it reaches Helm, Flux, Argo, Istio, Velero, cert-manager, KEDA, Cilium and KubeVirt — so "why is this pod pending and did the last backup work" is one conversation instead of four terminal tabs.
What it is
A large Kubernetes control surface exposed over MCP. It uses your existing kubectl configuration, so cluster access is whatever your kubeconfig already grants.
What you get
- Core objects: pods, deployments, statefulsets, daemonsets, jobs and replicasets, with
get_logs,get_previous_logs,get_pod_events,check_pod_health,exec_in_podandcleanup_pods - Diagnostics as first-class tools rather than recipes —
diagnose_pod_crash,detect_pending_pods,get_evicted_pods,diagnose_network_connectivity,check_dns_resolution,trace_service_chainandcompare_namespaces - Security posture:
audit_rbac_permissions,check_secrets_security,get_pod_security_infoandget_admission_webhooks - Cost work:
get_resource_recommendations,get_idle_resources,get_cost_analysis,get_overprovisioned_resources,get_namespace_cost_allocationandoptimize_resource_requests - The full Helm surface — releases, charts, repos, install, upgrade, rollback, template and chart development
- Ecosystem coverage that usually needs its own CLI: GitOps with Flux and Argo, cert-manager, Kyverno and Gatekeeper policy, Velero backup and restore, KEDA, Cilium and Hubble, Argo Rollouts and Flagger, Cluster API, KubeVirt, Istio and Kiali, plus kind and vCluster
- MCP resources for reading state —
kubeconfig://contexts,cluster://info,cluster://nodes,namespace://listandmanifest://URIs per object type, with secret data masked - Interactive UI dashboards including
show_pods_dashboard_ui,show_events_timeline_uiandshow_cluster_overview_ui
Requirements
kubectl installed and configured, and access to a cluster. Either Python 3.9+ for the pip install or Node.js 14+ to run it straight through npx with no install step. A Docker image is published on both Docker Hub and the GitHub Container Registry; mount your kubeconfig read-only into the container and choose stdio or an HTTP transport. The interactive dashboards need the UI extra at install time.
Setup effort
One command — npx -y kubectl-mcp-server
USE CASES
Working out why a pod keeps restarting
Diagnose the crash directly, read the previous container's logs, and check the pod's conditions and events — the three things you would otherwise fetch by hand.
Chasing traffic that does not arrive
Trace the service chain, check DNS resolution inside the cluster, and diagnose connectivity, instead of shelling into a pod with curl.
Finding what you are paying for and not using
Idle resources, overprovisioned workloads and per-namespace cost allocation, with concrete request recommendations attached.
Auditing who can do what
Walk roles, cluster roles and service accounts, audit the permissions they add up to, and check how secrets are exposed.
Managing Helm releases from the same conversation
List and inspect releases, read their values and manifests, then install, upgrade or roll back without switching to the Helm CLI.
Checking that backups and certificates are healthy
Velero backups and restores and cert-manager certificates and issuers are reachable as tools, including a detect call so you find out whether the component is installed at all.
251 tools
Listed in project docs. Your client may show a different list.
get_logsget_pod_eventscheck_pod_healthexec_in_podcleanup_podsget_pod_conditionsget_previous_logsget_deploymentscreate_deploymentscale_deploymentkubectl_rolloutrestart_deploymentget_statefulsetsget_daemonsetsget_jobsget_replicasetsget_servicesget_ingressget_endpointsdiagnose_network_connectivitycheck_dns_resolutiontrace_service_chainget_persistent_volumesget_pvcsget_storage_classesget_configmapsget_secretsget_resource_quotasget_limit_rangesget_nodesget_namespacesget_cluster_infoget_cluster_versionhealth_checkget_node_metricsget_pod_metricsget_rbac_rolesget_cluster_rolesget_service_accountsaudit_rbac_permissionscheck_secrets_securityget_pod_security_infoget_admission_webhooksget_crdsget_priority_classeshelm_listhelm_statushelm_historyhelm_get_valueshelm_get_manifesthelm_get_noteshelm_get_hookshelm_get_allhelm_show_charthelm_show_valueshelm_show_readmehelm_show_crdshelm_show_allhelm_search_repohelm_search_hubhelm_repo_listhelm_repo_addhelm_repo_removehelm_repo_updateinstall_helm_chartupgrade_helm_chartuninstall_helm_charthelm_rollbackhelm_testhelm_templatehelm_template_applyhelm_createhelm_linthelm_packagehelm_pullhelm_dependency_listhelm_dependency_updatehelm_dependency_buildhelm_versionhelm_envget_current_contextswitch_contextlist_contextslist_kubeconfig_contextsdiagnose_pod_crashdetect_pending_podsget_evicted_podscompare_namespaceskubectl_applykubectl_createkubectl_describekubectl_patchdelete_resourcekubectl_cpbackup_resourcelabel_resourceannotate_resourcetaint_nodewait_for_conditionget_hpaget_pdbget_resource_recommendationsget_idle_resourcesget_resource_quotas_usageget_cost_analysisget_overprovisioned_resourcesget_resource_trendsget_namespace_cost_allocationoptimize_resource_requestskubectl_generickubectl_explainget_api_resourcesport_forwardget_resource_usagenode_managementshow_pod_logs_uishow_pods_dashboard_uishow_resource_yaml_uishow_cluster_overview_uishow_events_timeline_uirender_k8s_dashboard_screenshotgitops_apps_listgitops_app_getgitops_app_syncgitops_app_statusgitops_sources_listgitops_source_getgitops_detect_enginecerts_listcerts_getcerts_issuers_listcerts_issuer_getcerts_renewcerts_status_explaincerts_challenges_listcerts_requests_listcerts_detectpolicy_listpolicy_getpolicy_violations_listpolicy_explain_denialpolicy_auditpolicy_detectbackup_listbackup_getbackup_createbackup_deleterestore_listrestore_createrestore_getbackup_locations_listbackup_schedules_listbackup_schedule_createbackup_detectkeda_scaledobjects_listkeda_scaledobject_getkeda_scaledjobs_listkeda_triggerauths_listkeda_triggerauth_getkeda_hpa_listkeda_detectcilium_policies_listcilium_policy_getcilium_endpoints_listcilium_identities_listcilium_nodes_listcilium_statushubble_flows_querycilium_detectrollouts_listrollout_getrollout_statusrollout_promoterollout_abortrollout_retryrollout_restartanalysis_runs_listflagger_canaries_listflagger_canary_getrollouts_detectcapi_clusters_listcapi_cluster_getcapi_machines_listcapi_machine_getcapi_machinedeployments_listcapi_machinedeployment_scalecapi_machinesets_listcapi_machinehealthchecks_listcapi_clusterclasses_listcapi_cluster_kubeconfigcapi_detectkubevirt_vms_listkubevirt_vm_getkubevirt_vmis_listkubevirt_vm_startkubevirt_vm_stopkubevirt_vm_restartkubevirt_vm_pausekubevirt_vm_unpausekubevirt_vm_migratekubevirt_datasources_listkubevirt_instancetypes_listkubevirt_datavolumes_listkubevirt_detectistio_virtualservices_lististio_virtualservice_getistio_destinationrules_lististio_gateways_lististio_peerauthentications_lististio_authorizationpolicies_lististio_proxy_statusistio_analyzeistio_sidecar_statusistio_detectvind_detect_toolvind_list_clusters_toolvind_status_toolvind_get_kubeconfig_toolvind_logs_toolvind_create_cluster_toolvind_delete_cluster_toolvind_pause_toolvind_resume_toolvind_connect_toolvind_disconnect_toolvind_upgrade_toolvind_describe_toolvind_platform_start_toolkind_detect_toolkind_version_toolkind_list_clusters_toolkind_get_nodes_toolkind_get_kubeconfig_toolkind_export_logs_toolkind_cluster_info_toolkind_node_labels_toolkind_create_cluster_toolkind_delete_cluster_toolkind_delete_all_clusters_toolkind_load_image_toolkind_load_image_archive_toolkind_build_node_image_toolkind_set_kubeconfig_toolbrowser_openbrowser_screenshotbrowser_clickbrowser_fillbrowser_test_ingressbrowser_screenshot_grafanabrowser_health_checkBEFORE YOU INSTALL
What to know first
Tools you get
251 tools named in the project's documentation.
Requires
- npx on PATH
- Python 3.9+
- Node.js 14+
- kubectl installed and configured, with access to a Kubernetes cluster
INSTALLATION
Connect your client
Server setup
npx -y kubectl-mcp-serverMCP Clients
Claude Code, Cursor, Windsurf, Claude Desktop, Gemini CLI, Roo Code, Kilo Code
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": [
"-y",
"kubectl-mcp-server"
]
}
}
}VS Code
{
"servers": {
"kubernetes": {
"command": "npx",
"args": [
"-y",
"kubectl-mcp-server"
]
}
}
}Any MCP client — Python
pip install kubectl-mcp-server{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": [
"-m",
"kubectl_mcp_tool.mcp_server"
],
"env": {
"KUBECONFIG": "<YOUR_PATH_TO_KUBE>/config"
}
}
}
}This runs the Python package, so install it first (Python 3.9+).
Docker MCP Toolkit
docker mcp server add kubectl-mcp-server mcp/kubectl-mcp-server:latest
docker mcp server configure kubectl-mcp-server --volume "$HOME/.kube:/root/.kube:ro"
docker mcp server enable kubectl-mcp-server
docker mcp client connect claude