The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Kubectl MCP Server listing page.
kubectl-mcp-server
Control your entire Kubernetes infrastructure through natural language conversations with AI.
Talk to your clusters like you talk to a DevOps expert. Debug crashed pods, optimize costs, deploy applications, audit security, manage Helm charts, and visualize dashboards, all through natural language.
Part of CNCF Landscape, Next to Terraform
Simply ask your AI assistant in natural language:
💬 "Why is my pod crashing?"
💬 "Deploy a Redis cluster with 3 replicas"
💬 "Show me which pods are wasting resources"
💬 "Which services can't reach the database?"
💬 "Audit security across all namespaces"
💬 "Show me the cluster dashboard"
253 powerful tools | 8 workflow prompts | 8 data resources | Works with all major AI assistants
From debugging crashed pods to optimizing cluster costs, kubectl-mcp-server is your AI-powered DevOps companion.



Before integrating with your AI assistant, verify the installation:
Choose your favorite AI assistant and add the configuration:
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Add to ~/.cursor/mcp.json:
Add to ~/.config/windsurf/mcp.json:
More integrations: GitHub Copilot, Goose, Gemini CLI, Roo Code, and 15+ other clients —> see full configuration guide below.
After adding the configuration, restart your AI assistant (GitHub Copilot, Claude Code,Claude Desktop, Cursor, etc.) to load the MCP server.
Start a conversation with your AI assistant and try these:
Troubleshooting:
Deployments:
Cost & Optimization:
Security:
Helm:
Multi-Cluster:
Works seamlessly with all MCP-compatible AI assistants:
| Client | Status | Client | Status |
|---|---|---|---|
| Claude Desktop | ✅ Native | Claude Code | ✅ Native |
| Cursor | ✅ Native | Windsurf | ✅ Native |
| GitHub Copilot | ✅ Native | OpenAI Codex | ✅ Native |
| Gemini CLI | ✅ Native | Goose | ✅ Native |
| Roo Code | ✅ Native | Kilo Code | ✅ Native |
| Amp | ✅ Native | Trae | ✅ Native |
| OpenCode | ✅ Native | Kiro CLI | ✅ Native |
| Antigravity | ✅ Native | Clawdbot | ✅ Native |
| Droid (Factory) | ✅ Native | Any MCP Client | ✅ Compatible |
Add to ~/.config/claude-code/mcp.json:
Add to VS Code settings.json:
Add to ~/.config/goose/config.yaml:
Add to ~/.gemini/settings.json:
Add to ~/.config/roo-code/mcp.json or ~/.config/kilo-code/mcp.json:
| Category | Tools |
|---|---|
| Pods | get_pods, get_logs, get_pod_events, check_pod_health, exec_in_pod, cleanup_pods, get_pod_conditions, get_previous_logs |
| Deployments | get_deployments, create_deployment, scale_deployment, kubectl_rollout, restart_deployment |
| Workloads | get_statefulsets, get_daemonsets, get_jobs, get_replicasets |
| Services & Networking | get_services, get_ingress, get_endpoints, diagnose_network_connectivity, check_dns_resolution, trace_service_chain |
| Storage | get_persistent_volumes, get_pvcs, get_storage_classes |
| Config | get_configmaps, get_secrets, get_resource_quotas, get_limit_ranges |
| Cluster | get_nodes, get_namespaces, get_cluster_info, get_cluster_version, health_check, get_node_metrics, get_pod_metrics |
| RBAC & Security | get_rbac_roles, get_cluster_roles, get_service_accounts, audit_rbac_permissions, check_secrets_security, get_pod_security_info, get_admission_webhooks |
| CRDs | get_crds, get_priority_classes |
| Helm Releases | helm_list, helm_status, helm_history, helm_get_values, helm_get_manifest, helm_get_notes, helm_get_hooks, helm_get_all |
| Helm Charts | helm_show_chart, helm_show_values, helm_show_readme, helm_show_crds, helm_show_all, helm_search_repo, helm_search_hub |
| Helm Repos | helm_repo_list, helm_repo_add, helm_repo_remove, helm_repo_update |
| Helm Operations | install_helm_chart, upgrade_helm_chart, uninstall_helm_chart, helm_rollback, helm_test, helm_template, helm_template_apply |
| Helm Development | helm_create, helm_lint, helm_package, helm_pull, helm_dependency_list, helm_dependency_update, helm_dependency_build, helm_version, helm_env |
| Context | get_current_context, switch_context, list_contexts, list_kubeconfig_contexts |
| Diagnostics | diagnose_pod_crash, detect_pending_pods, get_evicted_pods, compare_namespaces |
| Operations | kubectl_apply, kubectl_create, kubectl_describe, kubectl_patch, delete_resource, kubectl_cp, backup_resource, label_resource, annotate_resource, taint_node, wait_for_condition |
| Autoscaling | get_hpa, get_pdb |
| Cost Optimization | get_resource_recommendations, get_idle_resources, get_resource_quotas_usage, get_cost_analysis, get_overprovisioned_resources, get_resource_trends, get_namespace_cost_allocation, optimize_resource_requests |
| Advanced | kubectl_generic, kubectl_explain, get_api_resources, port_forward, get_resource_usage, node_management |
| UI Dashboards | show_pod_logs_ui, show_pods_dashboard_ui, show_resource_yaml_ui, show_cluster_overview_ui, show_events_timeline_ui, render_k8s_dashboard_screenshot |
| GitOps (Flux/Argo) | gitops_apps_list, gitops_app_get, gitops_app_sync, gitops_app_status, gitops_sources_list, gitops_source_get, gitops_detect_engine |
| Cert-Manager | certs_list, certs_get, certs_issuers_list, certs_issuer_get, certs_renew, certs_status_explain, certs_challenges_list, certs_requests_list, certs_detect |
| Policy (Kyverno/Gatekeeper) | policy_list, policy_get, policy_violations_list, policy_explain_denial, policy_audit, policy_detect |
| Backup (Velero) | backup_list, backup_get, backup_create, backup_delete, restore_list, restore_create, restore_get, backup_locations_list, backup_schedules_list, backup_schedule_create, backup_detect |
| KEDA Autoscaling | keda_scaledobjects_list, keda_scaledobject_get, keda_scaledjobs_list, keda_triggerauths_list, keda_triggerauth_get, keda_hpa_list, keda_detect |
| Cilium/Hubble | cilium_policies_list, cilium_policy_get, cilium_endpoints_list, cilium_identities_list, cilium_nodes_list, cilium_status, hubble_flows_query, cilium_detect |
| Argo Rollouts/Flagger | rollouts_list, rollout_get, rollout_status, rollout_promote, rollout_abort, rollout_retry, rollout_restart, analysis_runs_list, flagger_canaries_list, flagger_canary_get, rollouts_detect |
| Cluster API | capi_clusters_list, capi_cluster_get, capi_machines_list, capi_machine_get, capi_machinedeployments_list, capi_machinedeployment_scale, capi_machinesets_list, capi_machinehealthchecks_list, capi_clusterclasses_list, capi_cluster_kubeconfig, capi_detect |
| KubeVirt VMs | kubevirt_vms_list, kubevirt_vm_get, kubevirt_vmis_list, kubevirt_vm_start, kubevirt_vm_stop, kubevirt_vm_restart, kubevirt_vm_pause, kubevirt_vm_unpause, kubevirt_vm_migrate, kubevirt_datasources_list, kubevirt_instancetypes_list, kubevirt_datavolumes_list, kubevirt_detect |
| Istio/Kiali | istio_virtualservices_list, istio_virtualservice_get, istio_destinationrules_list, istio_gateways_list, istio_peerauthentications_list, istio_authorizationpolicies_list, istio_proxy_status, istio_analyze, istio_sidecar_status, istio_detect |
| vCluster (vind) | vind_detect_tool, vind_list_clusters_tool, vind_status_tool, vind_get_kubeconfig_tool, vind_logs_tool, vind_create_cluster_tool, vind_delete_cluster_tool, vind_pause_tool, vind_resume_tool, vind_connect_tool, vind_disconnect_tool, vind_upgrade_tool, vind_describe_tool, vind_platform_start_tool |
| kind (K8s in Docker) | kind_detect_tool, kind_version_tool, kind_list_clusters_tool, kind_get_nodes_tool, kind_get_kubeconfig_tool, kind_export_logs_tool, kind_cluster_info_tool, kind_node_labels_tool, kind_create_cluster_tool, kind_delete_cluster_tool, kind_delete_all_clusters_tool, kind_load_image_tool, kind_load_image_archive_tool, kind_build_node_image_tool, kind_set_kubeconfig_tool |
Access Kubernetes data as browsable resources:
| Resource URI | Description |
|---|---|
kubeconfig://contexts | List all available kubectl contexts |
kubeconfig://current-context | Get current active context |
namespace://current | Get current namespace |
namespace://list | List all namespaces |
cluster://info | Get cluster information |
cluster://nodes | Get detailed node information |
cluster://version | Get Kubernetes version |
cluster://api-resources | List available API resources |
manifest://deployments/{ns}/{name} | Get deployment YAML |
manifest://services/{ns}/{name} | Get service YAML |
manifest://pods/{ns}/{name} | Get pod YAML |
manifest://configmaps/{ns}/{name} | Get ConfigMap YAML |
manifest://secrets/{ns}/{name} | Get secret YAML (data masked) |
manifest://ingresses/{ns}/{name} | Get ingress YAML |
Pre-built workflow prompts for common Kubernetes operations:
| Prompt | Description |
|---|---|
troubleshoot_workload | Comprehensive troubleshooting guide for pods/deployments |
deploy_application | Step-by-step deployment workflow |
security_audit | Security scanning and RBAC analysis workflow |
cost_optimization | Resource optimization and cost analysis workflow |
disaster_recovery | Backup and recovery planning workflow |
debug_networking | Network debugging for services and connectivity |
scale_application | Scaling guide with HPA/VPA best practices |
upgrade_cluster | Kubernetes cluster upgrade planning |
The built-in CLI lets you explore and test tools without an AI assistant:
--json)NO_COLOR environment variableThe server supports multiple transport protocols:
Transport Options:
--transport: Choose from stdio, sse, http, streamable-http (default: stdio)--host: Bind address (default: 0.0.0.0)--port: Port for network transports (default: 8000)--disable-destructive (or --non-destructive): Block destructive operations (allow create/update, block delete)--read-only: Block all write operationsCore Settings:
| Variable | Description | Default |
|---|---|---|
KUBECONFIG | Path to kubeconfig file | ~/.kube/config |
MCP_DEBUG | Enable verbose logging | false |
MCP_LOG_FILE | Log file path | None (stdout) |
Authentication (Enterprise):
| Variable | Description | Default |
|---|---|---|
MCP_AUTH_ENABLED | Enable OAuth 2.1 authentication | false |
MCP_AUTH_ISSUER | OAuth 2.0 Authorization Server URL | - |
MCP_AUTH_JWKS_URI | JWKS endpoint URL | Auto-derived |
MCP_AUTH_AUDIENCE | Expected token audience | kubectl-mcp-server |
MCP_AUTH_REQUIRED_SCOPES | Required OAuth scopes | mcp:tools |
Browser Automation (Optional):
| Variable | Description | Default |
|---|---|---|
MCP_BROWSER_ENABLED | Enable browser automation tools | false |
MCP_BROWSER_PROVIDER | Cloud provider (browserbase/browseruse) | None |
MCP_BROWSER_PROFILE | Persistent profile path | None |
MCP_BROWSER_CDP_URL | Remote CDP WebSocket URL | None |
MCP_BROWSER_PROXY | Proxy server URL | None |
Get beautiful HTML dashboards for visual cluster management.
Installation:
6 Dashboard Tools:
show_pods_dashboard_ui - Real-time pod status tableshow_pod_logs_ui - Interactive log viewer with searchshow_cluster_overview_ui - Complete cluster dashboardshow_events_timeline_ui - Events timeline with filteringshow_resource_yaml_ui - YAML viewer with syntax highlightingrender_k8s_dashboard_screenshot - Export dashboards as PNGFeatures:
Works With: Goose, LibreChat, Nanobot (full HTML UI) | Claude Desktop, Cursor, others (JSON + screenshots)
Automate web-based Kubernetes operations with agent-browser integration.
Quick Setup:
What You Can Do:
26 Available Tools: browser_open, browser_screenshot, browser_click, browser_fill, browser_test_ingress, browser_screenshot_grafana, browser_health_check, and 19 more
Advanced Features:
A standalone npm package that provides beautiful, interactive UI dashboards for Kubernetes management using the MCP ext-apps SDK.
Installation:
Claude Desktop Configuration:
8 Interactive UI Tools:
| Tool | Description |
|---|---|
k8s-pods | Interactive pod viewer with filtering, sorting, status indicators |
k8s-logs | Real-time log viewer with syntax highlighting and search |
k8s-deploy | Deployment dashboard with rollout status, scaling, rollback |
k8s-helm | Helm release manager with upgrade/rollback actions |
k8s-cluster | Cluster overview with node health and resource metrics |
k8s-cost | Cost analyzer with waste detection and recommendations |
k8s-events | Events timeline with type filtering and grouping |
k8s-network | Network topology graph showing Services/Pods/Ingress |
Features:
More Info: See kubectl-mcp-app/README.md for full documentation.
Secure your MCP server with OAuth 2.1 authentication (RFC 9728).
Supported Identity Providers: Okta, Auth0, Keycloak, Microsoft Entra ID, Google OAuth, and any OIDC-compliant provider.
Use Case: Multi-tenant environments, compliance requirements, audit logging.
Works with Docker MCP Toolkit:
Install from the centralized agentregistry:
Available via: PyPI (uvx), npm (npx), OCI (docker.io/rohitghumare64/kubectl-mcp-server)
Route to multiple MCP servers through agentgateway:
Connect clients to http://localhost:3000/mcp for unified access to all 253 tools.
Deploy with kMCP - a control plane for MCP servers:
See kMCP quickstart for details.
Deploy with kubectl/kustomize:
See deploy/ directory for all manifests and configuration options.
Integrate with kagent - a CNCF Kubernetes-native AI agent framework:
Your AI agents now have access to all 253 Kubernetes tools. See kagent quickstart.
The MCP server implements the Model Context Protocol, translating natural language requests into kubectl operations.
Extend your AI coding agent with Kubernetes expertise using our Agent Skills library. Skills provide specialized knowledge and workflows that agents can load on demand.
| Category | Skills |
|---|---|
| Core Resources | k8s-core, k8s-networking, k8s-storage |
| Workloads | k8s-deploy, k8s-operations, k8s-helm |
| Observability | k8s-diagnostics, k8s-troubleshoot, k8s-incident |
| Security | k8s-security, k8s-policy, k8s-certs |
| GitOps | k8s-gitops, k8s-rollouts |
| Scaling | k8s-autoscaling, k8s-cost, k8s-backup |
| Multi-Cluster | k8s-multicluster, k8s-capi, k8s-kubevirt, k8s-vind |
| Networking | k8s-service-mesh, k8s-cilium |
| Tools | k8s-browser, k8s-cli |
Use SkillKit to convert skills to your preferred AI agent format:
Supported agents: Claude, Cursor, Codex, Gemini CLI, GitHub Copilot, Goose, Windsurf, Roo, Amp, and more.
See kubernetes-skills/README.md for full documentation.
Seamlessly manage multiple Kubernetes clusters through natural language. Every tool supports an optional context parameter to target any cluster without switching contexts.
Most kubectl-backed tools accept an optional context parameter to target specific clusters.
Note: vCluster (vind) and kind tools run via their local CLIs and do not accept the context parameter.
Talk to your AI assistant:
Direct tool calls with context:
Talk to your AI assistant:
Or use the CLI directly:
context is omitted, the tool uses your current kubectl contextcontext is specified, the tool targets that cluster directly"context": "production" or "context": "current" for clarityKUBECONFIG environment variable234 tests covering: tool registration, resource exposure, prompt generation, server initialization, non-destructive mode, secret masking, error handling, transport methods, CLI commands, browser automation, and ecosystem tools.
We ❤️ contributions! Whether it's bug reports, feature requests, documentation improvements, or code contributions.
Ways to contribute:
Development setup: See Development & Testing section above.
Before submitting a PR:
pytest tests/ -vblack kubectl_mcp_tool testsflake8 kubectl_mcp_tool testsMIT License - see LICENSE for details.
Package Repositories:
Project:
Ecosystem:
Made with ❤️ for the Kubernetes and AI community
If kubectl-mcp-server makes your DevOps life easier, give it a ⭐ on GitHub!