kubectl-mcp
kubectl-mcp
Сервер MCP (Model Context Protocol), который позволяет ИИ-агентам инспектировать кластеры Kubernetes на простом английском — спросите "какие поды перезапускались за последний час?" и получите реальный ответ.
Создано Терезой Тран.
Зачем
LLM-ассистенты отлично объясняют команды kubectl и ужасно справляются с их безопасным выполнением. kubectl-mcp предоставляет инспекцию кластера в режиме только для чтения как набор MCP-инструментов, которые агент может вызывать — превращая «проверь мой кластер» из копипасты с надеждой в настоящий диалог.
Только чтение по дизайну. Никаких
apply,deleteилиexec. Сервер только инспектирует.Режим моков по умолчанию. Поставляется с предзаполненным фейковым кластером, так что вы можете попробовать его за 30 секунд без реального кластера.
Реальный режим, когда готовы. Укажите ваш
KUBECONFIG— и он запросит живой кластер через официальный Python-клиент Kubernetes.
Related MCP server: mcp-k8s-context-server
Установка
pip install kubectl-mcp # mock mode (default)
pip install "kubectl-mcp[real]" # + real-cluster support (kubernetes client)Или из исходников:
git clone https://github.com/teresa-tran/kubectl-mcp.git
cd kubectl-mcp
pip install -e ".[real,dev]"Запуск в автономном режиме (проверка работоспособности)
kubectl-mcp --help # show flags
kubectl-mcp --list-tools # print every MCP tool + its schema
kubectl-mcp --demo list_pods # run a tool once against the mock cluster
kubectl-mcp --demo find_restarted_pods --arg since_minutes=120Подключение к MCP-клиенту
Claude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json (mac) или %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"kubectl": {
"command": "kubectl-mcp"
}
}
}Для режима реального кластера:
{
"mcpServers": {
"kubectl": {
"command": "kubectl-mcp",
"env": {
"KUBECTL_MCP_MODE": "real",
"KUBECONFIG": "/Users/you/.kube/config"
}
}
}
}Перезапустите Claude Desktop. Теперь вы можете спросить "перечисли поды в namespace production" и получить реальный ответ.
Другие MCP-совместимые клиенты
Любой клиент, поддерживающий stdio MCP (Cursor, Cline, Continue, кастомные агенты), работает так же — укажите ему на бинарник kubectl-mcp.
Доступные инструменты
Инструмент | Что делает |
| Все namespace в кластере |
| Поды в namespace, с фазой и количеством перезапусков |
| Полная информация об одном поде (контейнеры, статусы, события) |
| Деплойменты в namespace, с готовыми/желаемыми репликами |
| Полная информация об одном деплойменте |
| Сервисы в namespace, с типом и эндпоинтами |
| События за последние N минут, сначала самые свежие |
| Последние N строк логов пода (только чтение, без |
| Поды, перезапускавшиеся за последние N минут (высокоуровневый запрос) |
Каждый инструмент имеет JSON Schema — LLM получают корректную валидацию аргументов бесплатно.
Конфигурация
Переменные окружения:
Переменная | Значения | По умолчанию | Что делает |
|
|
| Бэкенд кластера |
| путь |
| Путь к kubeconfig в реальном режиме |
| путь | (встроенный) | Переопределить JSON мок-кластера |
|
|
| Подробность логов в stderr |
Мок-кластер
Мок-кластер по умолчанию поставляется в src/kubectl_mcp/mock_data.json и включает:
3 namespace:
default,production,staging~15 подов в состояниях healthy, crashlooping и недавно перезапущенных
Деплойменты, сервисы и поток недавних событий
Некоторые поды имеют количество перезапусков > 0, так что
find_restarted_podsвозвращает реальные результаты
Вы можете переопределить его, установив KUBECTL_MCP_MOCK_DATA=/path/to/your.json, если хотите продемонстрировать конкретный сценарий.
Заметки по дизайну
Только чтение по построению. Протокол
KubernetesBackendопределяет только методы чтения. Нет пути кода, который мог бы изменить состояние кластера — даже в реальном режиме.Бэкенд заменяемый.
MockBackendиRealBackendреализуют один и тот же протокол. Добавление третьего (например, кэшированного снимка) — это один файл.Ошибки — это исключения, а не тихие null.
ResourceNotFound,NamespaceNotFoundи т.д. распространяются какMcpErrorс полезными сообщениями, чтобы агент мог скорректировать курс.Транспорт stdio. Все вызовы MCP-инструментов — это JSON-RPC через stdio, точно соответствующий спецификации MCP.
Разработка
pip install -e ".[real,dev]"
pytest # run tests
ruff check src tests # lint
kubectl-mcp --demo list_pods --arg namespace=production # smoke testПланы
Мок-бэкенд с предзаполненными данными
Реальный бэкенд через Python-клиент
kubernetesПоверхность инструментов только для чтения
Автономный режим
--demoдля CI/смоук-тестовПоддержка нескольких кластеров (флаг
--context)Инструменты метрик (CPU/память через
metrics.k8s.io)Опциональный слой кэширования для частых запросов
Лицензия
MIT © 2026 Teresa Tran
This server cannot be deployed
Maintenance
Related MCP Connectors
Fail-closed policy guardrails for AI agents running kubectl, terraform, helm, and argocd.
The Google GKE MCP server is a managed Model Context Protocol server that provides AI applications with tools to manage Google Kubernetes Engine (GKE) clusters and Kubernetes resources. It exposes a structured, discoverable interface that allows AI agents to interact with GKE and Kubernetes APIs, enabling them to inspect cluster configurations, retrieve Kubernetes resource YAMLs, monitor operations like cluster upgrades, diagnose issues, and optimize costs—all without needing to parse text output or use complex kubectl commands.
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Unified API to query AWS, GCP, Azure and generate Terraform/CLI execution kits for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceExposes Kubernetes cluster management tools to LLMs, enabling querying pods, deployments, logs, metrics, and managing port forwards via natural language.1-
- FlicenseNot gradedqualityCmaintenanceProvides a read-only interface to Kubernetes clusters, enabling LLMs to list pods, get pod status and logs, fetch deployment manifests, and perform pod health analysis with resource trend tracking.-
- FlicenseNot gradedqualityBmaintenanceProvides read-only Kubernetes cluster operations via MCP, enabling LLMs to query nodes, pods, logs, events, and watch real-time status for troubleshooting.2-
- AlicenseAqualityAmaintenanceEnables AI agents to explore and operate OpenShift/Kubernetes clusters, offering read-only tools for projects, pods, logs, and resources, with opt-in higher modes for scaling, restarts, applying manifests, and deletions under safe-by-default guards.626 npmMIT