K8s Mcp Server について
K8s Mcp Serverは、Kubernetesリソースを管理するためのMCPサーバーです。デプロイメント、Pod、サービスなどを操作でき、Pythonでの直接実行とDockerでの起動に対応します。
主な機能
- 01デプロイメント、Pod、サービスの管理
- 02Pythonによる直接実行
- 03Dockerでの起動
活用シーン
- 01MCPクライアント経由でのKubernetesリソース操作
- 02Dockerコンテナでのサーバー実行
MCP 対応
GitHub CopilotやClaude DesktopなどのMCPクライアントに、Kubernetes操作ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
K8s MCP サーバー
このプロジェクトは、Kubernetes の運用を行うための Model Control Protocol(MCP)サーバーです。デプロイメント、ポッド、サービスなどを管理するツールを提供します。
前提条件
- Python 3.12 以降
uvパッケージマネージャー- Minikube(ローカルで Kubernetes を開発する場合)
- Docker(任意、コンテナ化してデプロイする場合)
MCP サーバーの実行
主な方法:直接実行する
-
仮想環境を作成します:
uv venv .venv -
仮想環境を有効化します:
- macOS/Linux の場合:
source .venv/bin/activate - Windows の場合:
.venv\Scripts\activate
- macOS/Linux の場合:
-
依存関係をインストールします:
uv pip install -e . -
サーバーを実行します:
python src/main.py
代替方法:Docker を使用する(任意)
-
Docker イメージをプルします:
docker pull chinnareddy578/k8s-mcp-server -
Docker コンテナを実行します:
docker run -it \ -v ${HOME}/.kube:/root/.kube:ro \ -v ${HOME}/.minikube:/root/.minikube:ro \ chinnareddy578/k8s-mcp-server
MCP クライアントで MCP サーバーを使用する
GitHub Copilot
-
GitHub Copilot を設定します:
- GitHub Copilot の設定を開きます。
- 次の設定を追加します:
{ "servers": { "k8s-mcp-server": { "command": "python", "args": [ "src/main.py" ] } } }または、Docker を使用する場合:
{ "servers": { "k8s-mcp-server": { "command": "docker", "args": [ "run", "-i", "--rm", "--init", "-e", "PYTHONUNBUFFERED=1", "-v", "${HOME}/.kube:/root/.kube:ro", "-v", "${HOME}/.minikube:/root/.minikube:ro", "chinnareddy578/k8s-mcp-server" ] } } } -
GitHub Copilot を使用します:
- GitHub Copilot は、コードの提案と補完に MCP サーバーを使用するようになります。
Claude Desktop
-
Claude Desktop を設定します:
- Claude Desktop の設定を開きます。
- 次の設定を追加します:
{ "mcpServers": { "k8s-mcp-server": { "command": "python", "args": [ "src/main.py" ] } } }または、Docker を使用する場合:
{ "mcpServers": { "k8s-mcp-server": { "command": "docker", "args": [ "run", "-i", "--rm", "--init", "-e", "PYTHONUNBUFFERED=1", "-v", "${HOME}/.kube:/root/.kube:ro", "-v", "${HOME}/.minikube:/root/.minikube:ro", "chinnareddy578/k8s-mcp-server" ] } } } -
Claude Desktop を使用します:
- Claude Desktop は、コードの提案と補完に MCP サーバーを使用するようになります。
トラブルシューティング
-
Kubernetes の設定: Minikube が実行中で、kubeconfig が適切に設定されていることを確認します:
minikube status minikube kubectl -- get pods -
接続の問題: Docker を使用している場合は、コンテナが実行中で、Kubernetes の設定にアクセスできることを確認します:
docker ps -
ツールが見つからない場合: MCP サーバーにツールが登録されていて、その名前が完全に一致していることを確認します。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。