mcpField
K
Kubernetes Port Forward – Mcp Server

Kubernetes Port Forward – Mcp Server

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

Kubernetes Port Forward – Mcp Server について

Kubernetes のサービス検出と kubectl のポートフォワード管理を、MCP クライアントや LLM 向けに提供します。1 回の呼び出しで複数サービスを転送でき、ログ用の別ウィンドウも任意で開けます。

主な機能

  1. 01ネームスペースとサービスの一覧
  2. 02環境に基づくサービス配置の推定
  3. 03複数のポートフォワードを一括起動
  4. 04ローカルポートとリモートポートの指定
  5. 05別ウィンドウでのログ追跡(任意)
  6. 06実行中の転送プロセスの停止

活用シーン

  1. 01クラスター内のサービスと環境の確認
  2. 02複数サービスのローカルポートへの転送
  3. 03指定したネームスペースでの転送開始
  4. 04サーバーが開始した転送の停止

MCP 対応

ネームスペースやサービスの一覧取得、ポートフォワードの開始・停止を行うツールを MCP クライアントに公開します。転送は kubectl で実行され、ログ用ウィンドウも任意で開けます。

設定

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

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

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

パッケージ
npmk8s-port-forward-mcp0.0.8

ツール

4

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
servicesarrayはいサービス設定の配列。各項目で異なる localPort、remotePort、namespace を指定できます。

詳細

Kubernetes Port Forward MCP

Kubernetes サービスの検出と、kubectl port-forward セッションの実行(必要に応じて個別のログウィンドウを使用)を行うツールを提供する Model Context Protocol(MCP)サーバーです。自然言語を構造化されたツール呼び出しに変換する MCP クライアント/LLM 向けに設計されています。

Kubernetes Port Forward MCP と kubectl port-forward の比較

このパッケージは、標準的な kubectl のワークフローに MCP インターフェース を提供します。

  • kubectl:namespace/pod/ポートがすでに正確にわかっていて、手動で制御したい場合に最適です。
  • MCP:エージェントがサービスを検出し、ツール呼び出しで 1 つまたは複数のポートフォワードを実行する場合に最適です。

主な機能

  • サービスの検出:namespace を一覧表示し、実行中の pod からサービス(短い名前 → 環境 → namespace)を推測します。
  • 1 つのセッションで複数のサービスを利用:1 回のツール呼び出しで複数のポートフォワードを開始します。
  • LLM に使いやすい API:start_k8s_port_forward は配列を受け取るため、サービスごとに異なる namespace、environment、localPort、remotePort を指定できます。
  • ログ出力(任意):サービスごとに、OS レベルの別のターミナルウィンドウで kubectl logs -f を開きます。

目次

要件

  • Node.js 18 以降
  • インストール済みで、クラスターへのアクセスが設定された kubectl
  • VS Code、Cursor、Windsurf、Claude Desktop、Cline、またはその他の MCP クライアント

クイックスタート

  1. このサーバーを MCP クライアントに追加します(下記の「はじめに」にある設定を使用してください)。
  2. アシスタントに「利用可能な Kubernetes サービスを一覧表示して」と依頼します。
  3. アシスタントに「api サービスをローカルポート 3002 で実行して」と依頼します。
  4. 返された URL を開きます(例:http://localhost:3002)。
  5. 終了したら、「すべてのポートフォワードを停止して」と依頼します。

はじめに

まず、クライアントに Kubernetes Port Forward MCP サーバーをインストールします。

標準設定は、ほとんどの MCP クライアントで使用できます。

{
  "mcpServers": {
    "k8s-port-forward": {
      "command": "npx",
      "args": ["-y", "k8s-port-forward-mcp@latest"]
    }
  }
}

VS Code にインストール VS Code Insiders にインストール

Amp

Amp の VS Code 拡張機能の設定画面から追加するか、settings.json ファイルを更新してください。

"amp.mcpServers": {
  "k8s-port-forward": {
    "command": "npx",
    "args": [
      "-y",
      "k8s-port-forward-mcp@latest"
    ]
  }
}

Amp CLI のセットアップ:

以下の amp mcp add コマンドで追加してください。

amp mcp add k8s-port-forward -- npx -y k8s-port-forward-mcp@latest
Antigravity

Antigravity の設定から追加するか、設定ファイルを更新してください。

{
  "mcpServers": {
    "k8s-port-forward": {
      "command": "npx",
      "args": ["-y", "k8s-port-forward-mcp@latest"]
    }
  }
}
Claude Code

Claude Code CLI を使用して、Kubernetes Port Forward MCP サーバーを追加します。

claude mcp add k8s-port-forward npx -y k8s-port-forward-mcp@latest
Claude Desktop

MCP インストールのガイドに従い、上記の標準設定を使用してください。

Cline

「MCP サーバーの設定」のセクションにある手順に従ってください。

例:ローカルでのセットアップ

次の内容を cline_mcp_settings.json ファイルに追加してください。

{
  "mcpServers": {
    "k8s-port-forward": {
      "type": "stdio",
      "command": "npx",
      "timeout": 30,
      "args": ["-y", "k8s-port-forward-mcp@latest"],
      "disabled": false
    }
  }
}
Codex

Codex CLI を使用して、Kubernetes Port Forward MCP サーバーを追加します。

codex mcp add k8s-port-forward npx "-y" "k8s-port-forward-mcp@latest"

または、設定ファイル ~/.codex/config.toml を作成または編集し、次の内容を追加してください。

[mcp_servers.k8s-port-forward]
command = "npx"
args = ["-y", "k8s-port-forward-mcp@latest"]

詳しくは、Codex MCP のドキュメントを参照してください。

Copilot

Copilot CLI を使用して、Kubernetes Port Forward MCP サーバーを対話形式で追加します。

/mcp add

または、設定ファイル ~/.copilot/mcp-config.json を作成または編集し、次の内容を追加してください。

{
  "mcpServers": {
    "k8s-port-forward": {
      "type": "local",
      "command": "npx",
      "tools": ["*"],
      "args": ["-y", "k8s-port-forward-mcp@latest"]
    }
  }
}

詳しくは、Copilot CLI のドキュメントを参照してください。

Cursor
ボタンをクリックしてインストールします:

Cursor にインストール

または手動でインストールします:

Cursor Settings -> MCP -> Add new MCP Server の順に移動します。任意の名前を付け、タイプに command を選択して、コマンド npx -y k8s-port-forward-mcp@latest を使用します。Edit をクリックすると、設定の確認やコマンド引数の追加もできます。

Factory

Factory CLI を使用して、Kubernetes Port Forward MCP サーバーを追加します。

droid mcp add k8s-port-forward "npx -y k8s-port-forward-mcp@latest"

または、Factory droid 内で /mcp と入力すると、MCP サーバーを管理するための対話型 UI が開きます。

詳しくは、Factory MCP のドキュメントを参照してください。

Gemini CLI

MCP インストールのガイドに従い、上記の標準設定を使用してください。

Goose #### ボタンをクリックしてインストール:

Install in Goose

または手動でインストール:

Advanced settings -> Extensions -> Add custom extension に移動します。任意の名前を付け、タイプに STDIO を選択し、command に npx -y k8s-port-forward-mcp@latest を設定します。「Add Extension」をクリックします。

Kiro

MCP サーバーのドキュメントに従ってください。たとえば、.kiro/settings/mcp.json の場合:

{
  "mcpServers": {
    "k8s-port-forward": {
      "command": "npx",
      "args": ["-y", "k8s-port-forward-mcp@latest"]
    }
  }
}
LM Studio
ボタンをクリックしてインストール:

Add MCP Server k8s-port-forward to LM Studio

または手動でインストール:

右サイドバーの Program -> Install -> Edit mcp.json に移動します。上記の標準設定を使用してください。

opencode

MCP サーバーのドキュメントに従ってください。たとえば、~/.config/opencode/opencode.json の場合:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "k8s-port-forward": {
      "type": "local",
      "command": ["npx", "-y", "k8s-port-forward-mcp@latest"],
      "enabled": true
    }
  }
}
Qodo Gen

VSCode または IntelliJ でQodo Gen のチャットパネルを開き、Connect more tools -> + Add new MCP -> 上記の標準設定を貼り付けます。

Save をクリックします。

VS Code
ボタンをクリックしてインストール:

Install in VS Code Install in VS Code Insiders

または手動でインストール:

MCP のインストールガイドに従い、上記の標準設定を使用してください。VS Code CLI を使って Kubernetes Port Forward MCP サーバーをインストールすることもできます:

# For VS Code
code --add-mcp '{"name":"k8s-port-forward","command":"npx","args":["-y","k8s-port-forward-mcp@latest"]}'

インストール後、VS Code で GitHub Copilot エージェントとともに Kubernetes Port Forward MCP サーバーを利用できるようになります。

Warp

Settings -> AI -> Manage MCP Servers -> + Add に移動して、MCP サーバーを追加します。上記の標準設定を使用してください。

または、Warp のプロンプトでスラッシュコマンド /add-mcp を使い、上記の標準設定を貼り付けます:

{
  "mcpServers": {
    "k8s-port-forward": {
      "command": "npx",
      "args": [
        "-y",
        "k8s-port-forward-mcp@latest"
      ]
    }
  }
}
Windsurf

Windsurf MCP のドキュメントに従ってください。上記の標準設定を使用してください。

使用例

クイックリファレンス(自然言語 → ツール呼び出し)
  • 「api と auth サービスをローカルポート 3002、3003 で実行」
    → list_k8s_services({}) then start_k8s_port_forward({ services: [{ serviceName: "api", localPort: 3002 }, { serviceName: "auth", localPort: 3003 }] })

  • 「shared services 名前空間の order サービスをローカルポート 3000 で実行」
    → start_k8s_port_forward({ services: [{ serviceName: "order", namespace: "shared-services", localPort: 3000 }] })

  • 「shared services 名前空間の order サービスをリモートポート 3000、ローカルポート 3000 で実行」
    → start_k8s_port_forward({ services: [{ serviceName: "order", namespace: "shared-services", localPort: 3000, remotePort: 3000 }] })

  • 「qa 環境の api サービスをローカルポート 3001 で実行」
    → start_k8s_port_forward({ services: [{ serviceName: "api", environment: "qa", localPort: 3001 }] })

  • 「production 名前空間の prod 環境にある auth サービスをローカルポート 3002 で実行」
    → start_k8s_port_forward({ services: [{ serviceName: "auth", environment: "prod", namespace: "production", localPort: 3002 }] })

  • 「すべてのポートフォワードを停止」
    → stop_k8s_port_forward({})

詳細なワークフローの例

ユーザー:"qa 環境の frontend サービスをポート 3001 で実行"

AI ワークフロー:

  1. list_k8s_services({}) を呼び出して、正確なサービス名を確認します。
  2. frontend: qa (ns: ...), dev (ns: ...) などを含むリストを受け取ります。
  3. start_k8s_port_forward({ services: [{ serviceName: "frontend", environment: "qa", localPort: 3001 }] }) を呼び出します。
  4. 結果:ポートフォワードは MCP サーバーのプロセス内で実行されます。includeLogs が true の場合、ログは別のウィンドウで開きます。ツールの結果には http://localhost:3001 と正確な kubectl コマンドが含まれます。

ツール

サービスの検出
  • list_k8s_namespaces

    • タイトル:名前空間の一覧表示
    • 説明:利用可能なすべての Kubernetes 名前空間を一覧表示します。
    • パラメーター:なし
    • 読み取り専用:true
  • list_k8s_services

    • タイトル:サービスの一覧表示
    • 説明:短縮名と環境ごとにグループ化して、利用可能なサービスを一覧表示します。
    • パラメーター:
      • namespace(string、任意):結果を指定した名前空間で絞り込みます。
    • 読み取り専用:true
ポートフォワーディング
  • start_k8s_port_forward

    • タイトル:ポートフォワードの開始
    • 説明:1 つ以上のサービスのポートフォワーディングを開始します。
    • パラメーター:
      • services(array、必須):サービス設定のリストです。
        • serviceName(string、必須):サービスの短縮名です。(最初に list_k8s_services を呼び出してください。)
        • localPort(number、必須):バインドするローカルポート(1-65535)。
        • namespace(string、任意):対象とする名前空間です。
        • remotePort(number、任意):リモート(クラスター)のポートです。
        • environment(string、任意):dev | qa | stg | prod。
        • includeLogs(boolean、任意):ログを別のウィンドウで開くかどうか(デフォルト:true)。
    • 読み取り専用:false
  • stop_k8s_port_forward

    • タイトル:ポートフォワードの停止
    • 説明:この MCP サーバーが開始した、すべてのアクティブなポートフォワードプロセスを停止します。
    • パラメーター:なし
    • 読み取り専用:false

検証とデバッグ

MCP サーバーは実際の kubectl プロセスをバックグラウンドで起動するため、実行中のプロセスを確認し、実行されている正確なコマンドを確認できます。

実行中の kubectl プロセスを確認する

Windows(PowerShell):

# List all kubectl processes
tasklist /fi "imagename eq kubectl.exe"

# See the exact commands with process IDs
Get-CimInstance Win32_Process -Filter "Name='kubectl.exe'" | Select-Object ProcessId,CommandLine

Linux/macOS:

# List all kubectl processes
ps aux | grep kubectl

# See the exact commands with process IDs
ps -ef | grep kubectl

次の確認に役立ちます:

  • ポートフォワードが実際に実行中であることを確認する
  • 使用中の正確な名前空間とポートを確認する
  • 手動での終了が必要な可能性がある、停止したプロセスを特定する
  • 実際のコマンドを調べて接続の問題をデバッグする
よくある失敗と対処方法
  • ポートがすでに使用されています:別のローカルポートを選択するか、競合しているプロセスを停止してください。
  • 接続が拒否されました:サービス名、名前空間、選択した環境を確認してください。
  • ログウィンドウが表示されません:ポートフォワードのリクエストで includeLogs: true を設定してください。
  • プロセスが停止しません:PID で終了してください(Windows では taskkill /PID <pid>、Linux/macOS では kill <pid>)。

コメント

MCP は初めてですか?

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

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