MCP サーバー Kubernetes
Kubernetes クラスターに接続して管理できる MCP サーバー。
https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed
Claude Desktopでの使用
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}サーバーは現在のkubectlコンテキストに自動的に接続します。以下の点に注意してください。
kubectl がインストールされ、PATH に含まれている
コンテキストが設定された有効なkubeconfigファイル
kubectl 用に構成された Kubernetes クラスターへのアクセス (例: minikube、Rancher Desktop、GKE など)
Helm v3がインストールされ、PATHに設定されている(Tillerは不要)。Helmを使用しない場合はオプションです。
Claude にポッドの一覧を表示するかテスト デプロイメントを作成するように依頼することで、接続を確認できます。
エラーが発生した場合は、標準ターミナルを開いてkubectl get podsを実行し、資格情報の問題なくクラスターに接続できるかどうかを確認します。
Related MCP server: k8m
mcp-chat での使用
mcp-chatはMCPサーバー用のCLIチャットクライアントです。Kubernetesサーバーとのやり取りに使用できます。
npx mcp-chat --server "npx mcp-server-kubernetes"または、上記の既存の Claude Desktop 構成ファイルを渡します (Linux は正しいパスを config に渡す必要があります)。
マック:
npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"ウィンドウズ:
npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"特徴
[x] Kubernetesクラスターに接続する
[x] すべてのポッド、サービス、デプロイメントを一覧表示する
[x] ノードの一覧表示、説明
[x] ポッドの作成、説明、削除
[x] すべての名前空間を一覧表示し、名前空間を作成する
[x] カスタムポッドとデプロイメント構成を作成し、デプロイメントレプリカを更新する
[x] サービスの作成、説明、削除、更新
[x] ConfigMapの作成、取得、更新、削除
[x] デバッグのためにポッドからログを取得する(ポッド、デプロイメント、ジョブ、ラベルセレクターをサポート)
[x] チャートのインストールにHelm v3をサポート
カスタム値でチャートをインストールする
アンインストールリリース
既存のリリースをアップグレードする
名前空間のサポート
バージョン指定のサポート
カスタムリポジトリのサポート
[x] kubectl explain と kubectl api-resources のサポート
[x] クラスターからKubernetesイベントを取得する
[x] ポッドまたはサービスへのポート転送
[x] cronジョブの作成、一覧表示、および説明
[x] クラスタへの読み取りおよび作成/更新専用アクセスのための非破壊モード
地域開発
bun がインストールされていることを確認してください。リポジトリをクローンして依存関係をインストールします。
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun install開発ワークフロー
開発モードでサーバーを起動します(ファイルの変更を監視します)。
bun run devユニットテストを実行します。
bun run testプロジェクトをビルドします。
bun run buildInspectorを使用したローカルテスト
npx @modelcontextprotocol/inspector node dist/index.js
# Follow further instructions on terminal for Inspector linkClaude Desktopを使用したローカルテスト
{
"mcpServers": {
"mcp-server-kubernetes": {
"command": "node",
"args": ["/path/to/your/mcp-server-kubernetes/dist/index.js"]
}
}
}mcp-chatを使用したローカルテスト
bun run chat貢献
詳細については、 CONTRIBUTING.mdファイルを参照してください。
高度な
追加の高度な機能
SSE トランスポートの使用、 ALLOW_ONLY_NON_DESTRUCTIVE_TOOLSによる非破壊モードなどのより高度な情報については、 ADVANCED_README.md を参照してください。
建築
Devin が作成したより詳細なアーキテクチャの概要については、このDeepWiki リンクを参照してください。
このセクションでは、MCP Kubernetes サーバーの高レベルアーキテクチャについて説明します。
リクエストフロー
以下のシーケンス図は、リクエストがシステム内でどのように流れるかを示しています。
sequenceDiagram
participant Client
participant Transport as StdioTransport
participant Server as MCP Server
participant Handler as Request Handler
participant K8sManager as KubernetesManager
participant K8s as Kubernetes API
Client->>Transport: Send Request via STDIO
Transport->>Server: Forward Request
alt Tools Request
Server->>Handler: Route to tools handler
Handler->>K8sManager: Execute tool operation
K8sManager->>K8s: Make API call
K8s-->>K8sManager: Return result
K8sManager-->>Handler: Process response
Handler-->>Server: Return tool result
else Resource Request
Server->>Handler: Route to resource handler
Handler->>K8sManager: Get resource data
K8sManager->>K8s: Query API
K8s-->>K8sManager: Return data
K8sManager-->>Handler: Format response
Handler-->>Server: Return resource data
end
Server-->>Transport: Send Response
Transport-->>Client: Return Final Response新しいリリースを公開
リリースページに移動し、「新規リリースの下書き」をクリックし、「タグを選択」をクリックして、新しいバージョン番号(「v{major}.{minor}.{patch}」形式)を入力して新しいタグを作成します。次に、リリースタイトル「Release v{major}.{minor}.{patch}」と、必要に応じて説明/変更履歴を記入し、「リリースを公開」をクリックします。
これにより、cd.yml ワークフローを介して新しいリリースビルドをトリガーする新しいタグが作成されます。成功すると、新しいリリースがnpmに公開されます。ワークフローによって package.json ファイルのバージョン番号が自動的に更新され、main にコミットがプッシュされるため、package.json のバージョンを手動で更新する必要はありません。
計画なし
認証/kubectx へのクラスターの追加。