MCP Kubernetes サーバー
これは、LLM とのやり取りを通じて Kubernetes クラスターの制御を提供する、Kubernetes 用の MCP (Model Context Protocol) サーバーです。
概要
このクライアントを使用すると、MCPツールを介して一般的なKubernetes操作を実行できます。kubectlコマンドkubectl
ラップすることで、Kubernetesリソースを管理するためのシンプルなインターフェースを提供します。モデルコンテキストプロトコル(MCP)により、言語モデルとKubernetes操作間のシームレスな連携が可能になります。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、言語モデルが外部ツールやサービスと構造的に連携できるようにするフレームワークです。MCPは以下の機能を提供します。
- 言語モデルに機能を公開するための標準化された方法
- 運用のコンテキスト管理
- ツールの発見とドキュメント化
- モデルとツール間の型安全な相互作用
使用例
- 3 つのレプリカを持つ production 名前空間に、名前 nginx-app、イメージ nginx の新しいデプロイメントを作成します。
- 実稼働名前空間でデプロイメント nginx-app をバージョン 1.19 に更新します。
- 運用名前空間でデプロイメント nginx-app を 5 つのレプリカにスケーリングします。
- 実稼働名前空間内のポッドを取得します。
- クラスター内のすべての名前空間を取得します。
- クラスター内のすべてのノードを取得します。
- クラスター内のすべてのサービスを取得します。
- クラスター内のすべてのデプロイメントを取得します。
- クラスター内のすべてのジョブを取得します。
- クラスター内のすべての cronjob を取得します。
- クラスター内のすべてのステートフル セットを取得します。
- クラスター内のすべてのデーモンセットを取得します。
- 現在のコンテキストは何ですか。
- すべてのコンテキストを一覧表示します。
- コンテキストに切り替えます。
- 実稼働名前空間内のポッドのログを取得します。
- 実稼働名前空間内のイベントを取得します。
- 本番環境の名前空間で、ポッドに key1=value1 の注釈を付けます。
- 本番環境の名前空間のポッドからアノテーション key1 を削除します。
- 本番環境の名前空間のポッドにラベル key1=value1 を追加します。
- 本番環境の名前空間のポッドからラベル key1 を削除します。
- ポート 80 の production 名前空間でデプロイメント nginx-app を公開します。
- 本番環境の名前空間内の名前を持つ pod、deployment、service をローカル ポート 8080 にポート転送します。
- 実稼働名前空間内の名前を持つポッド、デプロイメント、サービス、ジョブ、cronjob、statefulset、daemonset を削除します。
今後の機能
- クラスター ロールを作成します。
- クラスターロールを削除します。
- クラスター ロール バインディングを作成します。
- クラスター ロール バインディングを削除します。
- 名前空間を作成します。
- 名前空間を削除します。
- サービス アカウントを作成します。
- サービス アカウントを削除します。
- ロールを作成します。
- ロールを削除します。
- ロールバインディングを作成する。a
- ロールバインディングを削除します。
LLM統合
このMCPクライアントは、大規模言語モデル(LLM)とシームレスに連携するように設計されています。関数は@mcp.tool()
で修飾されており、モデルコンテキストプロトコルフレームワークを介してLLMからアクセス可能です。
LLMプロンプトの例
LLMは自然言語を使ってKubernetesクラスターと対話できます。以下にプロンプトの例を示します。
- 「本番環境の名前空間に3つのレプリカを持つ新しい nginx デプロイメントを作成する」
- 「nginx-app のデプロイメントを 5 つのレプリカにスケールする」
- 「nginx-app のイメージをバージョン 1.19 に更新します」
LLM はこれらの自然言語要求を解釈し、正しいパラメータを使用して適切な MCP 関数を呼び出します。
LLM統合のメリット
- 自然言語インターフェース:会話型言語を使用してKubernetesリソースを管理する
- コマンドの複雑さの軽減: kubectl の構文を正確に覚える必要はありません
- エラー防止: LLMは入力を検証し、役立つエラーメッセージを提供することができます。
- コンテキスト認識: LLMは複数の操作にわたってコンテキストを維持できます
- 構造化された相互作用: MCP は、LLM とツール間の型安全で文書化された相互作用を保証します。
要件
kubectl
経由で構成された Kubernetes クラスター アクセス- Python 3.x
- MCPフレームワークがインストールおよび構成されている
セキュリティに関する注意事項
このクライアントを LLM で使用する場合は、次の点を確認してください。
- Kubernetes クラスターに適切なアクセス制御が実施されている
- MCPサーバーは安全な環境で実行されています
- APIアクセスは適切に認証および承認されている
Claude Desktopでの使用
貢献
MCP Kubernetes Serverへの貢献を歓迎します!貢献したい場合は、以下を行ってください。
- リポジトリをフォークする
- 機能用の新しいブランチを作成します(
git checkout -b feature/amazing-feature
) - 変更を加える
- 必要に応じてテストを作成または更新する
- 変更をコミットします (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュします (
git push origin feature/amazing-feature
) - プルリクエストを開く
大きな変更については、まず問題を開いて、何を変更したいのか話し合ってください。
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Kubernetes Server を自動的にインストールするには:
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
LLM が自然言語コマンドを通じて Kubernetes クラスターを管理できるようにし、kubectl 操作をラップして一般的な Kubernetes タスク用の簡素化されたインターフェースを提供するサーバー。
Related MCP Servers
- -securityAlicense-qualityA read-only MCP server for Kubernetes that allows querying cluster information and diagnosing issues through natural language interfaces like Claude.Last updated -8MIT License
- AsecurityAlicenseAqualityA lightweight, centralized control plane server that enables management of multiple Kubernetes clusters simultaneously, supporting context switching and CRUD operations on common Kubernetes resources.Last updated -8913Apache 2.0
- -securityFlicense-qualityA Kubernetes command processing service that converts natural language requests into valid kubectl commands, providing command validation and security checks.Last updated -1
- -securityFlicense-qualityAn auto-generated MCP server that enables interaction with Google Kubernetes Engine Hub API for multi-cluster management through natural language commands.Last updated -