Перейти к содержимому

Mcp Nomad

Сервер на Golang для управления задачами, развертываниями и узлами в оркестраторе Nomad

Go
37 stars

Описание

Это 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.

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

Получение лидера, список пиров и регионов.

Установка

Установка возможна несколькими способами:

  1. Через 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}"
      }
    }
  }
}
  1. Из исходников (требует Go):
go install github.com/kocierik/mcp-nomad
  1. Через 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).

Информация

Язык
Go
Лицензия
MIT License
GitHub Stars
37

Ссылки