Documentation
Everything you need to install, configure, and deploy agents.
Quick Start
# 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-allStop all running mai agent containers. All workspace data is preserved.
mai infoDisplay running agents, Iron Bank images, workspace disk usage, and IL configuration.
mai config initWrite 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
| Mode | Implementation | Use Case |
|---|---|---|
host | Container shares host network stack | High-throughput sensor data ingest |
nat | Isolated bridge network (default) | Standard operational deployment |
disable | All network interfaces disabled | IL6 / SECRET air-gapped environments |
Configuration
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