HK

hsn0918/kubernetes-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

30 stars 3 forks 品質 56 トレンド 11Apache-2.0

Kubernetes-focused Model Context Protocol (MCP) サーバをGoで構築しました。 MCP ツールとして Kubernetes 操作を公開し、stdio、sse、および合理的な輸送をサポートしています.

概要

Kubernetes-focused Model Context Protocol (MCP) サーバをGoで構築しました。 MCP ツールとして Kubernetes 操作を公開し、stdio、sse、および合理的な輸送をサポートしています。 - Kubernetes操作用の統一されたMCPインターフェイス - ローカルkubeconfigとin-cluster設定の両方で動作します - 異なる統合モードのための複数の輸送 - 一般的なリソースCRUD +ユーティリティツール+プロンプト+メトリック - 設定可能なレベル/フォーマットでログベースのロギング - 1.24 + - Kubernetesクラスターへのアクセス - --kubeconfig経由、または - in-clusterサービスアカウント経由 - --log-level(debug|info|warn|error, default info) - --log-format(console|json, default Console) - --kubeconfig(オプション) ネットワーク トランスポート フラグ (sse, streamable): - --port (デフォルト 8080) - --health-port (デフォルト 8081) - --allow-origins (デフォルト *) - --base-url (デフォルト http://localhost: ) - StreamableHTTP MCPエンドポイント: POST /mcp - 健康エンドポイント(SSE/Streamable only): - GET /healthz - GET /readyz

概要(AI 翻訳)

日本語 English

Kubernetes-focused Model Context Protocol (MCP) サーバをGoで構築しました。 MCP ツールとして Kubernetes の操作を調べ、 stdio]、 [sse]、 [streamable] の輸送をサポートしています。

なぜこのプロジェクト

  • Kubernetes操作のための統一されたMCPインターフェイス
  • ローカル[kubeconfigとインクルーザーの設定の両方で動作します
  • 異なる統合モードのための複数の輸送
  • 一般的なリソースCRUD +ユーティリティツール+プロンプト+メトリック
  • [slog - 設定可能なレベル/フォーマットでロギング

要件

  • 行く[1.24+
  • Kubernetesクラスターへのアクセス
  • [--kubeconfigを介して、または
  • in-clusterサービスアカウント経由で

クイックスタート

ビルド

実行 (stdio)

実行 (SSE)

実行 (StreamableHTTP)

##CLIの構造

設定フラグ

グローバルフラグ:

  • [--log-level (debug|info|warn|error]), デフォルト [info)
  • [--log-format (console|json), デフォルト [console)]
  • [--kubeconfig (オプション)

ネットワークトランスポートフラグ (sse), [streamable]]):

  • [--port] (デフォルト 8080))
  • [--health-port] (デフォルト 8081))
  • [[--allow-origins] (デフォルト [*]))

SSE 専用フラグ:

  • [--base-url (デフォルト [http://localhost: )])

輸送エンドポイント

  • StreamableHTTP MCPエンドポイント: [POST /mcp

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

Kubernetes MCP

English | 中文

A Kubernetes-focused Model Context Protocol (MCP) server built in Go. It exposes Kubernetes operations as MCP tools and supports stdio, sse, and streamable transports.

Why This Project

  • Unified MCP interface for Kubernetes operations
  • Works with both local kubeconfig and in-cluster configuration
  • Multiple transports for different integration modes
  • Generic resource CRUD + utility tools + prompts + metrics
  • slog-based logging with configurable level/format

Requirements

  • Go 1.24+
  • Access to a Kubernetes cluster
    • via --kubeconfig, or
    • via in-cluster service account

Quick Start

Build

git clone https://github.com/HSn0918/kubernetes-mcp.git
cd kubernetes-mcp
go build -o kubernetes-mcp ./cmd/kubernetes-mcp

Run (stdio)

./kubernetes-mcp server transport stdio --kubeconfig ~/.kube/config

Run (SSE)

./kubernetes-mcp server transport sse \
  --port 8080 \
  --health-port 8081 \
  --allow-origins "*" \
  --base-url "http://localhost:8080" \
  --kubeconfig ~/.kube/config

Run (StreamableHTTP)

./kubernetes-mcp server transport streamable \
  --port 8080 \
  --health-port 8081 \
  --allow-origins "*" \
  --kubeconfig ~/.kube/config

CLI Structure

kubernetes-mcp
├── server
│   └── transport
│       ├── stdio
│       ├── sse
│       └── streamable
└── version

Configuration Flags

Global flags:

  • --log-level (debug|info|warn|error, default info)
  • --log-format (console|json, default console)
  • --kubeconfig (optional)

Network transport flags (sse, streamable):

  • --port (default 8080)
  • --health-port (default 8081)
  • --allow-origins (default *)

SSE-only flags:

  • --base-url (default http://localhost:)

Transport Endpoints

  • StreamableHTTP MCP endpoint: POST /mcp
  • Health endpoints (SSE/Streamable only):
    • GET /healthz
    • GET /readyz

Tooling Overview

1. Generic Resource Operations

For each API group prefix, the server exposes:

  • LIST__RESOURCES
  • GET__RESOURCE
  • DESCRIBE__RESOURCE
  • CREATE__RESOURCE
  • UPDATE__RESOURCE
  • DELETE__RESOURCE

Registered prefixes:

  • K8S

2. Core/Cluster Utilities

  • LIST_NAMESPACES
  • LIST_NODES
  • GET_POD_LOGS
  • ANALYZE_POD_LOGS

3. Utility Tools

  • GET_CURRENT_TIME
  • GET_CLUSTER_INFO
  • GET_API_RESOURCES
  • SEARCH_RESOURCES
  • EXPLAIN_RESOURCE
  • APPLY_MANIFEST
  • VALIDATE_MANIFEST
  • DIFF_MANIFEST
  • GET_EVENTS

4. Prompt Tools

  • KUBERNETES_YAML_PROMPT
  • KUBERNETES_QUERY_PROMPT
  • TROUBLESHOOT_PODS_PROMPT
  • TROUBLESHOOT_NODES_PROMPT
  • TROUBLESHOOT_NETWORK_PROMPT

5. Metrics Tools

  • GET_NODE_METRICS
  • GET_POD_METRICS
  • GET_RESOURCE_METRICS
  • GET_TOP_CONSUMERS
GitHub で README 全文を見る

インストール

docker run --rm -it \
MCP 初心者?mcpskill.org のガイドから始めましょう →