Kubectl MCP ツール
Claude、Cursor などの AI アシスタントが自然言語を通じて Kubernetes クラスターと対話できるようにする、Kubernetes 用の Model Context Protocol (MCP) サーバー。
🎥 ライブデモ - Claude によるkubectl-mcp-tool動作をご覧ください。

Related MCP server: MCP Toolkit
🎥 ライブデモ - カーソルを使用したkubectl-mcp-tool動作をご覧ください。

🎥 ライブデモ - Windsurf でkubectl-mcp-tool動作をご覧ください。

特徴
コアKubernetesオペレーション
[x] Kubernetesクラスターに接続する
[x] ポッド、サービス、デプロイメント、ノードの一覧表示と管理
[x] ポッドやその他のリソースの作成、削除、説明
[x] ポッドログとKubernetesイベントを取得する
[x] Helm v3 操作のサポート(インストール、アップグレード、アンインストール)
[x] kubectl explainとapi-resourcesのサポート
[x] 次のコマンドの名前空間を選択する(メモリの永続性)
[x] ポッドへのポート転送
[x] スケールデプロイメントとステートフルセット
[x] コンテナ内でコマンドを実行する
[x] ConfigMapとシークレットの管理
[x] 以前のバージョンへのロールバック
[x] イングレスとネットワークポリシー管理
[x] クラスター間のコンテキスト切り替え
自然言語処理
[x] kubectl操作のための自然言語クエリを処理する
[x] 以前の操作を記憶するコンテキスト認識コマンド
[x] Kubernetesの概念を人間に分かりやすく説明
[x] 意図に基づいたインテリジェントなコマンド構築
[x] 専用ツールが利用できない場合はkubectlにフォールバックする
[x] オフライン/テストシナリオ用の模擬データのサポート
[x] 名前空間を考慮したクエリ処理
監視
[x] クラスターのヘルスモニタリング
[x] リソース使用率の追跡
[x] ポッドのステータスとヘルスチェック
[x] イベント監視とアラート
[x] ノード容量と割り当て分析
[x] 過去のパフォーマンスの追跡
[x] kubectl top によるリソース使用統計
[x] コンテナの準備状況と生存追跡
安全
[x] RBACの検証と検証
[x] セキュリティコンテキスト監査
[x] Kubernetes APIへの安全な接続
[x] 資格情報管理
[x] ネットワークポリシー評価
[x] コンテナセキュリティスキャン
[x] セキュリティのベストプラクティスの実施
[x] ロールとクラスタロールの管理
[x] ServiceAccountの作成とバインド
[x] PodSecurityPolicy分析
[x] RBAC権限監査
[x] セキュリティコンテキストの検証
診断
[x] クラスタの診断とトラブルシューティング
[x] 構成の検証
[x] エラー分析と回復の提案
[x] 接続状態の監視
[x] ログ分析とパターン検出
[x] リソース制約の識別
[x] ポッドヘルスチェック診断
[x] 一般的なエラーパターンの識別
[x] 構成ミスのリソース検証
[x] 詳細な生存性および準備プローブの検証
高度な機能
[x] 複数のトランスポートプロトコルのサポート(stdio、SSE)
[x] 複数のAIアシスタントとの統合
[x] 拡張可能なツールフレームワーク
[x] カスタムリソース定義のサポート
[x] 名前空間間の操作
[x] 複数のリソースに対するバッチ操作
[x] インテリジェントなリソース関係マッピング
[x] エラーの説明と回復の提案
[x] ボリューム管理と識別
建築
モデルコンテキストプロトコル(MCP)統合
Kubectl MCPツールはモデルコンテキストプロトコル(MCP)を実装し、AIアシスタントが標準化されたインターフェースを介してKubernetesクラスターと対話できるようにします。アーキテクチャは以下の要素で構成されています。
MCP サーバー: MCP クライアント (AI アシスタント) からのリクエストを処理する準拠サーバー
ツールレジストリ: Kubernetes 操作をスキーマ付きの MCP ツールとして登録します
トランスポート層: stdio、SSE、HTTP トランスポート方式をサポート
コアオペレーション: ツール呼び出しをKubernetes APIオペレーションに変換する
レスポンスフォーマッタ:KubernetesレスポンスをMCP準拠のレスポンスに変換します
リクエストフロー

デュアルモード操作
このツールは次の 2 つのモードで動作します。
CLI モード: Kubernetes 操作を実行するための直接コマンドライン インターフェース
サーバーモード: AIアシスタントからのリクエストを処理するMCPサーバーとして実行
インストール
詳細なインストール手順については、インストール ガイドを参照してください。
kubectl-mcp-tool を PyPI から直接インストールできます。
pip install kubectl-mcp-tool特定のバージョンの場合:
pip install kubectl-mcp-tool==1.1.1このパッケージは PyPI で入手できます: https://pypi.org/project/kubectl-mcp-tool/1.1.1/
前提条件
Python 3.9以上
kubectl CLI がインストールおよび設定されている
Kubernetes クラスターへのアクセス
pip (Python パッケージ マネージャー)
グローバルインストール
# Install latest version from PyPI
pip install kubectl-mcp-tool
# Or install development version from GitHub
pip install git+https://github.com/rohitg00/kubectl-mcp-server.gitローカル開発インストール
# Clone the repository
git clone https://github.com/rohitg00/kubectl-mcp-server.git
cd kubectl-mcp-server
# Install in development mode
pip install -e .インストールの確認
インストール後、ツールが正しく動作していることを確認します。
# Check CLI mode
kubectl-mcp --help注: このツールは、AIアシスタントが接続するMCPサーバーとして機能するように設計されており、kubectlの直接的な代替としてではありません。MCPサーバーを起動する主なコマンドはkubectl-mcp serveです。
AIアシスタントとの使用
MCPサーバーの使用
MCP サーバー ( kubectl_mcp_tool.mcp_server ) は、FastMCP SDK 上に構築された堅牢な実装であり、さまざまな AI アシスタント間で強化された互換性を提供します。
注:MCPサーバーの実装でエラーが発生した場合は、設定で
kubectl_mcp_tool.mcp_serverをkubectl_mcp_tool.minimal_wrapperに置き換えることで、最小限のラッパーにフォールバックできます。最小限のラッパーは、よりシンプルな実装で基本的な機能を提供します。
直接構成
{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.mcp_server"], "env": { "KUBECONFIG": "/path/to/your/.kube/config", "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", "MCP_LOG_FILE": "/path/to/logs/debug.log", "MCP_DEBUG": "1" } } } }主要な環境変数
MCP_LOG_FILE: ログファイルへのパス(stdoutの汚染を避けるために推奨)MCP_DEBUG: 詳細なログ出力の場合は「1」に設定MCP_TEST_MOCK_MODE: 実際のクラスターの代わりに模擬データを使用するには「1」に設定しますKUBECONFIG: Kubernetes 構成ファイルへのパスKUBECTL_MCP_LOG_LEVEL: 「DEBUG」、「INFO」、「WARNING」、または「ERROR」に設定します
MCP サーバーのテストサーバーが正しく動作しているかどうかをテストするには、次の操作を実行します。
python -m kubectl_mcp_tool.simple_pingこれにより、サーバーに接続して ping コマンドを実行しようとします。
あるいは、次のコマンドでサーバーを直接実行することもできます。
python -m kubectl_mcp_tool
クロードデスクトップ
~/.config/claude/mcp.json (Windows: %APPDATA%\Claude\mcp.json ) の Claude Desktop 構成に以下を追加します。
{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": ["-m", "kubectl_mcp_tool.mcp_server"],
"env": {
"KUBECONFIG": "/path/to/your/.kube/config"
}
}
}
}カーソルAI
新しいグローバル MCP サーバーを追加して、MCP の下の Cursor AI 設定に以下を追加します。
{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": ["-m", "kubectl_mcp_tool.mcp_server"],
"env": {
"KUBECONFIG": "/path/to/your/.kube/config",
"PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin"
}
}
}
}グローバル設定のために、この構成を~/.cursor/mcp.jsonに保存します。
注:
/path/to/your/.kube/configを実際の kubeconfig ファイルへのパスに置き換えてください。ほとんどのシステムでは、これは~/.kube/configです。
ウィンドサーフィン
~/.config/windsurf/mcp.json (Windows: %APPDATA%\WindSurf\mcp.json ) の Windsurf 構成に以下を追加します。
{
"mcpServers": {
"kubernetes": {
"command": "python",
"args": ["-m", "kubectl_mcp_tool.mcp_server"],
"env": {
"KUBECONFIG": "/path/to/your/.kube/config"
}
}
}
}自動構成
サポートされているすべての AI アシスタントを自動的に構成するには、提供されているインストール スクリプトを実行します。
bash install.shこのスクリプトは次のことを行います。
必要な依存関係をインストールする
Claude、Cursor、WindSurf の設定ファイルを作成する
正しいパスと環境変数を設定する
Kubernetes接続をテストする
前提条件
kubectl がインストールされ、PATH に含まれている
有効なkubeconfigファイル
Kubernetes クラスターへのアクセス
Helm v3 (オプション、Helm 操作用)
例
ポッドの一覧
List all pods in the default namespaceアプリケーションをデプロイする
Create a deployment named nginx-test with 3 replicas using the nginx:latest imageポッドログを確認する
Get logs from the nginx-test podポート転送
Forward local port 8080 to port 80 on the nginx-test pod発達
# Clone the repository
git clone https://github.com/rohitg00/kubectl-mcp-server.git
cd kubectl-mcp-server
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
# Run the MCP server
python -m kubectl_mcp_tool
# Run tests
python -m python_tests.run_mcp_testsプロジェクト構造
├── kubectl_mcp_tool/ # Main package
│ ├── __init__.py # Package initialization
│ ├── __main__.py # Package entry point
│ ├── cli.py # CLI entry point
│ ├── mcp_server.py # MCP server implementation
│ ├── mcp_kubectl_tool.py # Main kubectl MCP tool implementation
│ ├── natural_language.py # Natural language processing
│ ├── diagnostics.py # Diagnostics functionality
│ ├── core/ # Core functionality
│ ├── security/ # Security operations
│ ├── monitoring/ # Monitoring functionality
│ ├── utils/ # Utility functions
│ └── cli/ # CLI functionality components
├── python_tests/ # Test suite
│ ├── run_mcp_tests.py # Test runner script
│ ├── mcp_client_simulator.py # MCP client simulator for mock testing
│ ├── test_utils.py # Test utilities
│ ├── test_mcp_core.py # Core MCP tests
│ ├── test_mcp_security.py # Security tests
│ ├── test_mcp_monitoring.py # Monitoring tests
│ ├── test_mcp_nlp.py # Natural language tests
│ ├── test_mcp_diagnostics.py # Diagnostics tests
│ └── mcp_test_strategy.md # Test strategy documentation
├── docs/ # Documentation
│ ├── README.md # Documentation overview
│ ├── INSTALLATION.md # Installation guide
│ ├── integration_guide.md # Integration guide
│ ├── cursor/ # Cursor integration docs
│ ├── windsurf/ # Windsurf integration docs
│ └── claude/ # Claude integration docs
├── compatible_servers/ # Compatible MCP server implementations
│ ├── cursor/ # Cursor-compatible servers
│ ├── windsurf/ # Windsurf-compatible servers
│ ├── minimal/ # Minimal server implementations
│ └── generic/ # Generic MCP servers
├── requirements.txt # Python dependencies
├── setup.py # Package setup script
├── pyproject.toml # Project configuration
├── MANIFEST.in # Package manifest
├── mcp_config.json # Sample MCP configuration
├── run_server.py # Server runner script
├── LICENSE # MIT License
├── CHANGELOG.md # Version history
├── .gitignore # Git ignore file
├── install.sh # Installation script
├── publish.sh # PyPI publishing script
└── start_mcp_server.sh # Server startup scriptMCP サーバーツール
MCP サーバーの実装 ( kubectl_mcp_tool.mcp_server ) は、AI アシスタントが Kubernetes クラスターと対話するために使用できる 26 個の包括的なツール セットを提供します。
コアKubernetesリソース管理
get_pods - 指定された名前空間内のすべてのポッドを取得する
get_namespaces - すべての Kubernetes 名前空間を取得する
get_services - 指定された名前空間内のすべてのサービスを取得する
get_nodes - クラスター内のすべてのノードを取得する
get_configmaps - 指定された名前空間内のすべてのConfigMapを取得します
get_secrets - 指定された名前空間内のすべてのシークレットを取得します
get_deployments - 指定された名前空間内のすべてのデプロイメントを取得する
create_deployment - 新しいデプロイメントを作成する
delete_resource - Kubernetes リソースを削除する
get_api_resources - Kubernetes API リソースを一覧表示する
kubectl_explain - kubectl explain を使用して Kubernetes リソースを説明します
操舵操作
install_helm_chart - Helm チャートをインストールする
upgrade_helm_chart - Helm リリースをアップグレードする
uninstall_helm_chart - Helm リリースをアンインストールする
セキュリティオペレーション
get_rbac_roles - 指定された名前空間内のすべての RBAC ロールを取得します
get_cluster_roles - クラスター全体のRBACロールをすべて取得する
監視と診断
get_events - 指定された名前空間内のすべてのイベントを取得します
get_resource_usage - kubectl top 経由でリソース使用状況の統計情報を取得します。
health_check - APIサーバーにpingを実行してクラスターの健全性をチェックします
get_pod_events - 特定のポッドのイベントを取得する
check_pod_health - ポッドのヘルスステータスを確認する
get_logs - ポッドからログを取得する
クラスター管理
switch_context - 現在の kubeconfig コンテキストを切り替える
get_current_context - 現在の kubeconfig コンテキストを取得する
port_forward - ローカルポートをポッドポートに転送する
scale_deployment - デプロイメントをスケールする
すべてのツールは、成功/エラー情報と関連する詳細を含む構造化データを返すため、AI アシスタントが応答を簡単に処理して理解できます。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b feature/amazing-feature)変更をコミットします (
git commit -m 'Add some amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。