← home · llms.txt

Loopback relay — docs

Remote-control harness hub · v0.7.0 · 0 agent(s) online0 controller(s)

Three parts over WebSocket: this relay routes messages; an agent runs on a target machine (a Windows kiosk) and dials in; an MCP bridge on the operator's machine lists agents, attaches to one, and drives it. For an LLM-readable version of this page, see /llms.txt.

Relay endpoint

WebSocket URL for agents and controllers: wss://loopback-next.elevated.app
Health check: /healthz
Auth: AirOps. Agents present a device token; operators sign in with their AirOps account (needs the loopback.operate permission).

1. Run an agent on the target machine

Download an agent from /download and run:
  loopback-agent --relay wss://loopback-next.elevated.app --fingerprint <ELEVATED_KEY> --provisioning-token <CODE> --root <dir>

Use the device's AirOps fingerprint and provisioning token (on kiosks the launcher supplies both). Signed-in operators get full read/write, shell, screenshot and input control of that machine, over TLS.

2. Connect the MCP bridge (operator machine)

Download the matching loopback-mcp binary below, sign in once with loopback-mcp login (open the printed URL and confirm the code), then register it as an MCP server:

{
  "mcpServers": {
    "loopback": {
      "command": "loopback-mcp",
      "env": {
        "LOOPBACK_RELAY_URL": "wss://loopback-next.elevated.app"
      }
    }
  }
}

Or with Claude Code: claude mcp add loopback -- loopback-mcp

Spawning the bridge from your own script instead of an MCP client? Closing stdin does not stop it, so stop it with SIGTERM. See "Driving the bridge from a script" in /llms.txt.

Downloads

No binaries are currently hosted. Build them with bun run build:bin and upload to the relay's downloads directory.

Tools

Files: read, write, edit, list, stat, mkdir, remove, move, glob, grep. Shell: run (bash/sh/zsh/cmd/powershell/pwsh). Debugging: screenshot (PNG/JPEG), click, type, key (drive the UI), download (stream large logs).