mcp-server-kubernetes

by Flux159 (community) · Claude Desktop, Claude Code, OpenCode, любой MCP-клиент

MCP MCP Servers Open Source ★ Must have v3.9.2 · 22.06.2026 активный

MCP-сервер для управления Kubernetes кластерами прямо из AI-ассистента. Позволяет просматривать поды, деплойменты, сервисы и namespace'ы, применять манифесты, смотреть логи и выполнять kubectl-операции через естественный язык. Возможности: - Просмотр ресурсов: pods, deployments, services, namespaces, nodes - Применение манифестов и патчей - Логи контейнеров в реальном времени - Port-forwarding и exec в pod - Работает с любым kubeconfig (local, EKS, GKE, AKS) - Scale, rollout restart, delete ресурсов

v3.9.2
22.06.2026 current
Добавлен 19.06.2026 · Обновлён 19.06.2026 · MCP Servers
Установка
# Claude Desktop — claude_desktop_config.json:
```json
{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"]
    }
  }
}
```

# Claude Code (CLI):
```bash
claude mcp add kubernetes -- npx mcp-server-kubernetes
```

# OpenCode — ~/.config/opencode/opencode.json:
```json
{
  "mcp": {
    "kubernetes": {
      "type": "local",
      "command": ["npx", "mcp-server-kubernetes"]
    }
  }
}
```

Требует настроенного kubeconfig (~/.kube/config).
переведено ИИ

MCP Server Kubernetes

CI Язык Bun Kubernetes Docker Звёзды Проблемы PR приветствуются Последний коммит Trust Score Спросить DeepWiki

MCP-сервер, который может подключаться к кластеру Kubernetes и управлять им. Поддерживает загрузку kubeconfig из нескольких источников в порядке приоритета.

https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed

Установка и использование

Предварительные требования

Перед использованием этого MCP-сервера с любым инструментом убедитесь, что у вас:

  1. Установлен kubectl и он находится в вашем PATH
  2. Действительный файл kubeconfig с настроенными контекстами
  3. Доступ к кластеру Kubernetes, настроенному для kubectl (например, minikube, Rancher Desktop, GKE и т.д.)
  4. Установлен Helm v3 и он находится в вашем PATH (Tiller не требуется). Необязательно, если вы не планируете использовать Helm.

Вы можете проверить свое подключение, запустив kubectl get pods в терминале, чтобы убедиться, что вы можете подключиться к своему кластеру без проблем с учетными данными.

По умолчанию сервер загружает kubeconfig из ~/.kube/config. Для дополнительных вариантов аутентификации (переменные среды, пользовательские пути и т.д.) см. ADVANCED_README.md).

Claude Code

Добавьте MCP-сервер в Claude Code с помощью встроенной команды:

claude mcp add kubernetes -- npx mcp-server-kubernetes

Это автоматически настроит сервер в ваших настройках MCP Claude Code.

Claude Desktop

Добавьте следующую конфигурацию в файл конфигурации Claude Desktop:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"]
    }
  }
}

Claude Desktop Connector через mcpb

MCP Server Kubernetes также доступен как расширение mcpb (ранее dxt). В Claude Desktop перейдите в Настройки (Cmd+, на Mac) -> Расширения -> Обзор расширений и прокрутите вниз, чтобы найти mcp-server-kubernetes в модальном окне. Установите его, и он установит и будет использовать kubectl через командную строку и ваш kubeconfig.

Для ручной установки вы также можете получить .mcpb, перейдя в последний Release и скачав его.

VS Code

Установить Kubernetes MCP в VS Code

Для интеграции с VS Code вы можете использовать MCP-сервер с расширениями, поддерживающими Model Context Protocol:

  1. Установите совместимое расширение MCP (например, Claude Dev или аналогичные клиенты MCP)
  2. Настройте расширение для использования этого сервера:
{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"],
      "description": "Управление и операции с кластером Kubernetes"
    }
  }
}

Cursor

Cursor поддерживает MCP-серверы через свою интеграцию с ИИ. Добавьте сервер в конфигурацию MCP в Cursor:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"]
    }
  }
}

Сервер автоматически подключится к вашему текущему контексту kubectl. Вы можете проверить подключение, попросив ИИ-ассистента вывести список ваших подов или создать тестовый деплоймент.

Использование с mcp-chat

mcp-chat — это CLI-клиент для чата с MCP-серверами. Вы можете использовать его для взаимодействия с сервером Kubernetes.

npx mcp-chat --server "npx mcp-server-kubernetes"

Или передайте ему ваш существующий файл конфигурации Claude Desktop, указанный выше (для Linux следует указать правильный путь к конфигурации):

Mac:

npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"

Windows:

npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"

Gemini CLI

Gemini CLI позволяет устанавливать MCP-серверы как расширения. Из оболочки установите расширение, указав на этот репозиторий:

gemini extensions install https://github.com/Flux159/mcp-server-kubernetes

Возможности

  • [x] Подключение к кластеру Kubernetes
  • [x] Единый API kubectl для управления ресурсами
  • Получение или список ресурсов с помощью kubectl_get
  • Описание ресурсов с помощью kubectl_describe
  • Список ресурсов с помощью kubectl_get
  • Создание ресурсов с помощью kubectl_create
  • Применение YAML-манифестов с помощью kubectl_apply
  • Удаление ресурсов с помощью kubectl_delete
  • Получение логов с помощью kubectl_logs
  • Управление контекстами kubectl с помощью kubectl_context
  • Объяснение ресурсов Kubernetes с помощью explain_resource
  • Список API-ресурсов с помощью list_api_resources
  • Масштабирование ресурсов с помощью kubectl_scale
  • Обновление полей ресурса с помощью kubectl_patch
  • Управление выкатыванием деплойментов с помощью kubectl_rollout
  • Выполнение любой команды kubectl с помощью kubectl_generic
  • Проверка подключения с помощью ping
  • [x] Расширенные операции
  • Масштабирование деплойментов с помощью kubectl_scale (заменяет устаревший scale_deployment)
  • Проброс портов к подам и сервисам с помощью port_forward
  • Выполнение операций с Helm
    • Установка, обновление и удаление чартов
    • Поддержка пользовательских значений, репозиториев и версий
    • Установка на основе шаблонов (helm_template_apply) для обхода проблем с аутентификацией
    • Удаление на основе шаблонов (helm_template_uninstall) для обхода проблем с аутентификацией
  • Операции по очистке подов
    • Очистка проблемных подов (cleanup_pods) в состояниях: Evicted, ContainerStatusUnknown, Completed, Error, ImagePullBackOff, CrashLoopBackOff
  • Операции управления узлами
    • Установка, снятие и проверка изоляции узлов (node_management) для операций обслуживания и масштабирования
  • [x] Промпт для устранения неполадок (k8s-diagnose)
  • Направляет через систематический процесс устранения неполадок Kubernetes для подов на основе ключевого слова и опционального пространства имен.
  • [x] Недеструктивный режим для доступа на чтение и только создания/обновления кластеров
  • [x] Маскирование секретов для безопасности (маскирует конфиденциальные данные в командах kubectl get secrets, не влияет на логи)
  • [x] Наблюдаемость OpenTelemetry (по желанию)
  • Распределенная трассировка для всех вызовов инструментов
  • Экспорт в Jaeger, Tempo, Grafana или любой другой OTLP-бэкенд
  • Настраиваемые стратегии выборки
  • Богатые атрибуты спана (имя инструмента, длительность, контекст K8s, ошибки)
  • Подробности см. в docs/OBSERVABILITY.md)

Наблюдаемость

MCP Kubernetes сервер включает опциональную интеграцию OpenTelemetry для комплексной наблюдаемости. Эта функция отключена по умолчанию и может быть включена с помощью переменных среды или конфигурации Helm.

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

Включите наблюдаемость с помощью переменных среды:

export ENABLE_TELEMETRY=true
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

npx mcp-server-kubernetes

Что отслеживается

  • Все вызовы инструментов: kubectl_get, kubectl_apply, kubectl_logs и т.д.
  • Длительность выполнения: сколько времени занимает каждая операция
  • Статус успеха/неудачи: автоматическое отслеживание ошибок
  • Контекст Kubernetes: пространство имен, контекст, тип ресурса
  • Богатые метаданные: хост, процесс, пользовательские атрибуты

Поддерживаемые бэкенды

Работает с любым совместимым OTLP-бэкендом: - Jaeger (с открытым исходным кодом) - Grafana Tempo (с открытым исходным кодом) - Grafana Cloud (коммерческий) - Datadog, New Relic, Honeycomb, Lightstep, AWS X-Ray

Конфигурация

См. docs/OBSERVABILITY.md) для полной документации, включая: - Варианты конфигурации - Примеры развёртывания (Kubernetes, Helm, Claude Code) - Стратегии выборки - Лучшие практики для продакшена - Руководство по устранению неполадок

Пример с Jaeger

# Запустите Jaeger
docker run -d --name jaeger \
  -e COLLECTOR_OTLP_ENABLED=true \
  -p 16686:16686 \
  -p 4317:4317 \
  jaegertracing/all-in-one:latest

# Включите телеметрию
export ENABLE_TELEMETRY=true
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
export OTEL_TRACES_SAMPLER=always_on

# Запустите сервер
npx mcp-server-kubernetes

# Просмотр трассировок: http://localhost:16686

Промпты

MCP Kubernetes сервер включает специализированные промпты для помощи в выполнении типовых диагностических операций.

Промпт /k8s-diagnose

Этот промпт предоставляет систематический процесс устранения неполадок для подов Kubernetes. Он принимает keyword для идентификации соответствующих подов и опциональный namespace для сужения области поиска. Результат промпта проведет вас через процесс самостоятельного устранения неполадок, предоставляя инструкции по выявлению проблем, сбору доказательств и предложениям по устранению.

Локальная разработка

Убедитесь, что у вас установлен bun. Клонируйте репозиторий и установите зависимости:

git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun install

Процесс разработки

  1. Запустите сервер в режиме разработки (отслеживает изменения файлов):
bun run dev
  1. Запустите модульные тесты:
bun run test
  1. Соберите проект:
bun run build
  1. Локальное тестирование с Inspector
npx @modelcontextprotocol/inspector node dist/index.js
# Следуйте дальнейшим инструкциям в терминале для ссылки на Inspector
  1. Локальное тестирование с Claude Desktop
{
  "mcpServers": {
    "mcp-server-kubernetes": {
      "command": "node",
      "args": ["/path/to/your/mcp-server-kubernetes/dist/index.js"]
    }
  }
}
  1. Локальное тестирование с mcp-chat
bun run chat

Участие в разработке

Подробности см. в файле CONTRIBUTING.md).

Продвинутое

Недеструктивный режим

Вы можете запустить сервер в недеструктивном режиме, который отключает все деструктивные операции (удаление подов, удаление деплойментов, удаление пространств имен и т.д.):

ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes

Для конфигурации Claude Desktop с недеструктивным режимом:

{
  "mcpServers": {
    "kubernetes-readonly": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"],
      "env": {
        "ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "true"
      }
    }
  }
}

Команды, доступные в недеструктивном режиме

Все операции только для чтения и создания/обновления ресурсов остаются доступными:

  • Информация о ресурсах: kubectl_get, kubectl_describe, kubectl_logs, explain_resource, list_api_resources
  • Создание/модификация ресурсов: kubectl_apply, kubectl_create, kubectl_scale, kubectl_patch, kubectl_rollout
  • Операции с Helm: install_helm_chart, upgrade_helm_chart, helm_template_apply, helm_template_uninstall
  • Подключение: port_forward, stop_port_forward
  • Управление контекстами: kubectl_context

Команды, отключенные в недеструктивном режиме

Следующие деструктивные операции отключены:

  • kubectl_delete: Удаление любых ресурсов Kubernetes
  • uninstall_helm_chart: Удаление чартов Helm
  • cleanup: Очистка управляемых ресурсов
  • cleanup_pods: Очистка проблемных подов
  • node_management: Операции управления узлами (может осушать узлы)
  • kubectl_generic: Общий доступ к командам kubectl (может включать деструктивные операции)

Для получения дополнительных продвинутых функций см. ADVANCED_README.md) и также папку docs для конкретной информации о helm_install, helm_template_apply, управлении узлами и очистке подов.

Архитектура

См. эту ссылку на DeepWiki для более глубокого обзора архитектуры, созданного Devin.

Этот раздел описывает архитектуру MCP Kubernetes сервера на высоком уровне.

Поток запросов

Диаграмма последовательности ниже иллюстрирует, как запросы проходят через систему:

sequenceDiagram
    participant Client
    participant Transport as Transport Layer
    participant Server as MCP Server
    participant Filter as Tool Filter
    participant Handler as Request Handler
    participant K8sManager as KubernetesManager
    participant K8s as Kubernetes API

    Note over Transport: StdioTransport или<br>SSE Transport

    Client->>Transport: Отправить запрос
    Transport->>Server: Переслать запрос

    alt Запрос инструментов
        Server->>Filter: Фильтровать доступные инструменты
        Note over Filter: Убрать деструктивные инструменты<br>в недеструктивном режиме
        Filter->>Handler: Маршрутизировать к обработчику инструментов

        alt Операции kubectl
            Handler->>K8sManager: Выполнить операцию kubectl
            K8sManager->>K8s: Выполнить вызов API
        else Операции Helm
            Handler->>K8sManager: Выполнить операцию Helm
            K8sManager->>K8s: Выполнить вызов API
        else Операции проброса портов
            Handler->>K8sManager: Настроить проброс портов
            K8sManager->>K8s: Выполнить вызов API
        end

        K8s-->>K8sManager: Вернуть результат
        K8sManager-->>Handler: Обработать ответ
        Handler-->>Server: Вернуть результат инструмента
    else Запрос ресурса
        Server->>Handler: Маршрутизировать к обработчику ресурсов
        Handler->>K8sManager: Получить данные ресурса
        K8sManager->>K8s: Запросить API
        K8s-->>K8sManager: Вернуть данные
        K8sManager-->>Handler: Отформатировать ответ
        Handler-->>Server: Вернуть данные ресурса
    end

    Server-->>Transport: Отправить ответ
    Transport-->>Client: Вернуть окончательный ответ

См. эту ссылку на DeepWiki для более глубокого обзора архитектуры, созданного Devin.

Публикация нового релиза

Перейдите на страницу релизов, нажмите "Draft New Release", нажмите "Choose a tag" и создайте новый тег, набрав новый номер версии в формате semver "v{major}.{minor}.{patch}". Затем напишите заголовок релиза "Release v{major}.{minor}.{patch}" и описание / журнал изменений, если необходимо, и нажмите "Publish Release".

Это создаст новый тег, который запустит сборку нового релиза через рабочий процесс cd.yml. После успешного завершения новый релиз будет опубликован в npm. Обратите внимание, что нет необходимости обновлять версию в package.json вручную, поскольку рабочий процесс автоматически обновит номер версии в файле package.json и отправит коммит в main.

Не запланировано

Добавление кластеров в kubectx.

История звёзд

График истории звёзд

🖊️ Цитирование

Если вы нашли этот репозиторий полезным, пожалуйста, процитируйте:

@software{Patel_MCP_Server_Kubernetes_2024,
author = {Patel, Paras and Sonwalkar, Suyog},
month = jul,
title = {{MCP Server Kubernetes}},
url = {https://github.com/Flux159/mcp-server-kubernetes},
version = {2.5.0},
year = {2024}
}
Комментарии
Войдите, чтобы оставить комментарий