mcpField
K
K8s Mcp Server

K8s Mcp Server

ローカル
github.com/chinnareddy578クラウド・インフラ271 週間前に更新

K8s Mcp Server について

K8s Mcp Serverは、Kubernetesリソースを管理するためのMCPサーバーです。デプロイメント、Pod、サービスなどを操作でき、Pythonでの直接実行とDockerでの起動に対応します。

主な機能

  1. 01デプロイメント、Pod、サービスの管理
  2. 02Pythonによる直接実行
  3. 03Dockerでの起動

活用シーン

  1. 01MCPクライアント経由でのKubernetesリソース操作
  2. 02Dockerコンテナでのサーバー実行

MCP 対応

GitHub CopilotやClaude DesktopなどのMCPクライアントに、Kubernetes操作ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"k8s-mcp-server-chinnareddy578": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
起動コマンドnpx -y mcp-remote

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-remote

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

K8s MCP サーバー

このプロジェクトは、Kubernetes の運用を行うための Model Control Protocol(MCP)サーバーです。デプロイメント、ポッド、サービスなどを管理するツールを提供します。

前提条件

  • Python 3.12 以降
  • uv パッケージマネージャー
  • Minikube(ローカルで Kubernetes を開発する場合)
  • Docker(任意、コンテナ化してデプロイする場合)

MCP サーバーの実行

主な方法:直接実行する
  1. 仮想環境を作成します:

    uv venv .venv
    
  2. 仮想環境を有効化します:

    • macOS/Linux の場合:
      source .venv/bin/activate
      
    • Windows の場合:
      .venv\Scripts\activate
      
  3. 依存関係をインストールします:

    uv pip install -e .
    
  4. サーバーを実行します:

    python src/main.py
    
代替方法:Docker を使用する(任意)
  1. Docker イメージをプルします:

    docker pull chinnareddy578/k8s-mcp-server
    
  2. Docker コンテナを実行します:

    docker run -it \
      -v ${HOME}/.kube:/root/.kube:ro \
      -v ${HOME}/.minikube:/root/.minikube:ro \
      chinnareddy578/k8s-mcp-server
    

MCP クライアントで MCP サーバーを使用する

GitHub Copilot
  1. 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"
                ]
            }
        }
    }
    
  2. GitHub Copilot を使用します:

    • GitHub Copilot は、コードの提案と補完に MCP サーバーを使用するようになります。
Claude Desktop
  1. 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"
                ]
            }
        }
    }
    
  2. Claude Desktop を使用します:

    • Claude Desktop は、コードの提案と補完に MCP サーバーを使用するようになります。

トラブルシューティング

  • Kubernetes の設定: Minikube が実行中で、kubeconfig が適切に設定されていることを確認します:

    minikube status
    minikube kubectl -- get pods
    
  • 接続の問題: Docker を使用している場合は、コンテナが実行中で、Kubernetes の設定にアクセスできることを確認します:

    docker ps
    
  • ツールが見つからない場合: MCP サーバーにツールが登録されていて、その名前が完全に一致していることを確認します。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。