Mcp Cluster Api について
Mcp Cluster Api は Kubernetes Cluster API(CAPI)のリソースを MCP に接続し、クラスターやマシンを調査・管理する運用担当者向けです。リソース照会、アップグレード判定、コントロールプレーン操作、トラブルシューティング用プロンプトを提供します。
主な機能
- 01CAPI クラスターの一覧と詳細表示
- 02マシンと Kubernetes リソースの照会
- 03クラスター kubeconfig の生成
- 04Kubernetes アップグレード可否の確認
- 05コントロールプレーンの状態確認とロールアウト
- 06クラスターとマシンの調査用プロンプト
活用シーン
- 01CAPI クラスターとマシンの棚卸し
- 02目標バージョンへのアップグレード可否の確認
- 03アクセス用クラスター kubeconfig の取得
- 04クラスターやマシンの問題調査
MCP 対応
この MCP サーバーは stdio でクライアントに接続し、CAPI と Kubernetes のリソース管理ツールおよび調査用プロンプトを公開します。コントロールプレーンのロールアウトなど、書き込みを行うツールもあります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
capi-mcp
capi-mcp は、CAPI(Cluster API)リソースを Model Context Protocol(MCP) と連携させ、Kubernetes クラスターとマシンをプログラムおよびプロンプトベースで管理できるツールです。
MCP とは?
MCP(Model Context Protocol) は、ツールとプロンプトを標準化された方法で記述、呼び出し、管理するためのオープンプロトコルです。ツール、エージェント、UI 間の相互運用性を実現します。
CAPI とは?
CAPI(Cluster API) は、Kubernetes スタイルの API を使用して Kubernetes クラスターを宣言的に管理するための Kubernetes プロジェクトです。クラスターとそのインフラストラクチャーを作成、更新、管理するための一貫した方法を提供します。
前提条件
インストールとビルド
リポジトリをクローンして、バイナリをビルドします。
make build
リンティング
リンティングを実行します(golangci-lint がインストールされていない場合はインストールします)。
make lint
実行とテスト
トランスポートのサポート:capi-mcp は stdio トランスポートのみをサポートします。
ビルドしたバイナリで MCP inspector を実行するには、次のようにします。
npx @modelcontextprotocol/inspector -e KUBECONFIG=kubeconfig.yaml bin/capi-mcp
kubeconfig.yaml を実際の kubeconfig ファイルに置き換えてください。
Claude および VSCode での使用方法
Claude Desktop での使用
この MCP サーバーを Claude Desktop で使用するには、Claude の設定で構成する必要があります。
-
バイナリをビルドする(まだビルドしていない場合):
make build -
Claude の設定ファイルを確認する:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
MCP サーバーの設定を追加する:
{ "mcpServers": { "capi-mcp": { "command": "/absolute/path/to/capi-mcp/bin/capi-mcp", "env": { "KUBECONFIG": "/absolute/path/to/your/kubeconfig.yaml" } } } } -
Claude Desktop を再起動して、新しい設定を読み込みます。
-
接続を確認する:Claude との新しい会話で、開発者設定から CAPI MCP サーバーが接続され、実行中であることを確認できます。
VSCode での使用
Claude 拡張機能を使用する場合
MCP をサポートする VSCode 拡張機能を通じて Claude を使用している場合:
-
VSCode マーケットプレイスから Claude 拡張機能をインストールします。
-
VSCode の設定または拡張機能の設定ファイルで MCP サーバーを構成します:
{ "claude.mcpServers": { "capi-mcp": { "command": "/absolute/path/to/capi-mcp/bin/capi-mcp", "env": { "KUBECONFIG": "/absolute/path/to/your/kubeconfig.yaml" } } } } -
VSCode を再起動して、設定を適用します。
VSCode Toolsets を使用する場合
開発ワークフローを拡張するために、この MCP サーバーを VSCode Toolsets と連携させることもできます。
-
ワークスペースに toolset の設定を作成します:
- コマンドパレット(
Cmd/Ctrl + Shift + P)を開きます - 「Toolsets: Configure Toolsets」を実行します
- 新しい toolset の設定を追加します
- コマンドパレット(
-
CAPI MCP toolset を構成します:
{ "name": "CAPI MCP Server", "description": "Cluster API management via MCP", "tools": [ { "name": "capi-mcp", "command": "/absolute/path/to/capi-mcp/bin/capi-mcp", "env": { "KUBECONFIG": "/absolute/path/to/your/kubeconfig.yaml" }, "protocol": "mcp" } ] } -
toolset を使用します:
- サイドバーの Toolsets パネルからアクセスします
- コマンドパレットからツールを直接呼び出します
- 他の VSCode AI 機能や拡張機能と連携させます
これにより、他の開発用 toolset と併せて、VSCode の開発環境内から CAPI 管理ツールを直接使用できます。
利用可能なツールとプロンプト
接続すると、Claude を使って次の操作を行えます。
ツール:
list_clusters- Kubernetes 環境内のすべての CAPI クラスターを一覧表示しますget_cluster- 特定のクラスターの詳細情報を取得しますget_cluster_kubeconfig- CAPI クラスターにアクセスするための kubeconfig を生成して取得しますcheck_upgrade_eligibility- クラスターを指定した Kubernetes バージョンに安全にアップグレードできるか確認しますlist_machines- クラスター全体のすべてのマシン(ノード)を一覧表示しますget_machine- 特定のマシンの詳細情報を取得しますget_kube_resource- 名前、種類、API バージョンを指定して、任意の Kubernetes リソースを取得しますrollout_controlplane- コントロールプレーンの再起動を実行します(ローリングアップデートを開始します。読み取り専用ではありません)get_control_plane_status- CAPI クラスターのコントロールプレーンコンポーネントのステータスを取得します
プロンプト:
debug_capi_cluster- クラスターの問題に関する段階的なデバッグガイダンスを取得しますdebug_capi_machine- マシンの問題に関する段階的なデバッグガイダンスを取得しますrestart_control_plane- クラスターのコントロールプレーンを再起動するための手順を取得します
使用例
次のような質問を Claude / Copilot にしてみましょう。
- 「すべての CAPI クラスターを表示してください」
- 「'production' という名前のクラスターのステータスはどうなっていますか?」
- 「'staging' クラスター内のすべてのマシンを一覧表示してください」
- 「'default' 名前空間にある 'dev-cluster' クラスターの kubeconfig を取得してください」
- 「クラスターを Kubernetes v1.32.0 にアップグレードできるか確認してください」
- 「debug_capi_cluster プロンプトを使って、クラスターのデバッグを手伝ってください」
- 「クラスターのコントロールプレーンコンポーネントのステータスを取得してください」
- 「'default' 名前空間にある、kind 'Deployment'、apiVersion 'apps/v1' の deployment 'my-app' を取得してください」
注: kubeconfig.yaml ファイルに、Kubernetes クラスター内の CAPI リソースへアクセスするために必要な権限が設定されていることを確認してください。rollout_controlplane のような一部のツールは書き込み操作を行うため、適切な RBAC 権限が必要です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。