Skip to main content
Glama

agentctl

K8s-нативный оператор рабочих нагрузок агентов/моделей с регистрацией в SAM mesh и MCP-плоскостью операций.

Заменяет оркестраторы, запускающие процессы (vllm-orchestrator), декларативными ресурсами K8s. Каждая операция представлена как MCP-инструмент для композиции рабочих процессов LangGraph/LangChain.

Архитектура

LangGraph agent ──MCP──▶ agentctl ops plane (:8091)
                              │
                    ┌─────────┼─────────┐
                    ▼         ▼         ▼
              workload_*   fleet_*   sam_*
              tools        tools     tools
                    │         │         │
                    ▼         ▼         ▼
              K8s API    K8s API   SAM node
              (CRDs)    (pods)    (discovery)

Related MCP server: Hatchet MCP

Установка

pip install agentctl
# or
uv pip install agentctl

Установка (кластер)

kubectl apply -f https://github.com/moreWax/agentctl/releases/latest/download/install.yaml

Это устанавливает CRD, оператор и MCP-плоскость операций в agentctl-system. Плоскость операций доступна внутри кластера по адресу http://agentctl-mcp.agentctl-system.svc.cluster.local:8091/mcp (stateless Streamable HTTP).

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

Развертывание примеров рабочих нагрузок

kubectl apply -f examples/qwen3.8-27b.yaml        # Qwen3.8-27B, TP2 on 2 GPUs
kubectl apply -f examples/qwen3.8-27b-fp8.yaml    # FP8 variant, single GPU
kubectl apply -f examples/litellm-gateway.yaml    # LiteLLM proxy gateway

Из исходников (разработка)

uv venv && uv pip install -e ".[dev]"
kubectl apply -f crd/agentctl-crd.yaml
agentctl serve          # operator (kopf controllers)
agentctl mcp --port 8091  # MCP ops-plane server (stateless Streamable HTTP)

Развертывание рабочей нагрузки модели

kubectl apply -f examples/qwen3.8-27b.yaml        # Qwen3.8-27B, TP2 on 2 GPUs
kubectl apply -f examples/qwen3.8-27b-fp8.yaml    # FP8 variant, single GPU
kubectl apply -f examples/litellm-gateway.yaml     # LiteLLM proxy gateway

Шлюз LiteLLM маршрутизирует OpenAI-совместимые запросы к бэкендам vLLM. Направляйте своих агентов на http://litellm-gateway:4000/v1 и используйте имена моделей, такие как qwen3.8-27b или qwen3.8-27b-fp8.

MCP-инструменты (для LangGraph / композиции агентов)

Все 20 инструментов не имеют состояния, возвращают структурированный JSON и ограничивают деструктивные действия флагами подтверждения.

Запросы к флоту

Инструмент

Описание

fleet_status

Агрегированное представление: рабочие нагрузки по фазам, итоги по GPU

fleet_gpus

Емкость GPU на узел / выделено / свободно + потребители

fleet_pods

Детали по подам: узел, фаза загрузки, GPU, перезапуски

footprint_check

Пробный запуск: какие узлы могут вместить N GPU — вызывать перед загрузкой

health_check

Готовность конечных точек для каждого сервиса

sam_services

Обнаружение сервисов SAM mesh

Жизненный цикл рабочих нагрузок

Инструмент

Описание

workload_list

Список рабочих нагрузок с фазой, GPU, состоянием закрепления

workload_status

Полная информация, включая фазы загрузки каждого пода

workload_logs

Последние логи контейнеров для каждого пода

workload_scale

Масштабирование реплик (0 = приостановка; отказывает в уменьшении масштаба при закреплении, если не force=true)

workload_delete

Удаление рабочей нагрузки — требуется approved=true

deploy_model

Создание рабочей нагрузки модели (идемпотентно)

undeploy_model

Удаление рабочей нагрузки модели

kill_pod

Принудительное удаление зависшего пода — требуется approved=true; Deployment пересоздаст его

model_pin / model_unpin

Закрепление предотвращает уменьшение масштаба (держать модель резидентной)

model_sleep / model_wake

Приостановка/пробуждение. FMA-нагрузки (sleepWake.enabled): приостановка на уровне секунд через llm-d fast-model-actuation, GPU освобождается для других моделей — см. docs/fma.md. Обычные нагрузки: полная остановка / холодный запуск

Оркестрация загрузки

Инструмент

Описание

boot_model

Развертывание + опциональное ожидание на стороне сервера (wait_seconds); возвращает outcome: ready/failed/timeout

boot_status

Опрос прогресса загрузки: фазы подов + маркеры логов vLLM (LoadingWeightsSizingKVCacheCapturingGraphsServing) + процент

Паттерн ожидания загрузки агента (цикл LangGraph):

boot_model(model_id="qwen38-27b", image="vllm/vllm-openai:v0.18.0", gpu_count=2)
while True:
    s = boot_status(model_id="qwen38-27b")
    if s["ready"]:  break          # proceed to inference
    if s["failed"]: ...            # inspect s["pods"], kill_pod + retry
    time.sleep(10)                 # poll again

Разработка

uv venv && uv pip install -e ".[dev]"
pytest tests/ -q

Лицензия

MIT

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables management of Mistral AI agents through MCP tools including creating, listing, searching, viewing details, and deleting agents. Integrates with Mistral API to provide agent management capabilities through natural language interactions.
    1
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables running durable, traceable AI agents via LangGraph through a universal MCP interface, integrating with Hatchet for orchestration, logging, and retries. Provides tools for knowledge management (ingestion, RAG) and Kubernetes operations (diagnosis, auto-fix).
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-powered Kubernetes management using natural language, supporting kubectl, Helm, diagnostics, and port forwarding via MCP protocol.
    MIT

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/moreWax/agentctl'

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