Skip to main content
Glama

agentctl

K8s-nativer Agent-/Modell-Workload-Operator mit SAM-Mesh-Registrierung und MCP-Ops-Ebene.

Ersetzt prozessstartende Orchestratoren (vllm-orchestrator) durch deklarative K8s-Ressourcen. Jede Operation wird als MCP-Tool für die LangGraph/LangChain-Workflow-Komposition bereitgestellt.

Architektur

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

Installation

pip install agentctl
# or
uv pip install agentctl

Installation (Cluster)

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

Dies installiert die CRD, den Operator und die MCP-Ops-Ebene in agentctl-system. Die Ops-Ebene ist im Cluster erreichbar unter http://agentctl-mcp.agentctl-system.svc.cluster.local:8091/mcp (zustandsloses Streamable HTTP).

Verwendung

Beispiel-Workloads bereitstellen

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

Aus dem Quellcode (Entwicklung)

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)

Ein Modell-Workload bereitstellen

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

Das LiteLLM-Gateway leitet OpenAI-kompatible Anfragen an die vLLM-Backends weiter. Richten Sie Ihre Agents auf http://litellm-gateway:4000/v1 und verwenden Sie Modellnamen wie qwen3.8-27b oder qwen3.8-27b-fp8.

MCP-Tools (für LangGraph / Agenten-Komposition)

Alle 20 Tools sind zustandslos, geben strukturiertes JSON zurück und schützen destruktive Aktionen hinter Genehmigungsflags.

Fleet-Abfragen

Tool

Beschreibung

fleet_status

Aggregierte Ansicht: Workloads nach Phase, GPU-Gesamtzahlen

fleet_gpus

GPU-Kapazität pro Knoten / zugewiesen / frei + Verbraucher

fleet_pods

Pod-Details: Knoten, Boot-Phase, GPUs, Neustarts

footprint_check

Trockenlauf: Welche Knoten können N GPUs aufnehmen – vor dem Boot aufrufen

health_check

Endpunkt-Bereitschaft pro Dienst

sam_services

SAM-Mesh-Dienste entdecken

Workload-Lebenszyklus

Tool

Beschreibung

workload_list

Workloads mit Phase, GPUs und Pin-Status auflisten

workload_status

Vollständige Details inkl. Boot-Phasen pro Pod

workload_logs

Aktuelle Container-Logs pro Pod

workload_scale

Replikate skalieren (0 = parken; verweigert Skalierung bei gepinnten, außer force=true)

workload_delete

Workload löschen – erfordert approved=true

deploy_model

Modell-Workload erstellen (idempotent)

undeploy_model

Modell-Workload entfernen

kill_pod

Hängenden Pod erzwungen löschen – erfordert approved=true; Deployment erstellt ihn neu

model_pin / model_unpin

Pin verhindert Skalierung (Modell resident halten)

model_sleep / model_wake

Suspendieren/Aufwecken. FMA-Workloads (sleepWake.enabled): Suspendierung auf Sekundenebene über llm-d fast-model-actuation, GPU für andere Modelle freigegeben – siehe docs/fma.md. Native Workloads: vollständiger Stopp / Kaltstart

Boot-Orchestrierung

Tool

Beschreibung

boot_model

Bereitstellen + optionales serverseitiges Warten (wait_seconds); gibt outcome: ready/failed/timeout zurück

boot_status

Boot-Fortschritt abfragen: Pod-Phasen + vLLM-Log-Marker (LoadingWeightsSizingKVCacheCapturingGraphsServing) + Prozent

Agent-Boot-Wait-Muster (LangGraph-Schleife):

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

Entwicklung

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

Lizenz

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