smb presents through one of three interfaces, chosen at runtime. The default
is headless — plain, line-based text that works the same in a terminal, a
pipe, or a script. Two global flags switch interface:
| Flag | Interface | What it does |
|---|---|---|
| (none) | Headless (default) | Plain-text output. Interactive prompts still appear on a TTY unless --ci is set. No full-screen takeover. |
--tui |
TUI | Full-screen interactive views (ratatui) for the read commands. |
--mcp |
MCP | Runs as a Model Context Protocol server over stdio instead of a one-shot command. Implies non-interactive. |
--tui and --mcp are mutually exclusive. The --ci flag is orthogonal: it
forces non-interactive behavior (see
CI / non-interactive deploys) and applies to the
headless interface; --mcp is always non-interactive regardless of --ci.
The default interface prints plain text and never seizes the terminal, so it is safe to pipe or redirect:
smb me # plain key/value account block
smb project list # plain table
smb project show --id <id> # plain detail block
smb project deployment # plain table (or detail with --id <id>)On a real terminal, commands that need input still prompt (project setup, a
monorepo target picker, delete confirmations). Add --ci — or run under CI — to
turn those prompts off and fail fast instead of blocking.
--tui renders the read commands as full-screen interactive views. Press
q / Esc to leave a view and return to the shell.
smb --tui me
smb --tui project list
smb --tui project show --id <id>
smb --tui project deploymentDestructive confirmations (e.g. project delete) show a full-screen danger
dialog under --tui; in the headless interface they ask inline instead.
smb --mcp starts an MCP (Model Context Protocol) server that speaks
JSON-RPC over stdio. Instead of running a single command and exiting, it stays
up and exposes smbCloud operations — 31 tools spanning accounts, projects,
tenants, Mail, and Auth — as MCP tools that an MCP-capable client
(Claude Desktop, Claude Code, Cursor, or any other assistant/agent) can call.
The subcommand is ignored in this mode.
Mobile and TV app automation is a separate profile: use
smb --mcp --scope automation or the standalone xcrs --mcp server. Both
expose the same focused, cross-platform automation tool set without mixing
device controls into the smbCloud resource tools.
Authentication uses the token stored by smb login, so log in once before
starting the server. Tools run non-interactively and return structured JSON —
including the *_delete tools, which apply immediately with no confirmation
prompt.
For the client setup guide and the full tool reference, see MCP Server. For running native Apple-platform runners, see ControlKit runners.