
hsn0918/kubernetes-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Сервер, ориентированный на 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
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 \