Skip to main content
Glama

runtime_sandboxes_manage

DestructiveIdempotent

stop: end it and its compute charges, keeping its disk (billed as paused storage) for restart. delete: stop it, delete its disk and paused memory, revoke its previews and ports, and remove it from lists for good (its snapshots stay). pause: keep memory and disk, stop compute charges. wake: continue a paused one (seconds: its new time limit, if it has one; no_capacity means retry); a paused one with autoWake also wakes by itself on the next exec, file, terminal or preview request. extend: seconds more for one with a time limit (one without needs none). retention: days (1 to 365) a paused or stopped one is kept; null, the default, keeps it while your account has credit. persist: policy {persistent, maxTotalCostMicros?} keeps it running until stopped, never idle-paused. restart: start a stopped one from its disk. switch-image: move it to image, keeping only /workspace (its home), volumes, env, name and previews; processes restart and everything else on its disk is lost (snapshot first to keep everything); undone if anything fails. update: change name, labels, env (a value sets a variable, null removes it; values are never shown again), autoWake or idlePauseSeconds (0 never; otherwise 10 to 86400, counted from the last activity). Waits until done.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
envNoupdate: environment for every later command; a value sets a variable, null removes it.
daysNoretention: days to keep a paused sandbox, or null to keep it while your account has credit.
keepNoswitch-image: optional, only "workspace", the only thing a switch keeps; older clients send it.
nameNoupdate: a new name, unique in the account.
waitNoWait until the change is done (default).
imageNoswitch-image: the image to move to: id, name, name:tag or name@version.
actionYes
labelsNoYour own key/value tags, at most 32. Filter lists with label=key:value.
policyNo
secondsNoextend: move its time limit this many seconds later. wake: its new time limit, for a sandbox that has one.
autoWakeNoupdate: whether a request wakes it when paused.
idempotencyKeyNoOptional: left out, one is made and returned as idempotencyKey. Send it back only to retry this exact call after a temporary error.
idlePauseSecondsNoupdate: pause after this many idle seconds, 10 to 86400; 0 never.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare destructive/read-only/idempotent flags, and the description adds substantial context on top: which state is destroyed vs retained per action, billing implications (compute charges, paused storage), that snapshots survive delete, that switch-image is transactional and rolls back on failure, and that env values are never shown again. This is rich disclosure beyond the structured fields.

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

Conciseness4/5

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

The 'action: effect' prefix pattern imposes order on a dense multi-action tool, and little is wasted given ten behaviors must be covered. It is a single long run-on block rather than clearly delimited sections, which slightly hurts scanability.

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

Completeness4/5

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

For a 14-parameter, ten-action tool with nested objects and no output schema, the description covers each action's side effects and the wait/idempotency mechanics, which is largely enough. It does not hint at return shape or failure modes, a minor gap given the absence of an output schema.

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 79%, and the description maps parameters to the actions that consume them (seconds for wake vs extend, days for retention, policy for persist, env/name/labels/autoWake/idlePauseSeconds for update), clarifying cross-action ambiguity the flat schema does not. It adds meaning over the schema but does not fill every remaining gap.

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

Purpose4/5

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

Each of the ten actions is stated with a concrete verb and its resource effect (stop keeps disk, delete revokes previews and ports, switch-image keeps only /workspace), so the tool's scope is unambiguous. It never names the sibling that handles the adjacent task (create/fork/inspect), so differentiation from those is left implicit rather than explicit.

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?

The action-by-action semantics effectively encode when to choose one over another: pause keeps memory and disk with no compute charge, stop keeps only disk as billed paused storage, delete is permanent. It stops short of explicit when-not rules or naming alternative tools, so the agent must infer selection from the contrasts.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.