Skip to main content
Glama

Stage the guest runtime

relay_stage

Push and hash-check guest runtime, workspace, and support files onto a VM to prepare it for browser and computer-use sessions.

Instructions

Push and hash-check the guest runtime, plus an optional workspace and support files (files, landing under support/), onto an acquired VM. The guest Node and CuaDriver executables must already exist (nodePath, cuaDriver); Linux guests need native X11 and cua-driver serve --no-overlay. browserExecutable names the guest browser the playwright and chrome-devtools targets launch (default: installed Google Chrome); their pinned servers are staged on first use. A failed stage can be retried; once staged, only corrected executable paths may be resubmitted, and staging does not prove capture readiness. resetRecording: true archives the current recording's evidence and starts a fresh recording on the same VM; it refuses while a receiver lock is held.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesNo
nodePathNoGuest Node executable, default node; use image nvm path if needed.
cuaDriverNoGuest CUA executable; OS default when omitted.
workspaceNoHost directory copied to the guest workspace, opt-in.
resetRecordingNoExplicitly archive the current recording and start a new session on the same VM. Retains prior evidence; refuses while the receiver lock exists. Use after diagnosing recording damage.
browserExecutableNoGuest browser executable for the playwright and chrome-devtools targets; default is installed Google Chrome.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With all annotation hints false or unhelpful, the description carries the behavioral burden and does so richly. It discloses hash-checking, staging of support files, first-use server staging, retry semantics, the limitation that 'staging does not prove capture readiness,' and reset/resubmission behavior including the receiver-lock refusal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph with no filler. Every clause earns its place: scope, prerequisites, Linux-specific requirements, retry rules, reset behavior, and the readiness caveat are all packed in without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six parameters, no output schema, and no meaningful annotations, the description is unusually complete. It covers prerequisites, retry and resubmission constraints, browser default and target behavior, reset semantics, and the warning that staging does not prove capture readiness—enough for an agent to invoke it correctly after acquisition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (83%), so the baseline is 3, but the description adds meaningful context: `files` lands under `support/`, `nodePath`/`cuaDriver` must already exist, `browserExecutable` selects the launched guest browser for specific targets, and `resetRecording` archives evidence and starts fresh. It does not add meaning to `files[].local`, whose schema description is also missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action: 'Push and hash-check the guest runtime, plus an optional workspace and support files... onto an acquired VM.' This clearly identifies the resource and distinguishes staging from siblings like relay_acquire or relay_exec/run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Prerequisites are explicit: guest Node and CuaDriver executables must already exist, and Linux guests need native X11 plus `cua-driver serve --no-overlay`. It also defines retry/resubmission constraints and when `resetRecording` is appropriate, though it does not explicitly name alternatives or say 'use relay_stage instead of X.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.