
hsn0918/kubernetes-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
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
kubeconfigand 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
- via
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, defaultinfo)--log-format(console|json, defaultconsole)--kubeconfig(optional)
Network transport flags (sse, streamable):
--port(default8080)--health-port(default8081)--allow-origins(default*)
SSE-only flags:
--base-url(defaulthttp://localhost:)
Transport Endpoints
- StreamableHTTP MCP endpoint:
POST /mcp - Health endpoints (SSE/Streamable only):
GET /healthzGET /readyz
Tooling Overview
1. Generic Resource Operations
For each API group prefix, the server exposes:
LIST__RESOURCESGET__RESOURCEDESCRIBE__RESOURCECREATE__RESOURCEUPDATE__RESOURCEDELETE__RESOURCE
Registered prefixes:
K8S
2. Core/Cluster Utilities
LIST_NAMESPACESLIST_NODESGET_POD_LOGSANALYZE_POD_LOGS
3. Utility Tools
GET_CURRENT_TIMEGET_CLUSTER_INFOGET_API_RESOURCESSEARCH_RESOURCESEXPLAIN_RESOURCEAPPLY_MANIFESTVALIDATE_MANIFESTDIFF_MANIFESTGET_EVENTS
4. Prompt Tools
KUBERNETES_YAML_PROMPTKUBERNETES_QUERY_PROMPTTROUBLESHOOT_PODS_PROMPTTROUBLESHOOT_NODES_PROMPTTROUBLESHOOT_NETWORK_PROMPT
5. Metrics Tools
GET_NODE_METRICSGET_POD_METRICSGET_RESOURCE_METRICSGET_TOP_CONSUMERS
インストール
docker run --rm -it \