Skip to content

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