Skip to main content
Glama

MCP Kubernetes サーバー

鍛冶屋のバッジ

これは、LLM とのやり取りを通じて Kubernetes クラスターの制御を提供する、Kubernetes 用の MCP (Model Context Protocol) サーバーです。

概要

このクライアントを使用すると、MCPツールを介して一般的なKubernetes操作を実行できます。kubectlコマンドkubectlラップすることで、Kubernetesリソースを管理するためのシンプルなインターフェースを提供します。モデルコンテキストプロトコル(MCP)により、言語モデルとKubernetes操作間のシームレスな連携が可能になります。

Related MCP server: k8s-pilot

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統合のメリット

  1. 自然言語インターフェース:会話型言語を使用してKubernetesリソースを管理する

  2. コマンドの複雑さの軽減: kubectl の構文を正確に覚える必要はありません

  3. エラー防止: LLMは入力を検証し、役立つエラーメッセージを提供することができます。

  4. コンテキスト認識: LLMは複数の操作にわたってコンテキストを維持できます

  5. 構造化された相互作用: MCP は、LLM とツール間の型安全で文書化された相互作用を保証します。

要件

  • kubectl経由で構成された Kubernetes クラスター アクセス

  • Python 3.x

  • MCPフレームワークがインストールおよび構成されている

セキュリティに関する注意事項

このクライアントを LLM で使用する場合は、次の点を確認してください。

  • Kubernetes クラスターに適切なアクセス制御が実施されている

  • MCPサーバーは安全な環境で実行されています

  • APIアクセスは適切に認証および承認されている

Claude Desktopでの使用

{ "mcpServers": { "Kubernetes": { "command": "uv", "args": [ "--directory", "~/mcp/mcp-k8s-server", "run", "kubernetes.py" ] } } }

貢献

MCP Kubernetes Serverへの貢献を歓迎します!貢献したい場合は、以下を行ってください。

  1. リポジトリをフォークする

  2. 機能用の新しいブランチを作成します( git checkout -b feature/amazing-feature

  3. 変更を加える

  4. 必要に応じてテストを作成または更新する

  5. 変更をコミットします ( git commit -m 'Add some amazing feature' )

  6. ブランチにプッシュします ( git push origin feature/amazing-feature )

  7. プルリクエストを開く

大きな変更については、まず問題を開いて、何を変更したいのか話し合ってください。

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Kubernetes Server を自動的にインストールするには:

npx -y @smithery/cli install @abhijeetka/mcp-k8s-server --client claude

Latest Blog Posts

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/abhijeetka/mcp-k8s-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server