kubestellar-mcp

AI-powered multi-cluster Kubernetes tools for Claude Code.

Single-cluster UX for multi-cluster reality - work with your apps, not your clusters.

Using KubeStellar Console? These plugins power the Console’s cluster connectivity. See the Console Installation Guide for how they fit together.

Components

BinaryPluginDescription
kubestellar-opskubestellar-opsMulti-cluster diagnostics, RBAC analysis, security checks
kubestellar-deploykubestellar-deployApp-centric deployment, GitOps, smart workload placement

Quick Start

1. Install the Binaries

# Install via Homebrew
brew tap kubestellar/tap
brew install kubestellar-ops kubestellar-deploy
 
# Or install individually
brew install kubestellar-ops      # Diagnostics only
brew install kubestellar-deploy   # Deployment only

2. Install the Claude Code Plugins

/plugin marketplace add kubestellar/claude-plugins

Then go to /pluginMarketplaces tab → click Update on kubestellar marketplace.

Go to /pluginDiscover tab and install:

  • kubestellar-ops - for diagnostics, RBAC, security
  • kubestellar-deploy - for deployment, GitOps

3. Verify Installation

Run /mcp in Claude Code - you should see:

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

4. Start Using

Ask Claude:

  • “List my Kubernetes clusters”
  • “Find pods with issues”
  • “Where is nginx running?”
  • “Check for security misconfigurations”

Installation

brew tap kubestellar/tap
 
# Install diagnostics tools
brew install kubestellar-ops
 
# Install deployment tools
brew install kubestellar-deploy
 
# Or install both
brew install kubestellar-ops kubestellar-deploy

From Releases

Download from GitHub Releases.

From Source

git clone https://github.com/kubestellar/kubestellar-mcp.git
cd kubestellar-mcp
 
# Build both binaries
go build -o bin/kubestellar-ops ./cmd/kubestellar-ops
go build -o bin/kubestellar-deploy ./cmd/kubestellar-deploy
 
sudo mv bin/kubestellar-* /usr/local/bin/

Claude Code Plugin Setup

Adding the Marketplace

  1. In Claude Code, run:

    /plugin marketplace add kubestellar/claude-plugins
  2. Go to /pluginMarketplaces tab

  3. Click Update on the kubestellar marketplace to refresh the plugin list

Installing Plugins

  1. Go to /pluginDiscover tab

  2. Search for “kubestellar” or browse the list

  3. Select and install:

    • kubestellar-ops - Multi-cluster diagnostics, RBAC analysis, security checks
    • kubestellar-deploy - App-centric deployment, GitOps, smart workload placement
  4. The plugins will automatically connect to the installed binaries

Verifying Connection

Run /mcp in Claude Code to see connected MCP servers:

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

If a plugin shows disconnected, ensure the binary is installed and in your PATH:

which kubestellar-ops
which kubestellar-deploy

Allow Tools Without Prompts

To avoid permission prompts for each tool call, 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__*

Troubleshooting

Plugins not showing in Discover tab:

  1. Go to /pluginMarketplaces tab
  2. Click Update on the kubestellar marketplace
  3. Return to Discover tab and search again

Plugin shows disconnected:

  1. Verify binary is installed: which kubestellar-ops
  2. Verify binary works: kubestellar-ops version
  3. Restart Claude Code

Marketplace not found:

/plugin marketplace remove kubestellar
/plugin marketplace add kubestellar/claude-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”
  • “Analyze the default namespace”

Tools

Cluster Management

ToolDescription
list_clustersDiscover clusters from kubeconfig
get_cluster_healthCheck cluster health status
get_nodesList cluster nodes with status
audit_kubeconfigAudit all clusters for connectivity and recommend cleanup

Workload Tools

ToolDescription
get_podsList pods with filtering options
get_deploymentsList deployments
get_servicesList services
get_eventsGet recent events
describe_podGet detailed pod information
get_pod_logsRetrieve pod logs

RBAC Analysis

ToolDescription
get_rolesList Roles in a namespace
get_cluster_rolesList ClusterRoles
get_role_bindingsList RoleBindings
get_cluster_role_bindingsList ClusterRoleBindings
can_iCheck if you can perform an action
analyze_subject_permissionsFull RBAC analysis for any subject
describe_roleDetailed view of Role/ClusterRole rules

Diagnostic Tools

ToolDescription
find_pod_issuesFind CrashLoopBackOff, ImagePullBackOff, OOMKilled, pending pods
find_deployment_issuesFind stuck rollouts, unavailable replicas, ReplicaSet errors
check_resource_limitsFind pods without CPU/memory limits
check_security_issuesFind privileged containers, root users, host network
analyze_namespaceComprehensive namespace analysis
get_warning_eventsGet Warning events
find_resource_ownersFind who owns/manages resources

OPA Gatekeeper Policy Tools

ToolDescription
check_gatekeeperCheck if OPA Gatekeeper is installed and healthy
get_ownership_policy_statusGet ownership policy configuration and violation count
list_ownership_violationsList resources missing required ownership labels
install_ownership_policyInstall ownership labels policy (dryrun/warn/enforce modes)
set_ownership_policy_modeChange policy enforcement mode
uninstall_ownership_policyRemove the ownership policy

Upgrade Tools

ToolDescription
detect_cluster_typeDetect cluster distribution (OpenShift, EKS, GKE, AKS, kubeadm, k3s, kind)
get_cluster_version_infoGet current version and available upgrades
check_olm_operator_upgradesCheck OLM operators for pending upgrades
check_helm_release_upgradesList Helm releases and their versions
get_upgrade_prerequisitesValidate upgrade readiness
trigger_openshift_upgradeTrigger OpenShift cluster upgrade (requires confirmation)
get_upgrade_statusMonitor upgrade progress

Slash Commands

CommandDescription
/k8s-healthCheck health of all clusters
/k8s-issuesFind pod and deployment issues
/k8s-securityCheck for security misconfigurations
/k8s-rbacAnalyze RBAC permissions
/k8s-analyzeComprehensive namespace analysis
/k8s-audit-kubeconfigAudit kubeconfig clusters
/k8s-ownershipManage ownership tracking with OPA Gatekeeper
/k8s-upgrade-checkCheck for available upgrades (cluster, OLM, Helm)
/k8s-upgradeGuided cluster upgrade with safety checks

Slash Command Examples

# Check health of all clusters
/k8s-health

# Find pod and deployment issues across all clusters
/k8s-issues

# Check for security misconfigurations (privileged containers, root users)
/k8s-security

# Analyze RBAC permissions for a user or service account
/k8s-rbac

# Check for available upgrades
/k8s-upgrade-check

kubestellar-deploy

App-centric multi-cluster deployment and operations.

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”

Tools

App Discovery & Status

ToolDescription
get_app_instancesFind all instances of an app across clusters
get_app_statusUnified health view (healthy/degraded/failed)
get_app_logsAggregated logs with cluster labels

Smart Deployment

ToolDescription
deploy_appDeploy to clusters matching criteria (GPU, memory, labels)
scale_appScale across all clusters where app runs
patch_appApply patches everywhere at

Cluster Resources

ToolDescription
list_cluster_capabilitiesGPU, CPU, memory per cluster
find_clusters_for_workloadFind clusters that can run a workload

GitOps

ToolDescription
detect_driftFind clusters that diverged from git
sync_from_gitApply manifests from git repository
reconcileBring clusters back in sync
preview_changesDry-run to see what would change

Helm Operations

ToolDescription
helm_installInstall or upgrade Helm charts to clusters
helm_uninstallUninstall Helm releases from clusters
helm_listList Helm releases across clusters
helm_rollbackRollback a release to a previous revision

Resource Management

ToolDescription
delete_resourceDelete K8s resources by kind/name
kubectl_applyApply any manifest using dynamic client

Kustomize Operations

ToolDescription
kustomize_buildRender kustomize output without applying
kustomize_applyBuild and apply kustomize to clusters
kustomize_deleteBuild and delete kustomize resources

Labeling

ToolDescription
add_labelsAdd labels to resources across clusters
remove_labelsRemove labels from resources

Slash Commands

CommandDescription
/app-statusShow status of an app across all clusters
/app-logsGet aggregated logs from an app
/deployDeploy or update an app
/gitops-syncSync clusters from git
/gitops-driftCheck for drift from git
/helm-installInstall or upgrade Helm charts
/helm-uninstallUninstall Helm releases
/helm-rollbackRollback to previous revision
/deleteDelete K8s resources
/kustomizeBuild and apply kustomize configurations
/labelAdd or remove labels from resources

Example Workflows

“Where is my app running?”

nginx is running on 3 clusters:
  - prod-east: 3 replicas, healthy
  - prod-west: 3 replicas, healthy
  - staging: 1 replica, healthy

“Deploy to GPU clusters”

Found 2 clusters with nvidia.com/gpu
Deployed to gpu-cluster-1, gpu-cluster-2
All healthy

“Check for drift”

Drift detected:
  - prod-west: ConfigMap/app-config differs
  - staging: Deployment/api has extra replicas

“Install nginx chart to all clusters”

Installing nginx to 3 clusters...
  - prod-east: installed (v1.25.0)
  - prod-west: installed (v1.25.0)
  - staging: installed (v1.25.0)
All releases healthy

“Delete the old configmap”

Deleting ConfigMap/old-config from 3 clusters...
  - prod-east: deleted
  - prod-west: deleted
  - staging: not-found (already removed)

“Rollback redis to previous version”

Rolling back redis in 2 clusters...
  - prod-east: rolled back to revision 3
  - prod-west: rolled back to revision 3

“Apply kustomize from overlays/production”

Building kustomize from ./overlays/production...
Applying 5 resources to 3 clusters...
  - prod-east: applied (5 resources)
  - prod-west: applied (5 resources)
  - prod-central: applied (5 resources)

“Add label team=platform to deployment api”

Adding labels to Deployment/api...
  - prod-east: labeled
  - prod-west: labeled
  - staging: labeled
Labels added: team=platform

CLI Usage

kubestellar-ops

# Run as MCP server (for Claude Code)
kubestellar-ops --mcp-server
 
# List clusters
kubestellar-ops clusters list
 
# Check cluster health
kubestellar-ops clusters health
 
# Watch OpenShift upgrade with live progress bar
kubestellar-ops watch-upgrade
kubestellar-ops watch-upgrade --context=prod-cluster --interval=5s

Live Progress Bar

The watch-upgrade command displays a self-updating progress bar that overwrites itself:

⏳ 4.18.30 [###########---------------------------------------]  22% (200/906) cloud-controller-manager

When complete:

✅ 4.18.30 [##################################################] 100%

kubestellar-deploy

# Run as MCP server (for Claude Code)
kubestellar-deploy --mcp-server

Environment Variables

VariableDescription
KUBECONFIGPath to kubeconfig file

Contributing

Contributions are welcome! Please read our contributing guidelines.

License

Apache License 2.0 - see LICENSE for details.