Mcp Nomad
Сервер на Golang для управления задачами, развертываниями и узлами в оркестраторе Nomad
Описание
Это Golang-реализация MCP-сервера (Model Context Protocol) для взаимодействия с HashiCorp Nomad. Предоставляет API для управления jobs (запуски, остановки, масштабирование), deployments, namespaces, nodes, allocations, variables, volumes, ACL и Sentinel policies. Идеален для автоматизации DevOps-задач, интеграции с AI-инструментами вроде Claude. Технологии: Go, Nomad HTTP API. Применения: мониторинг кластеров, оркестрация контейнеров, управление доступом в CI/CD.
Возможности
Управление задачами (Jobs)
Список, запуск, остановка, обновление, масштабирование заданий, получение аллокаций, оценок и развертываний.
Управление развертываниями (Deployments)
Список и получение деталей развертываний в кластере.
Управление пространствами имен (Namespaces)
Список, создание и удаление пространств имен.
Управление узлами (Nodes)
Список, детали узлов, дренаж и установка eligibility.
Управление аллокациями (Allocations)
Список, детали аллокаций, логи задач и аллокаций.
Управление переменными (Variables)
Список с фильтрацией, получение, создание и удаление переменных с поддержкой namespace.
Управление томами (Volumes)
Список, детали, удаление томов и претензий на тома.
Управление ACL
Работа с токенами, политиками и ролями: список, создание, удаление, bootstrap.
Управление Sentinel политиками
Список, получение, создание и удаление политик Sentinel.
Управление кластером
Получение лидера, список пиров и регионов.
Установка
Установка возможна несколькими способами:
- Через npm (prebuilt):
npm install -g @kocierik/mcp-nomad
Затем обновите claude_desktop_config.json:
{
"mcpServers": {
"mcp_nomad": {
"command": "mcp-nomad",
"args": [],
"env": {
"NOMAD_TOKEN": "${NOMAD_TOKEN}",
"NOMAD_ADDR": "${NOMAD_ADDR}"
}
}
}
}
- Из исходников (требует Go):
go install github.com/kocierik/mcp-nomad
- Через Docker (для Linux):
docker run -i --rm --network=host kocierik/mcpnomad-server:latest
Для macOS/Windows:
docker run -i --rm -e NOMAD_ADDR=http://host.docker.internal:4646 kocierik/mcpnomad-server:latest
Переменные окружения: NOMAD_ADDR (по умолчанию http://localhost:4646), NOMAD_TOKEN (опционально для ACL).