storm-runtime
The Runtime Host: enroll it, run it as a service, and connect AI apps with mcp-connect. Generated from storm-runtime --help.
Storm Runtime Host
Usage: storm-runtime <COMMAND>
Commands:
enroll Enroll this host with a Storm Server
serve Run the host: connect to the server and run the agents it asks for
mcp-bridge The agent's stdio MCP server for one gateway connection. Started by the agent CLI from the session's MCP config, never by hand: it reads its session handle and the daemon's socket from the environment, and holds no credential
mcp-connect An external MCP client's stdio server for a Storm Server's `/mcp` (Claude Code, Cursor, Claude Desktop start it). Verifies the server's identity before sending anything
harness-session Tells the host which conversation the agent is on, so Storm can resume it. Run by the agent's own hook or plugin, never by hand; reads the id from stdin (a Claude Code hook's input) when none is given
install Install this host as a system service, as root. macOS: creates the `_stormruntime` account and `/Library/StormRuntime`, and loads the LaunchDaemon, which runs the host once it is enrolled. Windows (in an elevated shell): creates `C:\ProgramData\StormRuntime` and the `StormRuntime` service, which enrolling starts. Re-run it to upgrade. On Linux the package does this
uninstall Remove the system service `install` set up, as root (elevated on Windows). Workspaces are always kept
check Check this host's enrollment: verify the server, prove the key, and ask the server who it thinks this host is
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
enroll
Enroll this host with a Storm Server.
Reads the enrollment string the app showed you from stdin, or prompts for it without echo. **Never pass it as an argument**: it carries a single-use secret, and arguments are visible to every user in `ps`.
Usage: storm-runtime enroll [OPTIONS]
Options:
--state <STATE>
[env: STORM_RUNTIME_STATE=]
[default: /var/lib/storm-runtime]
--name <NAME>
How this host appears in the app. Defaults to the hostname
--force
Replace an existing enrollment
-h, --help
Print help (see a summary with '-h')
serve
Run the host: connect to the server and run the agents it asks for
Usage: storm-runtime serve [OPTIONS]
Options:
--state <STATE> [env: STORM_RUNTIME_STATE=] [default: /var/lib/storm-runtime]
--config <CONFIG> [env: STORM_RUNTIME_CONFIG=] [default: /etc/storm-runtime/runtime.toml]
--exclusive-account Declare that this account runs nothing but this host (AM37): at startup and after shutdown, end every other process of it. Passed by the packaged service definitions; refused unless running as the service account, and never as root
-h, --help Print help
mcp-bridge
The agent's stdio MCP server for one gateway connection. Started by the agent CLI from the session's MCP config, never by hand: it reads its session handle and the daemon's socket from the environment, and holds no credential
Usage: storm-runtime mcp-bridge <SLUG>
Arguments:
<SLUG> The connection's slug
Options:
-h, --help Print help
mcp-connect
An external MCP client's stdio server for a Storm Server's `/mcp` (Claude Code, Cursor, Claude Desktop start it). Verifies the server's identity before sending anything.
The key is read from STORM_MCP_KEY or --key-file, **never an argument**: arguments are visible to every user in `ps`.
Usage: storm-runtime mcp-connect [OPTIONS] --server <SERVER> --pk <PK>
Options:
--server <SERVER>
The server's id (`srv_…`), as the app shows it
--pk <PK>
The server's public key, unpadded base64url, as the app shows it
--addr <ADDR>
The server's own address, e.g. `http://192.168.1.10:8484`. Optional when a --relay is given
--relay <RELAYS>
A relay that reaches the server (`wss://…`). Repeatable. Only a seed: the server's current relays are learned on each connect and cached
--key-file <KEY_FILE>
A file holding the `stk_` key, instead of STORM_MCP_KEY
-h, --help
Print help (see a summary with '-h')
harness-session
Tells the host which conversation the agent is on, so Storm can resume it. Run by the agent's own hook or plugin, never by hand; reads the id from stdin (a Claude Code hook's input) when none is given
Usage: storm-runtime harness-session [ID]
Arguments:
[ID]
Options:
-h, --help Print help
install
Install this host as a system service, as root. macOS: creates the `_stormruntime` account and `/Library/StormRuntime`, and loads the LaunchDaemon, which runs the host once it is enrolled. Windows (in an elevated shell): creates `C:\ProgramData\StormRuntime` and the `StormRuntime` service, which enrolling starts. Re-run it to upgrade. On Linux the package does this
Usage: storm-runtime install [OPTIONS]
Options:
--operator <OPERATOR> Who shares the workspace root with the host. Defaults to the user who ran sudo
-h, --help Print help
uninstall
Remove the system service `install` set up, as root (elevated on Windows). Workspaces are always kept
Usage: storm-runtime uninstall [OPTIONS]
Options:
--purge Also remove the host's identity, state, logs, config and account
-h, --help Print help
check
Check this host's enrollment: verify the server, prove the key, and ask the server who it thinks this host is
Usage: storm-runtime check [OPTIONS]
Options:
--state <STATE> [env: STORM_RUNTIME_STATE=] [default: /var/lib/storm-runtime]
-h, --help Print help