bareai
See what your bare-metal machine is doing — right now.
Overview
One machine, five separate tools
Checking a self-hosted AI box usually means switching between nvidia-smi, docker ps, and manual curl calls to different ports — each with its own output format and no shared context.
bareai reads all of it in one pass: host, GPUs, Docker, local LLM runtimes, and local databases. It only reads state — it never starts, stops, or changes anything.
Collectors run independently
Each collector below can fail on its own without breaking the rest. A missing GPU or database isn't an error — it's marked skipped, and the command still exits 0.
One snapshot, four views
The TUI, the --json output, and the MCP server all read the same snapshot struct — the correlation logic exists in exactly one place.
On a TTY, `bareai` opens a live dashboard with six tabs and sparklines for load, VRAM, and LLM latency. In a script or CI, it just prints and exits.
MCP for coding agents
`bareai mcp` starts a stdio MCP server that exposes the same snapshot as six tools, so an agent like Cursor or Claude Code can read real GPU, Docker, and LLM state instead of shelling out to nvidia-smi and docker ps itself.
How it works
Five collectors gather facts about the machine. A correlation layer merges them into one snapshot. Four renderers display that same snapshot.
In the terminal
$ bareai status Collected: 2026-07-22T12:00:00Z Host Hostname: ai-box OS: linux 24.04 (ubuntu) CPU: AMD EPYC (64 cores) Memory: 128.0 GiB / 512.0 GiB Load: 2.10 1.80 1.50 GPUs: [0] NVIDIA A100-SXM4-80GB (nvidia) util=45% mem=4.0 GiB/80.0 GiB Docker: 2 running / 4 total (Engine 27.5.1) LLM: 2 discovered (ollama, vllm)
$ bareai mcp bareai mcp: stdio server ready (version 0.1.2, 6 tools) bareai mcp: stdout=MCP protocol · stderr=logs · waiting for client on stdin… bareai mcp: ← initialize client="cursor" bareai mcp: → initialize ok (1ms) bareai mcp: ← tools/call tool="bareai_snapshot" bareai mcp: → tools/call ok (420ms)
Install & use
$ curl -fsSL https://raw.githubusercontent.com/baselhusam/bareai-cli/main/scripts/install.sh | bash$ source ~/.zshrc && bareai version
$ brew tap baselhusam/tap$ brew trust baselhusam/tap$ brew install bareai$ bareai version
$ irm https://raw.githubusercontent.com/baselhusam/bareai-cli/main/scripts/install.ps1 | iex$ bareai version
$ bareai status # one-screen summary$ bareai inspect # full correlated report$ bareai inspect --json | jq . # machine-readable snapshot$ bareai doctor --share # paste-friendly report for issues/chat$ bareai mcp # MCP server for Cursor / Claude (stdio)
Commands
(none) / watchLive TUI dashboardstatusHost + infrastructure summarygpuGPU inventory and metricsdockerContainers, images, volumesllmDiscovered inference serversdbLocal databases (Postgres, Redis, Mongo, …)probeOne-hit smoke testsinspectFull correlated reportdoctorRanked diagnostics + read-only suggestionsmcpMCP server for coding agents (stdio)config pathResolved config file pathversionBuild metadataAgent / MCP tools
bareai_snapshotWhat is on this box? — full correlated snapshot
bareai_correlationsWhich model runs on which GPU or container?
bareai_doctorWhat's wrong, and what's safe to try?
bareai_probeIs inference actually healthy right now?
bareai_llmsRuntime, endpoint, PID, health, models
bareai_databasesLocal database engines, addresses, health