Kubernetes MCPサーバー - プロジェクト詳細
プロジェクト概要
Kubernetes MCPサーバーは、Kubernetesクラスター管理専用に設計されたモデルコンテンツプロトコル(Model Content Protocol)サーバーです。AIエージェント(Claudeなど)が自然言語コマンドを通じてKubernetesクラスターに接続し、管理できるようにすることで、コンテナオーケストレーションとクラスター運用管理の複雑さを大幅に軽減します。
プロジェクトアドレス: https://github.com/Flux159/mcp-server-kubernetes
主要な特徴
🎯 クラスター接続と管理
- 現在のkubectlコンテキスト設定のクラスターに自動的に接続
- 複数のKubernetes環境(minikube、Rancher Desktop、GKEなど)をサポート
- 既存のkubeconfig設定と完全に互換性あり
📦 Podとデプロイメント管理
- Pod操作: Podの作成、記述、削除
- デプロイメント管理: すべてのデプロイメントをリスト表示、レプリカ数を更新
- カスタム構成: カスタムPodおよびデプロイメント構成の作成をサポート
- ログ表示: Podログを取得してデバッグ(Pod、デプロイメント、ジョブ、ラベルセレクターをサポート)
🌐 サービスとネットワーク管理
- サービス操作: サービスの作成、記述、削除、更新
- ポートフォワード: Podまたはサービスのポートフォワードをサポート
- ネットワーク構成: 完全なKubernetesネットワーク管理をサポート
🗂️ リソースと構成管理
- 名前空間: すべての名前空間をリスト表示、新しい名前空間を作成
- ConfigMap: 構成マップの作成、取得、更新、削除
- ノード管理: クラスターノードをリスト表示および記述
- スケジュールされたタスク: CronJobの作成、リスト表示、記述
⚙️ Helm統合サポート
- チャートインストール: カスタム値を使用してHelmチャートをインストール
- バージョン管理: バージョン仕様とカスタムリポジトリをサポート
- リリース管理: 既存のリリースをアンインストールおよびアップグレード
- 名前空間サポート: 完全な名前空間分離
🔧 高度な機能
- kubectlサポート: kubectl explainおよびkubectl api-resourcesコマンド
- イベント監視: クラスターイベント情報を取得
- 非破壊モード: 読み取りおよび作成/更新操作のみを許可する安全モード
- リアルタイム監視: クラスター状態のリアルタイム表示をサポート
システムアーキテクチャ
アーキテクチャ図
Client (Claude/AI Agent)
↓
StdioTransport (通信伝送層)
↓
MCP Server (プロトコル処理)
↓
Request Handler (リクエストルーティング)
↓
KubernetesManager (K8sマネージャー)
↓
Kubernetes API (クラスターAPI)
リクエストフロー
- クライアントリクエスト: AIエージェントがSTDIO経由でリクエストを送信
- 伝送層: StdioTransportがリクエストをMCPサーバーに転送
- ルーティング処理: サーバーがリクエストを対応するハンドラーにルーティング
- ツール実行: KubernetesManagerが具体的なK8s操作を実行
- API呼び出し: Kubernetes APIと対話
- レスポンス返却: 処理結果が階層的にクライアントに返却
インストールと構成
環境要件
- kubectl: インストール済みでPATHに構成されていること
- kubeconfig: 有効なkubeconfigファイルとコンテキスト設定
- Kubernetesクラスター: アクセス可能なクラスター(minikube、GKE、EKSなど)
- Helm v3: オプション、Helm機能を使用する場合
- Node.js: 実行環境
迅速なインストール
NPM経由でインストール(推奨)
# グローバルインストール
npm install -g mcp-server-kubernetes
# またはnpxを使用して直接実行
npx mcp-server-kubernetes
Claude Desktop統合
claude_desktop_config.json
ファイルを編集:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
接続検証
インストール完了後、以下を実行できます。
- ClaudeにPodのリスト表示を依頼
- テストデプロイメントを作成
- エラーが発生した場合は、まずターミナルで
kubectl get pods
を実行して接続を検証
開発環境構築
ローカル開発
# リポジトリをクローン
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
# 依存関係をインストール(bunが必要)
bun install
# 開発モードで起動(ファイル変更を監視)
bun run dev
# ユニットテストを実行
bun run test
# プロジェクトをビルド
bun run build
使用シナリオと例
🚀 日常運用シナリオ
- "すべてのPodの状態をリスト表示" - クラスターの健全性を迅速に確認
- "nginxデプロイメントを3つのレプリカで作成" - アプリケーションを迅速にデプロイ
- "default名前空間でエラーが発生したPodのログを表示" - 障害のトラブルシューティング
- "アプリケーションポートをローカルの8080に転送" - ローカルデバッグ
📊 監視とデバッグ
- "クラスター内のすべてのイベントを表示" - クラスターアクティビティを監視
- "node-1ノードの詳細情報を記述" - リソース分析
- "最近のCronJobの実行状況を表示" - スケジュールされたタスクの監視
🛠️ アプリケーションデプロイメント
- "Helmを使用してRedisチャートをインストール" - ミドルウェアを迅速にデプロイ
- "web-appデプロイメントのレプリカ数を5に更新" - スケールアウト操作
- "本番環境のConfigMapを作成" - 構成管理
高度な構成
非破壊モード
環境変数を設定して安全モードを有効化:
export ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true
このモードでは、読み取りおよび作成/更新操作のみが許可され、削除操作は禁止されます。
SSE伝送プロトコル
サーバープッシュイベント伝送プロトコルをサポートします。詳細な構成については、プロジェクトのADVANCED_README.md
を参照してください。
クラスター認証
複数のKubernetes認証方式をサポート:
- 証明書認証
- トークン認証
- OIDC認証
- クラウドプロバイダーIAM統合
技術スタックと依存関係
コア技術
- ランタイム: Node.js + Bun
- プロトコル: Model Content Protocol (MCP)
- Kubernetesクライアント: Official Kubernetes JavaScript Client
- 伝送層: STDIO Transport
- パッケージ管理: Helm v3
主要な依存関係
@kubernetes/client-node
: Kubernetes公式JSクライアント
@modelcontextprotocol/sdk
: MCPプロトコルSDK
commander
: コマンドライン引数解析
yaml
: YAMLファイル処理
関連プロジェクトとエコシステム
MCPエコシステム
- mcp-chat: MCPサーバーのCLIチャットクライアント
- MCP Inspector: MCPプロトコルデバッグツール
- Claude Desktop: MCPをサポートするAIアシスタントデスクトップアプリケーション
Kubernetesツールチェーン
- kubectl: 公式コマンドラインツール
- Helm: パッケージマネージャー
- minikube: ローカル開発環境
- Rancher Desktop: デスクトップKubernetes環境
アプリケーションの見通しと価値
🎯 運用効率の向上
自然言語でKubernetesクラスターを操作することで、学習曲線を緩和し、運用効率を向上させます。初心者でも複雑なクラスター管理タスクを迅速に開始できます。
🤖 インテリジェントな運用
AIエージェントのインテリジェントな分析能力と組み合わせることで、以下を実現できます。
- 自動障害診断
- インテリジェントなリソース推奨
- 予測メンテナンス
- 自動化されたデプロイメント最適化
🔗 シームレスな統合
既存のKubernetesエコシステムと完全に互換性があり、既存のワークフローを変更する必要なく、AI支援運用を段階的に導入できます。
📈 今後の発展方向
- より多くのKubernetesリソースタイプをサポート
- より多くのクラウドネイティブツールを統合
- セキュリティと権限制御を強化
- マルチクラスター管理をサポート
- グラフィカルな操作インターフェース
まとめ
Kubernetes MCPサーバープロジェクトは、AIとクラウドネイティブ技術の組み合わせにおける革新的な試みを代表しています。自然言語インターフェースを通じてKubernetesクラスター管理の複雑さを簡素化し、運用担当者がコンテナ化されたアプリケーションをより直感的かつ効率的に管理できるようにします。
Kubernetesの初心者でも経験豊富な運用エキスパートでも、このツールは作業効率を大幅に向上させることができます。ClaudeなどのAIアシスタントとの統合により、インテリジェントな運用の新たな可能性が開かれ、現代のDevOpsツールチェーンの強力な追加となります。
クラウドネイティブ技術の継続的な発展とAI技術の絶え間ない進歩に伴い、このようなツールは将来のIT運用においてますます重要な役割を果たすと信じています。