local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Allows management of Kubernetes clusters through kubectl commands, providing tools for creating and managing deployments, pods, services, namespaces, and other resources, as well as performing operations like scaling, port forwarding, and viewing logs and events.
MCP Kubernetes サーバー
これは、LLM とのやり取りを通じて Kubernetes クラスターの制御を提供する、Kubernetes 用の MCP (Model Context Protocol) サーバーです。
概要
このクライアントを使用すると、MCPツールを介して一般的なKubernetes操作を実行できます。kubectlコマンドkubectl
ラップすることで、Kubernetesリソースを管理するためのシンプルなインターフェースを提供します。モデルコンテキストプロトコル(MCP)により、言語モデルとKubernetes操作間のシームレスな連携が可能になります。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、言語モデルが外部ツールやサービスと構造的に連携できるようにするフレームワークです。MCPは以下の機能を提供します。
- 言語モデルに機能を公開するための標準化された方法
- 運用のコンテキスト管理
- ツールの発見とドキュメント化
- モデルとツール間の型安全な相互作用
使用例
- 3 つのレプリカを持つ production 名前空間に、名前 nginx-app、イメージ nginx:latest の新しいデプロイメントを作成します。
- 実稼働名前空間でデプロイメント 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 を自動的にインストールするには:
This server cannot be installed
LLM が自然言語コマンドを通じて Kubernetes クラスターを管理できるようにし、kubectl 操作をラップして一般的な Kubernetes タスク用の簡素化されたインターフェースを提供するサーバー。