Documentation

Everything you need to install, configure, and deploy agents.

Quick Start

terminal

# Install the CLI

$ pip install mai-cli

# Initialize configuration

$ mai config init

# Install a branch suite (any of 30 suites across 6 branches)

$ mai install army-evaluations

✓ registry1.dso.mil/ironbank/mai/army-evaluations/ncoer-formatter:latest

✓ registry1.dso.mil/ironbank/mai/army-evaluations/oer-synthesizer:latest

✓ registry1.dso.mil/ironbank/mai/army-evaluations/sr-profiler:latest

✓ registry1.dso.mil/ironbank/mai/army-evaluations/eval-redress:latest

10 images ready.

# Start an agent from any branch

$ mai start army-ncoer-formatter

✓ Container: mai-army-ncoer-formatter

✓ Workspace: ~/.mai_agents/workspaces/mai-army-ncoer-formatter

✓ Network: nat

✓ IL: il4

# Generate an NCOER bullet (AR 623-3 format)

$ mai exec army-ncoer-formatter "Led 30-Soldier platoon, 100% gunnery qualification"

ACHIEVES: Led 30-Soldier platoon through all gunnery qualification tables with 100% first-time GO rate; best in brigade — directly contributed to unit's METL T rating.

CLI Reference

mai install <suite>

Pull Iron Bank container images for an agent suite. 30 suites across 6 branches (e.g., army-evaluations, navy-evals, usmc-training, usaf-epb, ussf-sda, uscg-sar).

mai start <agent> [--network host|nat|disable]

Start an agent container with persistent workspace. Workspace data survives container restarts.

mai exec <agent> "<prompt>"

Send an ephemeral natural language prompt to a running agent and receive the response.

mai stop <agent>

Stop and remove an agent container. Workspace data is preserved on the host.

mai stop-all

Stop all running mai agent containers. All workspace data is preserved.

mai info

Display running agents, Iron Bank images, workspace disk usage, and IL configuration.

mai config init

Write default configuration to ~/.mai_agents/config.yml.

Architecture

CLI Wrapper (Typer)

Python-based CLI managing Docker container lifecycle. Config via ~/.mai_agents/config.yml.

Iron Bank Containers

All agent images sourced from registry1.dso.mil with full SBOM and ORA scoring.

Dual Inference Backend

GenAI.mil API for IL2-IL5, local vLLM with PagedAttention for IL6 air-gapped ops.

Persistent Workspaces

Exegol-style bind-mounted workspaces preserve RAG data, conversation memory, and LoRA weights.

Network Isolation Modes

ModeImplementationUse Case
hostContainer shares host network stackHigh-throughput sensor data ingest
natIsolated bridge network (default)Standard operational deployment
disableAll network interfaces disabledIL6 / SECRET air-gapped environments

Configuration

~/.mai_agents/config.yml
default_network: nat
impact_level: il4
custom_registries:
  - registry1.dso.mil/ironbank
workspace_path: ~/.mai_agents/workspaces
shared_resources_path: ~/.mai_agents/my-resources
inference:
  local_base_url: http://localhost:8000/v1
  genai_mil_base_url: https://genai.mil/v1
  active_backend: local          # or "genai_mil"
  model_name: meta-llama/Meta-Llama-3.1-70B-Instruct
  api_key: null                  # Set via env: C2H_API_KEY