kubeaid-mcp
KubeAid MCP
KubeAid が管理する Kubernetes クラスター向けの MCP サーバーです。 Claude Code、Claude Desktop、Cursor、その他の MCP 互換クライアントに接続して、 「どのアプリが同期ずれしている?」、「kube-prometheus がなぜ degraded なのか?」、 「cert-manager アプリを同期して」 といった質問ができます。モデルはこのサーバーのツールを呼び出して回答し、 ツールはあなた自身の kubeconfig 認証情報を通じてクラスターにアクセスします。
公式の @modelcontextprotocol/sdk と
@kubernetes/client-node を
TypeScript で構築しています。
著者: Deep Poharkar
なぜ KubeAid 専用なのか?
KubeAid は GitOps 方式でクラスターを運用します。すべてのアプリケーションは、kubeaid-config リポジトリから生成された ArgoCD の Application であり、自動同期はデフォルトで無効です。Git とクラスターの間のドリフトは正常であり、意図的な同期を待つことになります。汎用の Kubernetes アシスタントはそのワークフローを理解しません。このサーバーはそれを理解します:
ArgoCD の
ApplicationCR は第一級市民です。同期ステータス、健全性、失敗条件、ドリフトしたリソースは、1 回のツール呼び出しで取得できます。同期は、KubeAid における明示的な「今すぐデプロイ」という判断としてモデル化されています。オプトインのフラグでゲートされ、
dry_runをサポートし、保護対象としてマークしたコンテキストでは決して許可されません。バンドルされたプロンプトは KubeAid の運用習慣をエンコードしています。同期前にドリフトを確認し、クラスターを手編集するのではなく kubeaid-config リポジトリで修正する、といった習慣です。
ツール
読み取りツール — 常に登録されます:
ツール | 機能 |
| サーバーが対象にできる kubeconfig コンテキスト。デフォルトと書き込み保護フラグ付き。 |
| KubeAid が管理するすべての ArgoCD アプリ。同期状態、健全性、リビジョン、自動同期フラグ付き。 |
| 1 つのアプリを詳細に表示: ソース、エラー条件、ドリフト/異常リソース、最後の同期結果、デプロイ履歴。 |
| ステータスと経過時間付きの名前空間。 |
| Ready ステータス、ロール、kubelet バージョン、内部 IP 付きのノード。 |
| kubectl スタイルの派生ステータス (CrashLoopBackOff など)、準備完了数、再起動回数、ノード、経過時間付きのポッド。 |
| コンテナごとの状態と最後のクラッシュ詳細、条件、ポッドの最近のイベント。 |
| コンテナログの末尾を取得。 |
| 準備完了/最新/利用可能数のカウント付きのデプロイメント。 |
| 最近のイベント。オプションで警告のみ、名前空間ごとまたはクラスター全体。 |
| apiVersion/kind/name による任意のリソース — |
書き込みツール — KUBEAID_MCP_ALLOW_WRITES=true の場合のみ登録されます:
ツール | 機能 |
| ArgoCD 同期をトリガー (KubeAid の「今すぐデプロイ」アクション)。 |
| デプロイメントのレプリカ数を設定。 |
| デプロイメント/ステートフルセット/デーモンセットをローリング再起動。 |
| スタックしたポッドを削除して、コントローラーに置き換えさせる。 |
すべてのツールはオプションの context 引数を受け取り、単一のサーバープロセスから kubeconfig 内の任意のクラスターを対象にできます。
プロンプト
プロンプトはクライアントのスラッシュコマンド / メニュー項目として表示され、上記のツールを使用してモデルをワークフローに導きます:
プロンプト | ワークフロー |
| Degraded/OutOfSync アプリの根本原因を特定: 条件 → リソース → ポッドログ → 推奨事項。 |
| ドリフトしたすべてのアプリを一覧表示し、各保留中の同期のリスクを評価してから、何かを同期する前に確認を求める。 |
| ノード、アプリ、ポッド、警告イベントをスイープし、重大度別に所見を報告。 |
クイックスタート
Node.js 20+ が必要です。
git clone <your-repo-url> kubeaid-mcp
cd kubeaid-mcp
npm install
npm run buildClaude Code
claude mcp add kubeaid -- node "$(pwd)/dist/index.js"デフォルトは読み取り専用です。書き込みを有効にしつつ本番環境を触れないようにするには:
claude mcp add kubeaid \
-e KUBEAID_MCP_ALLOW_WRITES=true \
-e KUBEAID_MCP_PROTECTED_CONTEXTS=prod-cluster-1,prod-cluster-2 \
-- node "$(pwd)/dist/index.js"Claude Desktop
設定 → 開発者 → ローカル MCP サーバー を有効にし、そのページで開く設定ファイルに追加します:
{
"mcpServers": {
"kubeaid": {
"command": "node",
"args": ["/absolute/path/to/kubeaid-mcp/dist/index.js"],
"env": {
"KUBEAID_MCP_ALLOW_WRITES": "true",
"KUBEAID_MCP_PROTECTED_CONTEXTS": "prod-cluster-1"
}
}
}
}その後、アプリを完全に終了して再度開きます。
設定
すべての設定は環境変数で、起動時に一度だけ読み取られます:
変数 | デフォルト | 意味 |
| client-node のデフォルト検索 ( | kubeconfig のパス。 |
| 現在のコンテキストをライブで追従 | 固定のデフォルトコンテキストをピン留め。未設定の場合、 |
|
| ArgoCD の |
|
| 変更を伴うツールを登録するかどうか。 |
| なし | 書き込みが有効でも、すべての変更呼び出しを拒否するカンマ区切りのコンテキスト。 |
安全モデル
独立した 3 つのレイヤー:
機能ゲーティング — 書き込みが無効 (デフォルト) の場合、変更を伴うツールは決して登録されないため、モデルはそれらを認識すらできません。
保護コンテキスト — すべての変更ハンドラーは、対象コンテキストを
KUBEAID_MCP_PROTECTED_CONTEXTSと再チェックし、モデルが何を要求しても保護されたコンテキストを拒否します。クライアント確認 — ツールには MCP の
readOnlyHint/destructiveHintアノテーションが付いているため、適切なクライアントはリスクのある呼び出しの前に確認を求めます。
サーバーは独自の認証情報を保持しません。kubeconfig の ID が RBAC で既に許可されている操作しか実行できません。
開発
npm run typecheck # strict TS, no emit
npm run build # compile to dist/
npm run smoke # spawn the server, MCP handshake, list tools + prompts
KUBEAID_MCP_ALLOW_WRITES=true npm run smoke # verify write tools registerスモークテストはクラスターを必要としません。stdio 上で生の JSON-RPC プロトコルを駆動します。
ロードマップ
check_chart_updates: デプロイされたチャートのバージョンを、上流の KubeAidargocd-helm-chartsディレクトリと比較。Sealed-secrets ヘルパー:
SealedSecretのステータスを一覧表示し、失敗したアンシールをフラグ。Prometheus/Alertmanager ツール: KubeAid が同梱する kube-prometheus スタックから発火中のアラートを表示。
謝辞
ライセンス
MIT © 2026 Deep Poharkar
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/deep-poharkar/kubeaid-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server