Skip to main content
Glama

kubernetes-mcp-server

MCP-сервер Kubernetes

✨ Функции | 🚀 Начало работы | 🎥 Демонстрации | ⚙️ Конфигурация | 🛠️ Инструменты | 🧑‍💻 Разработка

https://github.com/user-attachments/assets/be2b67b3-fc1c-4d11-ae46-93deba8ed98e

✨ Особенности

Мощная и гибкая реализация сервера Kubernetes Model Context Protocol (MCP) с поддержкой Kubernetes и OpenShift .

  • ✅ Конфигурация :
    • Автоматически обнаруживайте изменения в конфигурации Kubernetes и обновляйте сервер MCP.
    • Просмотр и управление текущей конфигурацией Kubernetes .kube/config или внутрикластерной конфигурацией.
  • ✅ Универсальные ресурсы Kubernetes : выполнение операций на любом ресурсе Kubernetes или OpenShift.
    • Любая CRUD-операция (создание или обновление, получение, вывод списка, удаление).
  • ✅ Поды : выполнение операций, специфичных для подов.
    • Вывести список модулей во всех пространствах имен или в определенном пространстве имен.
    • Получить модуль по имени из указанного пространства имен.
    • Удалить модуль по имени из указанного пространства имен.
    • Показать журналы для модуля по имени из указанного пространства имен.
    • Войдите в модуль и выполните команду.
    • Запустите образ контейнера в модуле и при необходимости опубликуйте его.
  • ✅ Пространства имен : список пространств имен Kubernetes.
  • ✅ События : просмотр событий Kubernetes во всех пространствах имен или в определенном пространстве имен.
  • ✅ Проекты : список проектов OpenShift.
  • ☸️ Шлем :
    • Установите диаграмму Helm в текущем или предоставленном пространстве имен.
    • Вывод списка релизов Helm во всех пространствах имен или в определенном пространстве имен.
    • Удалить выпуск Helm в текущем или предоставленном пространстве имен.

В отличие от других реализаций сервера Kubernetes MCP, это НЕ просто оболочка вокруг инструментов командной строки kubectl или helm . Это собственная реализация на основе Go, которая напрямую взаимодействует с сервером API Kubernetes.

НЕТ НЕОБХОДИМОСТИ устанавливать внешние зависимости или инструменты в системе. Если вы используете собственные двоичные файлы, вам не нужно устанавливать Node или Python в вашей системе.

  • ✅ Легковесность : сервер распространяется как единый двоичный файл для Linux, macOS и Windows.
  • ✅ Высокая производительность/низкая задержка : напрямую взаимодействует с сервером API Kubernetes без накладных расходов на вызов и ожидание внешних команд.
  • ✅ Кроссплатформенность : доступен в виде собственного двоичного файла для Linux, macOS и Windows, а также в виде пакета npm, пакета Python и образа контейнера/Docker.
  • ✅ Настраиваемость : поддерживает аргументы командной строки для настройки поведения сервера.
  • ✅ Тщательно протестировано : сервер имеет обширный набор тестов, гарантирующий его надежность и корректность в различных средах Kubernetes.

🚀 Начало работы

Требования

  • Доступ к кластеру Kubernetes.

Клод Десктоп

Использование npx

Если у вас установлен npm, это самый быстрый способ начать работу с kubernetes-mcp-server на Claude Desktop.

Откройте claude_desktop_config.json и добавьте сервер mcp в список mcpServers :

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

VS Code / Инсайдеры VS Code

Установите расширение сервера Kubernetes MCP в VS Code Insiders, нажав на следующую ссылку:

Кроме того, вы можете установить расширение вручную, выполнив следующую команду:

# For VS Code code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}' # For VS Code Insiders code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'

Гусь CLI

Goose CLI — самый простой (и дешевый) способ начать работу с агентами искусственного интеллекта (ИИ).

Использование npm

Если у вас установлен npm, это самый быстрый способ начать работу с kubernetes-mcp-server .

Откройте файл goose config.yaml и добавьте сервер mcp в список mcpServers :

extensions: kubernetes: command: npx args: - -y - kubernetes-mcp-server@latest

🎥 Демоверсии

Диагностика и автоматическое исправление развертывания OpenShift

Демонстрация того, как сервер Kubernetes MCP используется Claude Desktop для автоматической диагностики и исправления развертывания в OpenShift без какой-либо помощи пользователя.

https://github.com/user-attachments/assets/a576176d-a142-4c19-b9aa-a83dc4b8d941

Vibe Кодирование простой игры и ее развертывание в OpenShift

В этой демонстрации я покажу вам процесс Vibe-кодирования простой игры с использованием VS Code и то, как использовать сервер Podman MCP и сервер Kubernetes MCP для ее развертывания в OpenShift.

Ускорьте работу GitHub Copilot с сервером Kubernetes MCP в VS Code — настройка в один клик!

В этой демонстрации я покажу вам, как настроить сервер Kubernetes MCP в VS Code, просто нажав на ссылку.

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

Сервер Kubernetes MCP можно настроить с помощью аргументов командной строки (CLI).

Вы можете запустить исполняемый файл CLI, используя npx , uvx или загрузив последнюю версию двоичного файла .

# Run the Kubernetes MCP server using npx (in case you have npm and node installed) npx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using uvx (in case you have uv and python installed) uvx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using the latest release binary ./kubernetes-mcp-server --help

Параметры конфигурации

ВариантОписание
--sse-portЗапускает сервер MCP в режиме Server-Sent Event (SSE) и прослушивает указанный порт.
--log-levelУстанавливает уровень ведения журнала (значения от 0 до 9 ). Аналогично уровням ведения журнала kubectl .
--kubeconfigПуть к файлу конфигурации Kubernetes. Если не указан, будет предпринята попытка разрешить конфигурацию (в кластере, расположение по умолчанию и т. д.).
--read-onlyЕсли установлено, сервер MCP будет работать в режиме только для чтения, то есть он не будет разрешать никаких операций записи (создание, обновление, удаление) в кластере Kubernetes. Это полезно для отладки или проверки кластера без внесения изменений.
--disable-destructiveЕсли установлено, сервер MCP отключит все деструктивные операции (удаление, обновление и т. д.) в кластере Kubernetes. Это полезно для отладки или проверки кластера без случайного внесения изменений. Эта опция не действует, если используется --read-only .

🛠️ Инструменты

configuration_view

Получите текущее содержимое конфигурации Kubernetes в виде YAML-файла kubeconfig

Параметры:

  • minified ( boolean , необязательный, по умолчанию: true )
    • Верните уменьшенную версию конфигурации.
    • Если true , сохраняет только текущий контекст и соответствующие части конфигурации.
    • Если false , возвращает все контексты, кластеры, информацию об аутентификации и пользователей.

events_list

Перечислите все события Kubernetes в текущем кластере из всех пространств имен.

Параметры:

  • namespace ( string , необязательно)
    • Пространство имен для извлечения событий. Если не указано, будут выведены события из всех пространств имен

helm_install

Установить Helm-чарт в текущем или указанном пространстве имен с указанным именем и чартом.

Параметры:

  • chart ( string , обязательно)
    • Название устанавливаемой диаграммы Helm
    • Может быть локальным путем или удаленным URL-адресом.
    • Пример: ./my-chart.tgz или https://example.com/my-chart.tgz
  • values ( object , необязательно)
    • Значения для передачи в диаграмму Helm
    • Пример: {"key": "value"}
  • name ( string , необязательно)
    • Название релиза Helm
    • Случайное имя, если не указано
  • namespace ( string , необязательно)
    • Пространство имен для установки чарта Helm
    • Если не указано, будет использоваться настроенное пространство имен.

helm_list

Перечислите все выпуски Helm в текущем или указанном пространстве имен (или во всех пространствах имен, если указано)

Параметры:

  • namespace ( string , необязательно)
    • Пространство имен для списка релизов Helm
    • Если не указано, будет использоваться настроенное пространство имен.
  • all_namespaces ( boolean , необязательно)
    • Если true , выведет список релизов Helm из всех пространств имен
    • Если false , выведет список релизов Helm из указанного пространства имен.

helm_uninstall

Удалить выпуск Helm в текущем или предоставленном пространстве имен с предоставленным именем

Параметры:

  • name ( string , обязательно)
    • Название версии Helm для удаления
  • namespace ( string , необязательно)
    • Пространство имен для удаления релиза Helm
    • Если не указано, будет использоваться настроенное пространство имен.

namespaces_list

Перечислите все пространства имен Kubernetes в текущем кластере

Параметры: Нет

pods_delete

Удалить модуль Kubernetes в текущем или предоставленном пространстве имен с предоставленным именем

Параметры:

  • name ( string , обязательно)
    • Имя удаляемого модуля
  • namespace ( string , обязательно)
    • Пространство имен, из которого нужно удалить Pod

pods_exec

Выполнить команду в модуле Kubernetes в текущем или указанном пространстве имен с указанным именем и командой

Параметры:

  • command ( string[] , обязательно)
    • Команда для выполнения в контейнере Pod
    • Первый элемент — команда, остальные — аргументы.
    • Пример: ["ls", "-l", "/tmp"]
  • name (строка, обязательно)
    • Название стручка
  • namespace (строка, обязательно)
    • Пространство имен Pod
  • container ( string , необязательно)
    • Имя контейнера Pod, из которого нужно получить журналы

pods_get

Получить Kubernetes Pod в текущем или предоставленном пространстве имен с предоставленным именем

Параметры:

  • name ( string , обязательно)
    • Название стручка
  • namespace ( string , обязательно)
    • Пространство имен, из которого нужно получить Pod

pods_list

Перечислите все модули Kubernetes в текущем кластере из всех пространств имен.

Параметры:

  • labelSelector ( string , необязательно)
    • Селектор меток Kubernetes (например, 'app=myapp,env=prod' или 'app in (myapp,yourapp)'). Используйте эту опцию для фильтрации модулей по метке

pods_list_in_namespace

Перечислить все модули Kubernetes в указанном пространстве имен в текущем кластере.

Параметры:

  • namespace ( string , обязательно)
    • Пространство имен для перечисления модулей
  • labelSelector ( string , необязательно)
    • Селектор меток Kubernetes (например, 'app=myapp,env=prod' или 'app in (myapp,yourapp)'). Используйте эту опцию для фильтрации модулей по метке

pods_log

Получить журналы Kubernetes Pod в текущем или указанном пространстве имен с указанным именем

Параметры:

  • name ( string , обязательно)
    • Имя Pod, из которого нужно получить логи
  • namespace ( string , обязательно)
    • Пространство имен, из которого нужно получить журналы Pod
  • container ( string , необязательно)
    • Имя контейнера Pod, из которого нужно получить журналы

pods_run

Запустите Kubernetes Pod в текущем или предоставленном пространстве имен с предоставленным образом контейнера и необязательным именем.

Параметры:

  • image ( string , обязательно)
    • Образ контейнера для запуска в Pod
  • namespace ( string , обязательно)
    • Пространство имен для запуска Pod
  • name ( string , необязательно)
    • Название Pod (произвольное название, если не указано)
  • port ( number , необязательно)
    • Порт TCP/IP для предоставления из контейнера Pod
    • Если порт не предусмотрен, он не отображается

projects_list

Список всех проектов OpenShift в текущем кластере

resources_create_or_update

Создайте или обновите ресурс Kubernetes в текущем кластере, предоставив YAML- или JSON-представление ресурса.

Параметры:

  • resource ( string , обязательно)
    • JSON или YAML, содержащий представление ресурса Kubernetes.
    • Должны включать поля верхнего уровня, такие как apiVersion, kind, metadata и spec

Распространенные apiVersion и kind включают в себя:

  • Модуль v1
  • v1 Сервис
  • Узел v1
  • Развертывание apps/v1
  • networking.k8s.io/v1 Вход

resources_delete

Удалить ресурс Kubernetes в текущем кластере

Параметры:

  • apiVersion ( string , обязательно)
    • apiVersion ресурса (например, v1 , apps/v1 , networking.k8s.io/v1 )
  • kind ( string , обязательно)
    • тип ресурса (например, Pod , Service , Deployment , Ingress )
  • name ( string , обязательно)
    • Название ресурса
  • namespace ( string , необязательно)
    • Пространство имен, из которого необходимо удалить ресурс пространства имен
    • Игнорируется для ресурсов кластера
    • Использует настроенное пространство имен, если не указано иное

resources_get

Получить ресурс Kubernetes в текущем кластере

Параметры:

  • apiVersion ( string , обязательно)
    • apiVersion ресурса (например, v1 , apps/v1 , networking.k8s.io/v1 )
  • kind ( string , обязательно)
    • тип ресурса (например, Pod , Service , Deployment , Ingress )
  • name ( string , обязательно)
    • Название ресурса
  • namespace ( string , необязательно)
    • Пространство имен для извлечения ресурса пространства имен
    • Игнорируется для ресурсов кластера
    • Использует настроенное пространство имен, если не указано иное

resources_list

Список ресурсов и объектов Kubernetes в текущем кластере

Параметры:

  • apiVersion ( string , обязательно)
    • apiVersion ресурсов (например, v1 , apps/v1 , networking.k8s.io/v1 )
  • kind ( string , обязательно)
    • тип ресурсов (например, Pod , Service , Deployment , Ingress )
  • namespace ( string , необязательно)
    • Пространство имен для извлечения ресурсов пространства имен
    • Игнорируется для ресурсов кластера
    • Перечисляет ресурсы из всех пространств имен, если они не указаны
  • labelSelector ( string , необязательно)
    • Селектор меток Kubernetes (например, 'app=myapp,env=prod' или 'app in (myapp,yourapp)'). Используйте эту опцию для фильтрации модулей по метке.

🧑‍💻 Разработка

Работает с mcp-inspector

Скомпилируйте проект и запустите сервер Kubernetes MCP с помощью mcp-inspector для проверки сервера MCP.

# Compile the project make build # Run the Kubernetes MCP server with mcp-inspector npx @modelcontextprotocol/inspector@latest $(pwd)/kubernetes-mcp-server

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    This project is intended as a both MCP server connecting to Kubernetes and a library to build more servers for any custom resources in Kubernetes.
    Last updated -
    279
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Provides MCP multi-cluster Kubernetes management and operations, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
    Last updated -
    494
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Provides MCP multi-cluster Kubernetes management and operations. It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
    Last updated -
    116
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Open source MCP server specializing in easy, fast, and secure tools for Databases.
    Last updated -
    1,462
    Go
    Apache 2.0
    • Linux

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/manusa/kubernetes-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server