Skip to content

CLI Command Reference

Complete reference for all KAOS CLI commands.

Command Structure

kaos <subcommand> <action> [OPTIONS]

Subcommands:

  • system - Operator and cluster management
  • mcp - MCPServer management
  • agent - Agent management
  • modelapi - ModelAPI management
  • ui - Web UI

kaos system

Operator installation and cluster management.

kaos system install

Install the KAOS operator.

bash
kaos system install [OPTIONS]
OptionShortDefaultDescription
--namespace-nkaos-systemInstallation namespace
--release-namekaosHelm release name
--versionlatestChart version
--setHelm values
--waitfalseWait for ready
--monitoring-enabledInstall monitoring stack (signoz or jaeger)
--gateway-enabledfalseInstall Gateway API (Envoy Gateway) and configure routing
--metallb-enabledfalseInstall MetalLB for LoadBalancer support (KIND/bare-metal)
--chart-pathPath to local Helm chart directory (for development)

kaos system uninstall

Uninstall the KAOS operator.

bash
kaos system uninstall [OPTIONS]
OptionDefaultDescription
--namespacekaos-systemNamespace to uninstall from
--release-namekaosHelm release name
--monitoring-enabledAlso uninstall monitoring (signoz or jaeger)
--gateway-enabledfalseAlso uninstall Gateway API (Envoy Gateway)
--metallb-enabledfalseAlso uninstall MetalLB

kaos system status

Show cluster status.

bash
kaos system status

Shows operator health, CRDs, resources, and gateway status.

kaos system runtimes

List registered MCP runtimes.

bash
kaos system runtimes [OPTIONS]
OptionShortDefaultDescription
--namespace-nkaos-systemOperator namespace

kaos system create-rbac

Generate RBAC YAML for MCPServer ServiceAccounts.

bash
kaos system create-rbac [OPTIONS]
OptionShortDescription
--name-nServiceAccount name (required)
--namespace-nsNamespace(s) to access
--read-onlyRead-only permissions
--cluster-wideClusterRole instead of Role
--output-oOutput file (default: stdout)

Example:

bash
kaos system create-rbac --name k8s-mcp-sa --namespace my-ns > rbac.yaml
kubectl apply -f rbac.yaml

kaos mcp

MCPServer lifecycle management.

kaos mcp init

Scaffold a new FastMCP server project.

bash
kaos mcp init [DIRECTORY] [OPTIONS]
OptionDescription
--forceOverwrite existing files

Creates: server.py, requirements.txt, README.md

kaos mcp build

Build a Docker image from FastMCP server.

bash
kaos mcp build [OPTIONS]
OptionShortDefaultDescription
--name-n(required)Image name
--tag-tlatestImage tag
--dir-d.Source directory
--entry-eserver.pyEntry point
--kind-loadLoad to KIND cluster
--create-dockerfileGenerate Dockerfile
--platformDocker platform

Example:

bash
kaos mcp build --name my-mcp --tag v1 --kind-load

kaos mcp deploy

Deploy an MCPServer.

bash
kaos mcp deploy [NAME] [OPTIONS]
OptionShortDescription
NAMEMCPServer name (auto-inferred from pyproject.toml)
--image-iCustom image
--runtime-rRegistered runtime
--namespace-nTarget namespace
--params-pRuntime parameters
--saServiceAccount name

Examples:

bash
# From custom image
kaos mcp deploy my-mcp --image my-image:v1

# From registered runtime
kaos mcp deploy slack-mcp --runtime slack

# Auto-infer from pyproject.toml
kaos mcp deploy

kaos mcp list

List MCPServers.

bash
kaos mcp list [OPTIONS]
OptionShortDefaultDescription
--namespace-nallFilter by namespace
--output-owideOutput format

kaos mcp get

Get MCPServer details.

bash
kaos mcp get NAME [OPTIONS]

kaos mcp logs

View MCPServer logs.

bash
kaos mcp logs NAME [OPTIONS]
OptionShortDescription
--follow-fStream logs
--tailNumber of lines

kaos mcp invoke

Invoke an MCP tool.

bash
kaos mcp invoke NAME [OPTIONS]
OptionShortDescription
--tool-tTool name (required)
--args-aJSON arguments
--port-pLocal port (default: 9000)

Example:

bash
kaos mcp invoke echo-mcp --tool echo --args '{"message": "hello"}'

kaos mcp delete

Delete an MCPServer.

bash
kaos mcp delete NAME [OPTIONS]

kaos agent

Agent lifecycle management.

kaos agent deploy

Deploy an Agent.

bash
kaos agent deploy NAME --modelapi MODELAPI --model MODEL [OPTIONS]
OptionShortDescription
NAMEAgent name (required)
--modelapi-aModelAPI reference (required)
--model-mModel name (required)
--namespace-nTarget namespace
--instructions-iAgent instructions
--mcpMCP server references (multiple)
--sub-agentSub-agent references (multiple)

Examples:

bash
# Basic agent
kaos agent deploy my-agent --modelapi my-api --model gpt-4o

# With instructions and MCP tools
kaos agent deploy my-agent -a my-api -m gpt-4o -i "You are a helpful assistant" --mcp calculator

kaos agent list

List Agents.

bash
kaos agent list [OPTIONS]

kaos agent get

Get Agent details.

bash
kaos agent get NAME [OPTIONS]

kaos agent logs

View Agent logs.

bash
kaos agent logs NAME [OPTIONS]

kaos agent invoke

Send a message to an Agent.

bash
kaos agent invoke NAME [OPTIONS]
OptionShortDescription
--message-mMessage (required)
--port-pLocal port (default: 9001)
--stream-sStream response

Example:

bash
kaos agent invoke my-agent --message "Hello, how are you?"

kaos agent delete

Delete an Agent.

bash
kaos agent delete NAME [OPTIONS]

kaos modelapi

ModelAPI lifecycle management.

kaos modelapi deploy

Deploy a ModelAPI.

bash
kaos modelapi deploy NAME [OPTIONS]
OptionShortDescription
NAMEModelAPI name (required)
--mode-mMode: Proxy (LiteLLM) or Hosted (Ollama). Default: Proxy
--modelModel name (required for Hosted mode)
--namespace-nTarget namespace

Examples:

bash
# Deploy Proxy mode (LiteLLM)
kaos modelapi deploy my-api

# Deploy Hosted mode (Ollama)
kaos modelapi deploy my-api --mode Hosted --model smollm2:135m

kaos modelapi list

List ModelAPIs.

bash
kaos modelapi list [OPTIONS]

kaos modelapi get

Get ModelAPI details.

bash
kaos modelapi get NAME [OPTIONS]

kaos modelapi logs

View ModelAPI logs.

bash
kaos modelapi logs NAME [OPTIONS]

kaos modelapi invoke

Send a chat completion request.

bash
kaos modelapi invoke NAME [OPTIONS]
OptionShortDescription
--message-mMessage (required)
--modelModel name (required)
--port-pLocal port (default: 9002)

Example:

bash
kaos modelapi invoke my-api --model gpt-4 --message "Hello"

kaos modelapi delete

Delete a ModelAPI.

bash
kaos modelapi delete NAME [OPTIONS]

kaos ui

Start the KAOS web UI.

bash
kaos ui [OPTIONS]
OptionDefaultDescription
--k8s-urlautoKubernetes API URL
--expose-port8010Local proxy port
--no-browserfalseDon't open browser
--monitoring-enabledEnable monitoring UI (signoz or jaeger)
--system-namespacekaos-systemNamespace where KAOS system and monitoring are installed

kaos samples

Deploy and manage example configurations from operator/config/samples/.

kaos samples list

List available sample configurations.

bash
kaos samples list

kaos samples deploy

Deploy a sample configuration with optional overrides.

bash
kaos samples deploy NAME [OPTIONS]
OptionShortDescription
--namespace-nOverride namespace for all resources
--waitWait for deployments to be available
--wait-timeoutTimeout in seconds (default: 120)
--dry-runPrint YAML instead of deploying
--modelapiOverride ModelAPI name reference
--modeOverride ModelAPI mode (Proxy/Hosted)
--model-mOverride model name
--api-secretOverride API secret (secretname:key)

Examples:

bash
kaos samples deploy 1-simple-echo-agent
kaos samples deploy 3-hierarchical-agents --namespace my-ns
kaos samples deploy 1-simple-echo-agent --model "llama3:8b" --dry-run
kaos samples deploy 1-simple-echo-agent --api-secret nebius-secrets:api-key

kaos samples delete

Delete a sample's resources.

bash
kaos samples delete NAME [OPTIONS]
OptionDefaultDescription
--namespaceNamespace override (must match namespace used during deploy)

Environment Variables

VariableDescription
KUBECONFIGPath to kubeconfig
KUBERNETES_SERVICE_HOSTIn-cluster API host

Exit Codes

CodeMeaning
0Success
1Error

Common Workflows

Create and deploy custom MCP server

bash
# 1. Scaffold project
kaos mcp init my-tools
cd my-tools

# 2. Edit server.py with your tools

# 3. Build and load to KIND
kaos mcp build --name my-tools --tag v1 --kind-load

# 4. Deploy
kaos mcp deploy my-tools --image my-tools:v1

Deploy Kubernetes MCP with RBAC

bash
# 1. Generate RBAC
kaos system create-rbac --name k8s-sa --namespace default > rbac.yaml
kubectl apply -f rbac.yaml

# 2. Deploy
kaos mcp deploy k8s-tools --runtime kubernetes --sa k8s-sa

Released under the Apache 2.0 License.