HK

hsn0918/kubernetes-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

30 stars 3 forks 质量 56 趋势 11Apache-2.0

基于 Go 构建的 Kubernetes 模型上下文协议(MCP)服务器。它以 MCP 工具形式展示 Kubernetes 操作,并支持 stdio、sse 和可流式传输。

概览

基于 Go 构建的 Kubernetes 模型上下文协议(MCP)服务器。它以 MCP 工具形式展示 Kubernetes 操作,并支持 stdio、sse 和可流式传输。 - Kubernetes 运行的统一 MCP 接口 - 支持本地 kubeconfig 和集群内配置 - 多种传输方式支持不同集成模式 - 通用资源 CRUD + 工具 + 提示 + 指标 - 基于 slog 的日志,可配置级别/格式 - Go 1.24+ - 通过 --kubeconfig 访问 Kubernetes 集群,或通过集群内服务账户访问 - --日志级别(debug|info|warn|error,默认信息)- --log-格式(console|json,默认控制台)- --kubeconfig(可选) 网络传输标志(sse,可流式传输): - --port(默认8080) - --health-port(默认8081) - --允许起源(默认*) - --base-url(默认 http://localhost: ) - StreamableHTTP MCP 端点:POST /mcp - 健康端点(仅限 SSE/Streamable):- GET /healthz - GET /readyz

概述(AI 翻译)

英文 |中文

一台基于 Go 构建的基于 Kubernetes 的模型上下文协议(MCP)服务器。 它以MCP工具的形式将Kubernetes操作暴露,并支持stdio、sse和streamable传输。

为什么要做这个项目

  • Kubernetes 操作的统一 MCP 接口
  • 支持本地kubeconfig和集群内配置
  • 支持不同积分模式的多重传输
  • 通用资源 CRUD + 工具 + 提示词 + 指标
  • 基于slog的日志,支持可配置的层级/格式

要求

  • 去 1.24+
  • 访问Kubernetes集群
  • 通过--kubeconfig,或
  • 通过集群内服务账户

快速启动

建造

跑(标准)

跑(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 \
新手?先看 mcpskill.org 教程 →