/ ディレクトリ / プレイグラウンド / kubectl-mcp-server
● コミュニティ rohitg00 ⚡ 即起動

kubectl-mcp-server

作者 rohitg00 · rohitg00/kubectl-mcp-server

Kubernetes を自然言語で操作 — Pods、デプロイメント、Helm、GitOps、コスト最適化。253 個のツール、CNCF Landscape に掲載。

kubectl-mcp-server (rohitg00) は kubectl、Helm、Flux/ArgoCD、Cert-Manager、Velero、KEDA、Istio 上で広大な 253 ツールのサーフェスを公開します。標準的な KUBECONFIG を尊重し、コンテキスト パラメーターによるマルチクラスター対応をサポートします。マルチテナント デプロイメント向けのオプション OAuth 2.1 があります。

なぜ使うのか

主な機能

ライブデモ

実際の動作

kubectl.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "kubectl": {
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "kubectl",
      "command": "uvx",
      "args": [
        "kubectl-mcp-server"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "kubectl": {
      "command": {
        "path": "uvx",
        "args": [
          "kubectl-mcp-server"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add kubectl -- uvx kubectl-mcp-server

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: kubectl-mcp-server

60 秒で CrashLoopBackOff Pod をトリアージします

👤 オンコール SRE ⏱ ~10 min intermediate

使うタイミング: アラートが発火します。kubectl を手動で掘り下げる前に、ログ、イベント、およびリソース使用状況を確認したいです。

前提条件
  • クラスター アクセスで構成された kubectl — kubectl config get-contexts がクラスターをリストします
フロー
  1. クラッシュしている Pod を特定します
    名前空間 X 内でリスタート カウント > 5 の Pod をリストします。Pod 名、コンテナ、および最後の終了理由を表示します。✓ コピーしました
    → 絞られたリスト
  2. ログ + イベントを取得します
    Pod Y について、最後の 100 行のログと関連イベントを取得します。エラー キーワードをハイライトします。✓ コピーしました
    → 考えられる根本原因
  3. リソース圧力を確認します
    Pod の CPU/メモリ制限対実際を表示します。OOM キルされましたか?✓ コピーしました
    → リソース判定

結果: 10 個の kubectl コマンドではなく、1 分で絞られた仮説。

注意点
  • クラスター コンテキストの間違い — プロンプトで常に --context を指定します。デフォルトは本番環境/ステージング環境で問題になります
組み合わせ: prometheus

クラスター請求を削減するために過剰プロビジョニングされたワークロードを見つけます

👤 FinOps、プラットフォーム エンジニア ⏱ ~40 min advanced

使うタイミング: 四半期ごとのコスト レビュー — データ駆動型のスケールダウン候補が必要です。

フロー
  1. コスト分析を実行します
    コスト最適化ツールを使用して、過去 30 日間で request/limit が実際の 3 倍のデプロイメントを見つけます。✓ コピーしました
    → 過剰プロビジョニングされたワークロードのランク付きリスト
  2. 節約額を推定します
    上位 10 個について、正しくサイズ設定された場合の月あたりの節約ドルを推定します。チーム別にグループ化します。✓ コピーしました
    → チーム別の節約額テーブル
  3. 提案されたマニフェストでプルリクエストをファイルします
    上位 5 個の更新されたマニフェストを生成し、適切なリポジトリでプルリクエストをファイルします。✓ コピーしました
    → 提案された差分を持つプルリクエストを開きました

結果: メトリクスで裏付けられた目に見えるコスト削減、プルリクエストによるフォローアップ。

組み合わせ: github · prometheus

Claude で Helm リリースを安全にアップグレードします

👤 プラットフォーム エンジニア ⏱ ~20 min advanced

使うタイミング: 定常的な Helm アップグレードには 20 分のセレモニーは必要ありません。

フロー
  1. 新規対現在の差分
    リリース X について、values.yaml と新しいチャート バージョン間の差分を表示します。✓ コピーしました
    → 値/テンプレート差分
  2. ドライ ラン
    新しいチャートで helm upgrade --dry-run を実行します。レンダリングされたテンプレートの問題を報告します。✓ コピーしました
    → クリーンなドライ ラン、または実行可能なエラー
  3. ロールバック準備完了でアップグレードします
    アップグレードを適用します。すぐ後に、ロールアウト ステータスを検証し、ロールバック用の前のリビジョンを準備したままにします。✓ コピーしました
    → ロールバック指示で正常にデプロイされました

結果: 最初から明示的なロールバック パス付きの低リスク Helm オペレーション。

過度に許容的なロール向けの RBAC 監査

👤 セキュリティ エンジニア ⏱ ~30 min advanced

使うタイミング: 事前認定、または疑わしいロールに気付いた後。

フロー
  1. ワイルドカード ロールをリストします
    リソースまたは動詞に '*' を持つ ClusterRole または Role を見つけます。名前空間別にグループ化します。✓ コピーしました
    → ワイルドカード RBAC リスト
  2. サブジェクトにマップします
    各々について、誰がそれにバインドされていますか? ServiceAccount/ユーザー/グループをリストします。✓ コピーしました
    → サブジェクト ロール マトリックス
  3. 最小限の置き換えを提案します
    最もリスクの高い 5 つについて、実際の使用 (監査ログ) に基づいて必要最小限の動詞を提案します。✓ コピーしました
    → 具体的な強化提案

結果: 防御可能な差分を持つ強化された RBAC。

組み合わせ

他のMCPと組み合わせて10倍の力を

kubectl + prometheus

Prometheus メトリクスで Pod の状態をクロスリファレンス

Pod X について、kubectl describe の出力と Prometheus からの過去 24 時間の CPU/メモリを並べて表示します。✓ コピーしました
kubectl + github

RBAC 監査 → YAML マニフェストを強化するプルリクエスト

RBAC 監査での各検出について、最小化されたロール YAML を持つインフラ リポジトリに対してプルリクエストを開きます。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
kubectl_get resource, namespace?, label_selector? リストします 1 個の API コール
kubectl_describe resource, name, namespace? 単一オブジェクトの詳細 1 個の API コール
pod_logs pod, container?, tail?, namespace? デバッグ 1 個の API コール
pod_events pod, namespace? なぜこれが起こったのですか? 1 個の API コール
helm_list namespace? Helm リリースの概要 helm コマンド
helm_upgrade release, chart, values?, dry_run? デプロイ helm コマンド
cost_optimize namespace?, period? FinOps スイープ メトリクス API
rbac_audit セキュリティ レビュー 複数の API コール

コストと制限

運用コスト

APIクォータ
クラスターの API サーバーの容量に制限されています
呼び出しあたりのトークン
kubectl の出力は大きい場合があります — 特に describe/get-wide
金額
無料 MCP、クラスター コストはあなたのもの
ヒント
すべてをリストするのではなく label_selector とフィールド セレクターを優先します。プロンプトで --output=wide を避けます

セキュリティ

権限、シークレット、影響範囲

最小スコープ: 書き込みが必要な場合を除き、クラスター読み取り専用
認証情報の保管: 標準 KUBECONFIG、MCP は認証情報を個別に保存しません
データ送信先: Kubernetes API サーバーのみ
絶対に付与しない: 絶対に必要な場合を除き、MCP コンテキストに cluster-admin を付与しないでください

トラブルシューティング

よくあるエラーと対処法

権限がない / 禁止

KUBECONFIG コンテキストに権限がありません。特定の動詞/リソースについて kubectl auth can-i を確認します

確認: kubectl auth can-i get pods --namespace X
クラスター間のコンテキスト混乱

常に --context を明示的に設定または渡します。本番環境での間違ったコンテキストは悪い日です

確認: kubectl config current-context
Helm アップグレードが途中で失敗

helm rollback <release> <prev-rev> を使用します。アップグレード前に常に前のリビジョンをキャプチャします

代替案

kubectl-mcp-server 他との比較

代替案代わりに使う場面トレードオフ
k8s-mcp-server (公式的、より小さい)基本的な kubectl のみが必要で、253 ツール サーフェスの騒音を心配していますエコシステム ツールが少ない (Helm/Flux なし)
シェルでの直接 kubectlターミナル セッションに既に深く入っていますエージェント ループなし

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る