HK

hsn0918/kubernetes-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

30 stars 3 forks Качество 56 Тренд 11Apache-2.0

Сервер, ориентированный на Kubernetes Model Context Protocol (MCP), встроенный в Go. Он раскрывает операции Kubernetes в качестве инструментов MCP и поддерживает стио, sse и потоковые перевозки.

Обзор

Сервер, ориентированный на Kubernetes Model Context Protocol (MCP), встроенный в Go. Он раскрывает операции Kubernetes в качестве инструментов MCP и поддерживает стио, sse и потоковые перевозки. - Унифицированный интерфейс MCP для операций Kubernetes - Работает как с локальной кубеконфигурацией, так и с конфигурацией в кластере - Множественные транспорты для различных режимов интеграции - Общий ресурс CRUD + утилиты + подсказки + метрики - журналирование на основе слогов с настраиваемым уровнем / форматом - Go 1.24+ - Доступ к кластеру Kubernetes - через -kubeconfig или - через учетную запись службы в кластере -log-level (debug |info |warn |error, default info) - -log-format (консоль |json, консоль по умолчанию) - -kubeconfig (необязательно) Флаги сетевого транспорта (sse, streamable): - -порт (по умолчанию 8080) - -порт здоровья (по умолчанию 8081) - -позволительное начало (по умолчанию *) - -base-url (по умолчанию http://localhost:) - StreamableHTTP MCP endpoint: POST/mcp - Health endpoints (SSE/Streamable only): - GET/healthz - GET/readyz

Обзор (машинный перевод)

Английский | 中

Сервер, ориентированный на Kubernetes Model Context Protocol (MCP), встроенный в Go. Он раскрывает операции Kubernetes как инструменты MCP и поддерживает stdio, sse и streamable транспорты.

Почему этот проект

Унифицированный интерфейс MCP для операций Kubernetes Работает как с локальной kubeconfig, так и с конфигурацией в кластере

  • Множественные транспортные средства для различных режимов интеграции
  • Общий ресурс CRUD + полезные инструменты + подсказки + метрики
  • slog на основе регистрации с настраиваемым уровнем/форматом

Требования

  • Иди [[Т5]] Доступ к кластеру Kubernetes
  • через [[Т6]], или
  • через сервисный счет в кластере

Быстрый старт

###Строим

###Беги (stdio)

###Беги (SSE)

###Беги (StreamableHTTP)

Структура CLI

Флаги конфигурации

Глобальные флаги:

[[Т7]] [[Т8]], по умолчанию [[Т9]] [[Т10]] [[Т11]], по умолчанию [[Т12]]

  • [[Т13]] (факультативно)

Флаги сетевого транспорта ([T14], [T15]):

[[Т16]] (по умолчанию [[Т17]]) --health-port 8081 (по умолчанию)] [[Т20]] (по умолчанию [[Т21]])

Флаги только для SSE:

  • [[Т22]] (по умолчанию [[Т23]])

Конечные точки

  • Конечная точка потоковой передачи HTTP MCP: POST /mcp

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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
Открыть полный README на GitHub

Установка

docker run --rm -it \
Новичок в MCP? Начните с руководства на mcpskill.org →