Skip to main content
Glama

agentctl

Operador de cargas de trabajo de agente/modelo nativo de K8s con registro de malla SAM y plano de operaciones MCP.

Reemplaza los orquestadores que generan procesos (vllm-orchestrator) con recursos declarativos de K8s. Cada operación se expone como una herramienta MCP para la composición de flujos de trabajo LangGraph/LangChain.

Architecture

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

Install

pip install agentctl
# or
uv pip install agentctl

Install (cluster)

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

Esto instala el CRD, el operador y el plano de operaciones MCP en agentctl-system. El plano de operaciones es accesible dentro del clúster en http://agentctl-mcp.agentctl-system.svc.cluster.local:8091/mcp (HTTP Streamable sin estado).

Usage

Desplegar las cargas de trabajo de ejemplo

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

Desde el código fuente (desarrollo)

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)

Desplegar una carga de trabajo de modelo

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

La puerta de enlace LiteLLM enruta solicitudes compatibles con OpenAI a los backends vLLM. Apunte sus agentes a http://litellm-gateway:4000/v1 y use nombres de modelo como qwen3.8-27b o qwen3.8-27b-fp8.

Herramientas MCP (para composición de agentes / LangGraph)

Las 20 herramientas son sin estado, devuelven JSON estructurado y protegen las acciones destructivas detrás de indicadores de aprobación.

Consultas de flota

Tool

Description

fleet_status

Vista agregada: cargas de trabajo por fase, totales de GPU

fleet_gpus

Capacidad de GPU por nodo / asignada / libre + consumidores

fleet_pods

Detalle por pod: nodo, fase de arranque, GPUs, reinicios

footprint_check

Simulación: qué nodos pueden alojar N GPUs — llame antes del arranque

health_check

Disponibilidad de endpoint por servicio

sam_services

Descubrir servicios de malla SAM

Ciclo de vida de la carga de trabajo

Tool

Description

workload_list

Listar cargas de trabajo con fase, GPUs, estado de fijación

workload_status

Detalle completo incl. fases de arranque por pod

workload_logs

Registros de contenedor recientes por pod

workload_scale

Escalar réplicas (0 = estacionar; rechaza reducir escala en fijadas a menos que force=true)

workload_delete

Eliminar carga de trabajo — requiere approved=true

deploy_model

Crear carga de trabajo de modelo (idempotente)

undeploy_model

Eliminar carga de trabajo de modelo

kill_pod

Forzar eliminación de pod colgado — requiere approved=true; Deployment lo recrea

model_pin / model_unpin

Fijar evita la reducción de escala (mantener modelo residente)

model_sleep / model_wake

Suspender/despertar. Cargas de trabajo FMA (sleepWake.enabled): suspensión a nivel de segundos mediante llm-d fast-model-actuation, GPU liberada para otros modelos — ver docs/fma.md. Cargas de trabajo nativas: detención completa / arranque en frío

Orquestación de arranque

Tool

Description

boot_model

Desplegar + espera opcional en el servidor (wait_seconds); devuelve outcome: ready/failed/timeout

boot_status

Consultar progreso de arranque: fases de pod + marcadores de registro vLLM (LoadingWeightsSizingKVCacheCapturingGraphsServing) + porcentaje

Patrón de espera de arranque de agente (bucle 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

Development

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

License

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