mcp-server-kubernetes

by Flux159 (community) · Claude Desktop, Kubernetes + kubectl

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

MCP-сервер для управления Kubernetes-кластером. Читает и управляет подами, деплойментами, сервисами и логами — используя kubeconfig текущего пользователя. Возможности: - `list_pods` / `get_pod` — просмотр подов по namespace - `list_deployments` / `scale_deployment` — управление деплойментами - `get_pod_logs` — получение логов контейнера - `exec_command` — выполнение команды внутри пода - `list_services` / `list_namespaces` - `apply_manifest` — применение YAML-манифеста - `delete_resource` — удаление любого ресурса

v3.9.2
22.06.2026 current
Добавлен 18.06.2026 · Обновлён 18.06.2026 · MCP Servers
Установка
# npm install -g mcp-server-kubernetes
# Использует ~/.kube/config автоматически

# Claude Desktop — claude_desktop_config.json:
{
  "mcpServers": {
    "kubernetes": {
      "command": "mcp-server-kubernetes"
    }
  }
}

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

# OpenCode — ~/.config/opencode/opencode.json:
{
  "mcp": {
    "kubernetes": {
      "type": "local",
      "command": ["mcp-server-kubernetes"]
    }
  }
}
переведено ИИ

MCP Сервер Kubernetes

CI Language Bun Kubernetes Docker Stars Issues PRs Welcome Last Commit Trust Score Ask DeepWiki

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

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

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

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

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

  1. Установленный и доступный в вашем PATH kubectl
  2. Валидный файл kubeconfig с настроенными контекстами
  3. Доступ к кластеру Kubernetes, настроенному для kubectl (например, minikube, Rancher Desktop, GKE и т.д.)
  4. Установленный и доступный в вашем PATH Helm v3 (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, перейдя в последний Релиз и скачав его.

VS Code

Install Kubernetes MCP in 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-серверы через свою AI-интеграцию. Добавьте сервер в конфигурацию MCP для Cursor:

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

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

Использование с 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

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

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

Пример с 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 Транспортный слой
    participant Server as MCP Сервер
    participant Filter as Фильтр инструментов
    participant Handler as Обработчик запросов
    participant K8sManager as KubernetesManager
    participant K8s as API Kubernetes

    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.

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

Перейдите на страницу релизов, нажмите «Черновик нового релиза», нажмите «Выбрать тег» и создайте новый тег, набрав новый номер версии в формате «v{major}.{minor}.{patch}» (семантическое версионирование). Затем напишите заголовок релиза «Release v{major}.{minor}.{patch}» и описание / журнал изменений, если необходимо, и нажмите «Опубликовать релиз».

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

Не в планах

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

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

Star History Chart

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

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

@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}
}
Комментарии
Войдите, чтобы оставить комментарий