Skip to main content
Glama

Инструмент Kubectl MCP

Сервер протокола контекста модели (MCP) для Kubernetes, который позволяет помощникам на основе искусственного интеллекта, таким как Claude, Cursor и другим, взаимодействовать с кластерами Kubernetes с помощью естественного языка.

Лицензия: Массачусетский технологический институт Питон Кубернетес МКП PyPI-версия

🎥 Демонстрация в реальном времени — посмотрите kubectl-mcp-tool в действии с Клодом!

Клод MCP

Related MCP server: MCP Toolkit

🎥 Демонстрация в реальном времени — посмотрите, как работает kubectl-mcp-tool с курсором!

Курсор МКП

🎥 Демонстрация в реальном времени — посмотрите, как kubectl-mcp-tool работает с Windsurf!

Виндсерфинг MCP

Функции

Основные операции Kubernetes

  • [x] Подключиться к кластеру Kubernetes

  • [x] Список и управление модулями, службами, развертываниями и узлами

  • [x] Создание, удаление и описание модулей и других ресурсов

  • [x] Получить журналы пода и события Kubernetes

  • [x] Поддержка операций Helm v3 (установка, обновления, удаление)

  • [x] kubectl объясняет и поддерживает api-resources

  • [x] Выберите пространство имен для следующих команд (сохранение памяти)

  • [x] Перенести порт на модули

  • [x] Масштабирование развертываний и statefulsets

  • [x] Выполнение команд в контейнерах

  • [x] Управление ConfigMap и секретами

  • [x] Откат развертываний к предыдущим версиям

  • [x] Управление входящими и сетевыми политиками

  • [x] Переключение контекста между кластерами

Обработка естественного языка

  • [x] Обработка запросов на естественном языке для операций kubectl

  • [x] Контекстно-зависимые команды с памятью предыдущих операций

  • [x] Понятные объяснения концепций Kubernetes

  • [x] Интеллектуальное построение команды из намерения

  • [x] Возврат к kubectl, когда специализированные инструменты недоступны

  • [x] Поддержка фиктивных данных для офлайн/тестовых сценариев

  • [x] Обработка запросов с учетом пространства имен

Мониторинг

  • [x] Мониторинг состояния кластера

  • [x] Отслеживание использования ресурсов

  • [x] Состояние и проверка работоспособности Pod

  • [x] Мониторинг событий и оповещение

  • [x] Анализ пропускной способности и распределения узлов

  • [x] Отслеживание исторических показателей

  • [x] Статистика использования ресурсов через kubectl top

  • [x] Отслеживание готовности и жизнеспособности контейнера

Безопасность

  • [x] Проверка и верификация RBAC

  • [x] Аудит контекста безопасности

  • [x] Безопасные соединения с API Kubernetes

  • [x] Управление учетными данными

  • [x] Оценка сетевой политики

  • [x] Сканирование безопасности контейнеров

  • [x] Обеспечение соблюдения лучших практик безопасности

  • [x] Роль и кластерУправление ролями

  • [x] Создание и привязка ServiceAccount

  • [x] Анализ PodSecurityPolicy

  • [x] Аудит разрешений RBAC

  • [x] Проверка контекста безопасности

Диагностика

  • [x] Диагностика кластера и устранение неполадок

  • [x] Проверка конфигурации

  • [x] Анализ ошибок и предложения по восстановлению

  • [x] Мониторинг состояния соединения

  • [x] Анализ журналов и обнаружение закономерностей

  • [x] Идентификация ограничений ресурсов

  • [x] Диагностика проверки работоспособности Pod

  • [x] Распознавание типичных ошибок

  • [x] Проверка ресурсов на наличие неправильных конфигураций

  • [x] Подробная проверка жизнеспособности и готовности зонда

Расширенные функции

  • [x] Поддержка нескольких транспортных протоколов (stdio, SSE)

  • [x] Интеграция с несколькими помощниками на основе искусственного интеллекта

  • [x] Расширяемая структура инструментов

  • [x] Поддержка определения пользовательских ресурсов

  • [x] Операции между пространствами имен

  • [x] Пакетные операции над несколькими ресурсами

  • [x] Интеллектуальное отображение взаимосвязей ресурсов

  • [x] Объяснение ошибки с предложениями по восстановлению

  • [x] Управление громкостью и идентификация

Архитектура

Интеграция протокола контекста модели (MCP)

Инструмент Kubectl MCP реализует протокол контекста модели (MCP) , позволяя помощникам ИИ взаимодействовать с кластерами Kubernetes через стандартизированный интерфейс. Архитектура состоит из:

  1. Сервер MCP : совместимый сервер, который обрабатывает запросы от клиентов MCP (помощников на основе искусственного интеллекта)

  2. Реестр инструментов : регистрирует операции Kubernetes как инструменты MCP со схемами.

  3. Транспортный уровень : поддерживает методы транспорта stdio, SSE и HTTP.

  4. Основные операции : преобразует вызовы инструментов в операции API Kubernetes.

  5. Форматировщик ответов : преобразует ответы Kubernetes в ответы, совместимые с MCP.

Запрос потока

Запрос потока

Двойной режим работы

Инструмент работает в двух режимах:

  1. Режим CLI : прямой интерфейс командной строки для выполнения операций Kubernetes.

  2. Режим сервера : работает как сервер MCP для обработки запросов от помощников на основе искусственного интеллекта.

Установка

Подробные инструкции по установке смотрите в Руководстве по установке .

Установить kubectl-mcp-tool можно непосредственно из PyPI:

pip install kubectl-mcp-tool

Для конкретной версии:

pip install kubectl-mcp-tool==1.1.1

Пакет доступен на PyPI: https://pypi.org/project/kubectl-mcp-tool/1.1.1/

Предпосылки

  • Питон 3.9+

  • установлен и настроен kubectl CLI

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

  • pip (менеджер пакетов Python)

Глобальная установка

# Install latest version from PyPI pip install kubectl-mcp-tool # Or install development version from GitHub pip install git+https://github.com/rohitg00/kubectl-mcp-server.git

Установка локального развития

# Clone the repository git clone https://github.com/rohitg00/kubectl-mcp-server.git cd kubectl-mcp-server # Install in development mode pip install -e .

Проверка установки

После установки проверьте правильность работы инструмента:

# Check CLI mode kubectl-mcp --help

Примечание: этот инструмент предназначен для работы в качестве сервера MCP, к которому подключаются помощники AI, а не как прямая замена kubectl. Основная доступная команда — kubectl-mcp serve , которая запускает сервер MCP.

Использование с помощниками на основе искусственного интеллекта

Использование MCP-сервера

MCP-сервер ( kubectl_mcp_tool.mcp_server ) — это надежная реализация, созданная на основе FastMCP SDK, которая обеспечивает улучшенную совместимость с различными помощниками на основе искусственного интеллекта:

Примечание : Если вы столкнетесь с какими-либо ошибками в реализации MCP Server, вы можете вернуться к использованию минимальной оболочки, заменив kubectl_mcp_tool.mcp_server на kubectl_mcp_tool.minimal_wrapper в вашей конфигурации. Минимальная оболочка обеспечивает базовые возможности с более простой реализацией.

  1. Прямая конфигурация

    { "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.mcp_server"], "env": { "KUBECONFIG": "/path/to/your/.kube/config", "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", "MCP_LOG_FILE": "/path/to/logs/debug.log", "MCP_DEBUG": "1" } } } }
  2. Ключевые переменные среды

    • MCP_LOG_FILE : Путь к файлу журнала (рекомендуется для предотвращения засорения stdout)

    • MCP_DEBUG : установите значение «1» для подробного ведения журнала.

    • MCP_TEST_MOCK_MODE : установите значение «1», чтобы использовать фиктивные данные вместо реального кластера.

    • KUBECONFIG : Путь к файлу конфигурации Kubernetes

    • KUBECTL_MCP_LOG_LEVEL : Установите значение «DEBUG», «INFO», «WARNING» или «ERROR»

  3. Тестирование сервера MCP Вы можете проверить правильность работы сервера с помощью:

    python -m kubectl_mcp_tool.simple_ping

    Будет предпринята попытка подключиться к серверу и выполнить команду ping.

    Кроме того, вы можете напрямую запустить сервер с помощью:

    python -m kubectl_mcp_tool

Клод Десктоп

Добавьте следующее в конфигурацию Claude Desktop в ~/.config/claude/mcp.json (Windows: %APPDATA%\Claude\mcp.json ):

{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.mcp_server"], "env": { "KUBECONFIG": "/path/to/your/.kube/config" } } } }

Курсор ИИ

Добавьте следующее в настройки Cursor AI в MCP, добавив новый глобальный сервер MCP:

{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.mcp_server"], "env": { "KUBECONFIG": "/path/to/your/.kube/config", "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin" } } } }

Сохраните эту конфигурацию в ~/.cursor/mcp.json для глобальных настроек.

Примечание : замените /path/to/your/.kube/config на фактический путь к вашему файлу kubeconfig. В большинстве систем это ~/.kube/config .

Виндсерфинг

Добавьте следующее в конфигурацию Windsurf в ~/.config/windsurf/mcp.json (Windows: %APPDATA%\WindSurf\mcp.json ):

{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.mcp_server"], "env": { "KUBECONFIG": "/path/to/your/.kube/config" } } } }

Автоматическая конфигурация

Для автоматической настройки всех поддерживаемых ИИ-помощников запустите предоставленный скрипт установки:

bash install.sh

Этот скрипт:

  1. Установите необходимые зависимости

  2. Создайте файлы конфигурации для Claude, Cursor и WindSurf

  3. Настройте правильные пути и переменные среды

  4. Проверьте свое подключение Kubernetes

Предпосылки

  1. kubectl установлен и находится в вашем PATH

  2. Действительный файл kubeconfig

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

  4. Helm v3 (опционально, для операций Helm)

Примеры

Список стручков

List all pods in the default namespace

Развернуть приложение

Create a deployment named nginx-test with 3 replicas using the nginx:latest image

Проверьте журналы Pod

Get logs from the nginx-test pod

Переадресация портов

Forward local port 8080 to port 80 on the nginx-test pod

Разработка

# Clone the repository git clone https://github.com/rohitg00/kubectl-mcp-server.git cd kubectl-mcp-server # Install dependencies pip install -r requirements.txt # Install in development mode pip install -e . # Run the MCP server python -m kubectl_mcp_tool # Run tests python -m python_tests.run_mcp_tests

Структура проекта

├── kubectl_mcp_tool/ # Main package │ ├── __init__.py # Package initialization │ ├── __main__.py # Package entry point │ ├── cli.py # CLI entry point │ ├── mcp_server.py # MCP server implementation │ ├── mcp_kubectl_tool.py # Main kubectl MCP tool implementation │ ├── natural_language.py # Natural language processing │ ├── diagnostics.py # Diagnostics functionality │ ├── core/ # Core functionality │ ├── security/ # Security operations │ ├── monitoring/ # Monitoring functionality │ ├── utils/ # Utility functions │ └── cli/ # CLI functionality components ├── python_tests/ # Test suite │ ├── run_mcp_tests.py # Test runner script │ ├── mcp_client_simulator.py # MCP client simulator for mock testing │ ├── test_utils.py # Test utilities │ ├── test_mcp_core.py # Core MCP tests │ ├── test_mcp_security.py # Security tests │ ├── test_mcp_monitoring.py # Monitoring tests │ ├── test_mcp_nlp.py # Natural language tests │ ├── test_mcp_diagnostics.py # Diagnostics tests │ └── mcp_test_strategy.md # Test strategy documentation ├── docs/ # Documentation │ ├── README.md # Documentation overview │ ├── INSTALLATION.md # Installation guide │ ├── integration_guide.md # Integration guide │ ├── cursor/ # Cursor integration docs │ ├── windsurf/ # Windsurf integration docs │ └── claude/ # Claude integration docs ├── compatible_servers/ # Compatible MCP server implementations │ ├── cursor/ # Cursor-compatible servers │ ├── windsurf/ # Windsurf-compatible servers │ ├── minimal/ # Minimal server implementations │ └── generic/ # Generic MCP servers ├── requirements.txt # Python dependencies ├── setup.py # Package setup script ├── pyproject.toml # Project configuration ├── MANIFEST.in # Package manifest ├── mcp_config.json # Sample MCP configuration ├── run_server.py # Server runner script ├── LICENSE # MIT License ├── CHANGELOG.md # Version history ├── .gitignore # Git ignore file ├── install.sh # Installation script ├── publish.sh # PyPI publishing script └── start_mcp_server.sh # Server startup script

Инструменты сервера MCP

Реализация MCP Server ( kubectl_mcp_tool.mcp_server ) предоставляет полный набор из 26 инструментов, которые могут использоваться помощниками ИИ для взаимодействия с кластерами Kubernetes:

Управление основными ресурсами Kubernetes

  • get_pods — Получить все модули в указанном пространстве имен

  • get_namespaces — Получить все пространства имен Kubernetes

  • get_services — Получить все службы в указанном пространстве имен

  • get_nodes — Получить все узлы в кластере

  • get_configmaps — получить все ConfigMaps в указанном пространстве имен

  • get_secrets — Получить все секреты в указанном пространстве имен

  • get_deployments — Получить все развертывания в указанном пространстве имен

  • create_deployment — Создать новое развертывание

  • delete_resource — удалить ресурс Kubernetes

  • get_api_resources — список ресурсов API Kubernetes

  • kubectl_explain — Объясните ресурс Kubernetes с помощью kubectl Explain

Операции рулевого управления

  • install_helm_chart — Установка диаграммы Helm

  • upgrade_helm_chart — обновление версии Helm

  • uninstall_helm_chart — удаление версии Helm

Операции по обеспечению безопасности

  • get_rbac_roles — Получить все роли RBAC в указанном пространстве имен

  • get_cluster_roles — Получить все роли RBAC кластера

Мониторинг и диагностика

  • get_events — Получить все события в указанном пространстве имен

  • get_resource_usage — Получить статистику использования ресурсов через kubectl top

  • health_check — проверка работоспособности кластера путем отправки ping-запроса на сервер API

  • get_pod_events — Получить события для определенного модуля

  • check_pod_health — проверка состояния работоспособности модуля

  • get_logs — Получить логи из модуля

Управление кластером

  • switch_context — переключение текущего контекста kubeconfig

  • get_current_context — Получить текущий контекст kubeconfig

  • port_forward — переадресация локального порта на порт модуля

  • scale_deployment — Масштабировать развертывание

Все инструменты возвращают структурированные данные с информацией об успешном выполнении/ошибке и соответствующими подробностями, что упрощает обработку и понимание ответов помощниками на основе искусственного интеллекта.

Внося вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

  1. Форк репозитория

  2. Создайте ветку функций ( git checkout -b feature/amazing-feature )

  3. Зафиксируйте свои изменения ( git commit -m 'Add some amazing feature' )

  4. Отправить в ветку ( git push origin feature/amazing-feature )

  5. Открыть запрос на извлечение

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/rohitg00/kubectl-mcp-server'

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