KubeStellar Claude Plugins

February 12, 2026 · View on GitHub

Official Claude Code plugin marketplace for KubeStellar - multi-cluster Kubernetes management tools.

Prerequisites

Install the CLI tools via Homebrew before adding the plugins:

brew tap kubestellar/tap
brew install kubestellar-ops kubestellar-deploy

Or download binaries from GitHub Releases.

Installation

Step 1: Add the KubeStellar Marketplace

In Claude Code, run:

/plugin marketplace add kubestellar/claude-plugins

Step 2: Install the Plugins

/plugin install kubestellar-ops
/plugin install kubestellar-deploy

Or go to /pluginDiscover tab → Install kubestellar-ops and/or kubestellar-deploy.

Step 3: Restart Claude Code

After installing (or updating) plugins, you must restart Claude Code for the new MCP servers to be loaded. Simply exit and relaunch the CLI:

# Exit Claude Code (Ctrl+C or type /exit), then restart it
claude

Step 4: Verify

Run /mcp in Claude Code - you should see:

plugin:kubestellar-ops:kubestellar-ops · ✓ connected
plugin:kubestellar-deploy:kubestellar-deploy · ✓ connected

Allow Tools Without Prompts

Add to ~/.claude/settings.json:

{
  "permissions": {
    "allow": [
      "mcp__plugin_kubestellar-ops_kubestellar-ops__*",
      "mcp__plugin_kubestellar-deploy_kubestellar-deploy__*"
    ]
  }
}

Or run in Claude Code:

/allowed-tools add mcp__plugin_kubestellar-ops_kubestellar-ops__*
/allowed-tools add mcp__plugin_kubestellar-deploy_kubestellar-deploy__*

Updating

Update Plugins

To update the plugins to the latest version available in the marketplace:

/plugin update kubestellar-ops
/plugin update kubestellar-deploy

Or update all installed plugins at once:

/plugin update --all

Update CLI Tools

The plugins rely on the kubestellar-ops and kubestellar-deploy CLI tools installed via Homebrew. To upgrade them:

brew update
brew upgrade kubestellar-ops kubestellar-deploy

Check Installed Versions

To see what versions you currently have installed:

/plugin list

For CLI tool versions:

kubestellar-ops --version
kubestellar-deploy --version

Uninstalling

To remove a plugin from Claude Code:

/plugin uninstall kubestellar-ops
/plugin uninstall kubestellar-deploy

To remove the marketplace:

/plugin marketplace remove kubestellar/claude-plugins

To remove the CLI tools:

brew uninstall kubestellar-ops kubestellar-deploy
brew untap kubestellar/tap

Plugins

kubestellar-ops

Multi-cluster Kubernetes diagnostics, RBAC analysis, and security checks.

Example Usage

  • "List my Kubernetes clusters"
  • "Find pods with issues across all clusters"
  • "Check for security misconfigurations"
  • "What permissions does the admin service account have?"
  • "Show me warning events in kube-system"

Skills

SkillDescription
/k8s-healthCheck health of all Kubernetes clusters
/k8s-issuesFind issues across clusters (pods, deployments, events)
/k8s-analyzeComprehensive namespace analysis
/k8s-securitySecurity audit (privileged, root, host access)
/k8s-rbacAnalyze RBAC permissions for a subject
/k8s-audit-kubeconfigAudit kubeconfig clusters and recommend cleanup
/k8s-ownershipSet up and manage resource ownership tracking with OPA Gatekeeper
/k8s-upgrade-checkCheck for available upgrades
/k8s-upgradeUpgrade cluster (master and nodes)

MCP Tools Reference

Cluster Management (4 tools)
list_clusters

List all discovered Kubernetes clusters from kubeconfig and KubeStellar.

ParameterTypeRequiredDescription
sourcestringNoDiscovery source: all, kubeconfig, or kubestellar
get_cluster_health

Check the health status of a Kubernetes cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
get_nodes

List nodes in a cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
audit_kubeconfig

Audit all clusters in kubeconfig: check connectivity, identify stale/inaccessible clusters, and recommend cleanup.

ParameterTypeRequiredDescription
timeout_secondsintegerNoConnection timeout in seconds per cluster (default 5)
Workload Tools (6 tools)
get_pods

List pods in a cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
label_selectorstringNoLabel selector to filter pods (e.g., app=nginx)
get_deployments

List deployments in a cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
get_services

List services in a cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
get_events

Get recent events from a cluster, useful for troubleshooting.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
limitintegerNoMaximum number of events to return (default 50)
describe_pod

Get detailed information about a specific pod.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace of the pod
namestringYesName of the pod
get_pod_logs

Get logs from a pod.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace of the pod
namestringYesName of the pod
containerstringNoContainer name (required if pod has multiple containers)
tail_linesintegerNoNumber of lines from the end to return (default 100)
RBAC Analysis (7 tools)
get_roles

List Roles in a namespace.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
get_cluster_roles

List ClusterRoles in a cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
include_systemstringNoInclude system ClusterRoles (true/false, default false)
get_role_bindings

List RoleBindings in a namespace.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
get_cluster_role_bindings

List ClusterRoleBindings in a cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
include_systemstringNoInclude system ClusterRoleBindings (true/false, default false)
can_i

Check if a subject can perform an action on a resource (similar to kubectl auth can-i).

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
verbstringYesThe action verb (get, list, create, update, delete, watch, etc.)
resourcestringYesThe resource type (pods, deployments, secrets, etc.)
namespacestringNoNamespace for the check (empty for cluster-scoped)
subresourcestringNoSubresource (e.g., logs, status)
namestringNoSpecific resource name to check
analyze_subject_permissions

Analyze all RBAC permissions for a specific subject (user, group, or service account).

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
subject_kindstringYesKind of subject: User, Group, or ServiceAccount
subject_namestringYesName of the subject
namespacestringNoNamespace for ServiceAccount subjects
describe_role

Get detailed information about a Role or ClusterRole including all rules.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namestringYesName of the Role or ClusterRole
namespacestringNoNamespace for Role (omit for ClusterRole)
Diagnostic Tools (7 tools)
find_pod_issues

Find pods with issues like CrashLoopBackOff, ImagePullBackOff, Pending, OOMKilled, or restarts.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
include_completedstringNoInclude completed/succeeded pods (true/false, default false)
find_deployment_issues

Find deployments with issues like unavailable replicas, stuck rollouts, or misconfigurations.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
check_resource_limits

Find pods/containers without CPU or memory limits/requests configured.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
check_security_issues

Find security misconfigurations: privileged containers, running as root, host network/PID, missing security context.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
analyze_namespace

Comprehensive namespace analysis: resource quotas, limit ranges, pod count, issues summary.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringYesNamespace to analyze
get_warning_events

Get only Warning events, filtered by namespace or resource.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
involved_objectstringNoFilter by involved object name
limitintegerNoMaximum number of events (default 50)
find_resource_owners

Find who owns/manages resources by checking managedFields, ownership labels, and annotations.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringYesNamespace to check
resource_typestringNoResource type: pods, deployments, services, all (default: all)
OPA Gatekeeper Policy Tools (6 tools)
check_gatekeeper

Check if OPA Gatekeeper is installed and running in the cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
get_ownership_policy_status

Get the status of the ownership labels policy including violation count.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
list_ownership_violations

List resources that violate the ownership labels policy (missing owner/team labels).

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoFilter violations by namespace
limitintegerNoMaximum number of violations to return (default 50)
install_ownership_policy

Install the ownership labels policy (ConstraintTemplate and Constraint) for OPA Gatekeeper.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
labelsarrayNoRequired labels (default: ["owner", "team"])
target_namespacesarrayNoNamespaces to enforce (empty means all non-system namespaces)
exclude_namespacesarrayNoNamespaces to exclude (default: kube-*, openshift-*, gatekeeper-system)
modestringNoEnforcement mode: dryrun, warn, or enforce (default: dryrun)
set_ownership_policy_mode

Change the enforcement mode of the ownership labels policy.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
modestringYesEnforcement mode: dryrun, warn, or enforce
uninstall_ownership_policy

Remove the ownership labels policy from the cluster.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
Upgrade Tools (7 tools)
detect_cluster_type

Detect the Kubernetes distribution type (OpenShift, EKS, GKE, AKS, kubeadm, k3s, kind, etc.).

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
get_cluster_version_info

Get current Kubernetes/OpenShift version and check for available upgrades.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
check_olm_operator_upgrades

Check OLM-managed operators for available upgrades (requires OLM installed).

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
check_helm_release_upgrades

Check Helm releases for available chart version upgrades.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
namespacestringNoNamespace (all namespaces if not specified)
get_upgrade_prerequisites

Check upgrade prerequisites: node health, pod issues, ClusterOperators (OpenShift), MachineConfigPools.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
trigger_openshift_upgrade

Trigger an OpenShift cluster upgrade to a specific version. Requires explicit confirmation.

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
target_versionstringYesTarget OpenShift version (e.g., 4.14.5)
confirmstringYesMust be yes-upgrade-now to proceed
get_upgrade_status

Get the current upgrade status for a cluster (progress, ClusterOperators, MachineConfigPools).

ParameterTypeRequiredDescription
clusterstringNoCluster name (uses current context if not specified)
GitOps (1 tool)
detect_drift

Detect configuration drift between Git repository manifests and cluster state.

ParameterTypeRequiredDescription
repo_urlstringYesGit repository URL (e.g., https://github.com/org/manifests)
pathstringNoPath within repository to YAML manifests (e.g., production/)
branchstringNoGit branch to use (default: main)
clusterstringNoTarget cluster (uses current context if not specified)
namespacestringNoOverride namespace for all resources

kubestellar-deploy

App-centric multi-cluster deployment and operations with GitOps support.

Example Usage

  • "Where is nginx running?"
  • "Get logs from my api service"
  • "Deploy my ML model to clusters with GPUs"
  • "Are my clusters in sync with git?"
  • "Scale my app to 5 replicas across all clusters"

Skills

SkillDescription
/app-statusShow the status of an app across all clusters
/app-logsGet aggregated logs from an app across all clusters
/deployDeploy an app to multiple clusters with smart placement
/gitops-driftDetect drift between git manifests and cluster state
/gitops-syncSync manifests from a git repository to clusters

MCP Tools Reference

App Management (6 tools)
get_app_instances

Find all instances of an app across all clusters. Returns where the app is running, replica counts, and health status.

ParameterTypeRequiredDescription
appstringYesApp name (matches label app=<name> or name contains <name>)
namespacestringNoNamespace (all namespaces if not specified)
get_app_status

Get unified status of an app across all clusters. Shows health (healthy/degraded/failed), replica counts, and any issues.

ParameterTypeRequiredDescription
appstringYesApp name
namespacestringNoNamespace (all namespaces if not specified)
get_app_logs

Get aggregated logs from an app across all clusters. Logs are labeled with cluster name for easy identification.

ParameterTypeRequiredDescription
appstringYesApp name
namespacestringNoNamespace (all namespaces if not specified)
tailintegerNoNumber of lines from end (default 100)
sincestringNoOnly return logs newer than duration (e.g., 1h, 30m)
deploy_app

Deploy an app to clusters. Can specify clusters explicitly or let kubestellar find matching clusters based on requirements.

ParameterTypeRequiredDescription
manifeststringYesKubernetes manifest (YAML)
clustersarrayNoTarget clusters (all matching clusters if not specified)
gpu_typestringNoDeploy to clusters with this GPU type
min_gpuintegerNoDeploy to clusters with at least this many GPUs
dry_runbooleanNoPreview changes without applying
scale_app

Scale an app across clusters. Can target specific clusters or all clusters where app runs.

ParameterTypeRequiredDescription
appstringYesApp name
replicasintegerYesTarget replica count
namespacestringNoNamespace
clustersarrayNoTarget clusters (all clusters where app runs if not specified)
patch_app

Apply a patch to an app across clusters.

ParameterTypeRequiredDescription
appstringYesApp name
patchstringYesJSON or strategic merge patch
namespacestringNoNamespace
patch_typestringNoPatch type: strategic, merge, or json (default: strategic)
clustersarrayNoTarget clusters
Cluster Capabilities (2 tools)
list_cluster_capabilities

List what each cluster can run: GPU availability, CPU/memory capacity, node labels.

ParameterTypeRequiredDescription
clusterstringNoSpecific cluster (all clusters if not specified)
find_clusters_for_workload

Find clusters that can run a workload with specific requirements (GPU, memory, CPU, labels).

ParameterTypeRequiredDescription
gpu_typestringNoGPU type required (e.g., nvidia.com/gpu)
min_gpuintegerNoMinimum number of GPUs required
min_memorystringNoMinimum memory required (e.g., 16Gi)
min_cpustringNoMinimum CPU required (e.g., 4)
labelsobjectNoRequired node labels
GitOps (4 tools)
detect_drift

Detect drift between git manifests and cluster state. Shows which resources differ between git and what's deployed.

ParameterTypeRequiredDescription
repostringYesGit repository URL (e.g., https://github.com/org/manifests)
pathstringNoPath within repo to manifests (e.g., production/)
branchstringNoGit branch (default: main)
clustersarrayNoTarget clusters (all clusters if not specified)
sync_from_git

Sync manifests from a git repository to clusters. Applies all manifests found in the specified path.

ParameterTypeRequiredDescription
repostringYesGit repository URL
pathstringNoPath within repo to manifests
branchstringNoGit branch (default: main)
clustersarrayNoTarget clusters (all clusters if not specified)
dry_runbooleanNoPreview changes without applying
namespacestringNoOverride namespace for all resources
reconcile

Bring clusters back in sync with git. Same as sync_from_git but always applies changes.

ParameterTypeRequiredDescription
repostringYesGit repository URL
pathstringNoPath within repo to manifests
branchstringNoGit branch (default: main)
clustersarrayNoTarget clusters (all clusters if not specified)
preview_changes

Preview what would change if manifests were synced from git. Dry-run mode.

ParameterTypeRequiredDescription
repostringYesGit repository URL
pathstringNoPath within repo to manifests
branchstringNoGit branch (default: main)
clustersarrayNoTarget clusters (all clusters if not specified)
Helm (4 tools)
helm_install

Install or upgrade a Helm chart to clusters. Supports values overrides and targeting specific clusters.

ParameterTypeRequiredDescription
release_namestringYesName for the Helm release
chartstringYesChart name or path (e.g., nginx, ./mychart, oci://registry/chart)
namespacestringNoTarget namespace (default: default)
valuesobjectNoValues to set (key-value pairs for --set)
values_yamlstringNoValues in YAML format (equivalent to -f values.yaml)
versionstringNoChart version to install
repostringNoChart repository URL
waitbooleanNoWait for resources to be ready
timeoutstringNoTimeout for wait (e.g., 5m, 300s)
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (all clusters if not specified)
helm_uninstall

Uninstall a Helm release from clusters.

ParameterTypeRequiredDescription
release_namestringYesName of the Helm release to uninstall
namespacestringNoNamespace of the release (default: default)
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (clusters where release exists if not specified)
helm_list

List Helm releases across clusters.

ParameterTypeRequiredDescription
namespacestringNoFilter by namespace
all_namespacesbooleanNoList releases in all namespaces
filterstringNoFilter releases by name regex
clustersarrayNoTarget clusters (all clusters if not specified)
helm_rollback

Rollback a Helm release to a previous revision.

ParameterTypeRequiredDescription
release_namestringYesName of the Helm release
namespacestringNoNamespace of the release (default: default)
revisionintegerNoRevision to rollback to (previous if not specified)
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (clusters where release exists if not specified)
Resource Management (7 tools)
kubectl_apply

Apply any Kubernetes manifest to clusters. Supports all resource types using dynamic client.

ParameterTypeRequiredDescription
manifeststringYesKubernetes manifest (YAML or JSON)
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (all clusters if not specified)
delete_resource

Delete a Kubernetes resource from clusters. Supports all common resource types.

ParameterTypeRequiredDescription
kindstringYesResource kind (e.g., Deployment, Service, Pod, ConfigMap, Secret)
namestringYesResource name
namespacestringNoNamespace (default: default, ignored for cluster-scoped resources)
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (all clusters if not specified)
add_labels

Add labels to a Kubernetes resource across clusters.

ParameterTypeRequiredDescription
kindstringYesResource kind (e.g., Deployment, Service, Pod, Node)
namestringYesResource name
labelsobjectYesLabels to add (key-value pairs)
namespacestringNoNamespace (default: default, ignored for cluster-scoped)
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (all clusters if not specified)
remove_labels

Remove labels from a Kubernetes resource across clusters.

ParameterTypeRequiredDescription
kindstringYesResource kind (e.g., Deployment, Service, Pod, Node)
namestringYesResource name
labelsarrayYesLabel keys to remove
namespacestringNoNamespace (default: default, ignored for cluster-scoped)
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (all clusters if not specified)
kustomize_build

Build kustomize output from a directory containing kustomization.yaml. Returns the rendered manifests.

ParameterTypeRequiredDescription
pathstringYesPath to directory containing kustomization.yaml
kustomize_apply

Build and apply kustomize output to clusters.

ParameterTypeRequiredDescription
pathstringYesPath to directory containing kustomization.yaml
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (all clusters if not specified)
kustomize_delete

Build kustomize output and delete those resources from clusters.

ParameterTypeRequiredDescription
pathstringYesPath to directory containing kustomization.yaml
dry_runbooleanNoPreview changes without applying
clustersarrayNoTarget clusters (all clusters if not specified)

Natural Language Usage

Once installed, ask questions like:

  • "List my Kubernetes clusters"
  • "Find pods with issues in the production namespace"
  • "Check for security misconfigurations in my cluster"
  • "What permissions does the admin service account have?"
  • "Show me warning events in kube-system"
  • "Audit my kubeconfig and show stale clusters"
  • "What's the status of nginx across all clusters?"
  • "Deploy this manifest to clusters with GPUs"
  • "Check for drift from my git repo"
  • "Install nginx-ingress with Helm across all clusters"
  • "Apply kustomize overlay to production"

About KubeStellar

KubeStellar is a flexible solution for multi-cluster Kubernetes configuration management. Learn more at kubestellar.io.

Contributing

We welcome contributions! Please see CONTRIBUTING.md.

License

Apache License 2.0 - see LICENSE for details.