Skip to main content
Glama

runtime_sandboxes_previews

Destructive

HTTPS addresses for ports inside a sandbox, https://-./. create(id, port, visibility?, ttlSeconds?, expiresAt?, embedOrigins?): private (default) needs the token as the x-runtime-preview-token header, or urlWithToken; public (an account with a kept top-up only) needs none and shows browsers a one-time warning. WebSockets work. embedOrigins limits which sites may show it in an iframe. Idempotent per port. list(id): Each shared port, with a fresh day-long token if private; tokens signed before keep their own expiry. rotate(id, port): A new token; the old ones stop working, as when a link leaked. delete(id, port): Stop sharing the port. session_create(id, sessionSeconds?, origins?): A web page's token for this sandbox's commands, files and previews; shown once. session_list(id): Without tokens. session_revoke(id, sessionId): Ends it now.

Input Schema

NameRequiredDescriptionDefault
idNo
portNoThe port inside the sandbox.
actionYes
originsNo
expiresAtNoAn absolute private-token deadline, at least a minute and at most a week ahead. The token never outlives it.
sessionIdNo
ttlSecondsNoThe token's lifetime in seconds.
visibilityNoprivate (default): a token is needed. public: anyone with the address; only for an account with a kept top-up.
embedOriginsNoThe sites that may show this preview in an iframe, as origins: https://app.example.com, https://*.example.com for its subdomains, or http://localhost:3000. Up to 16. Any other site's iframe is refused, and a private link's token works in an iframe only on these. Omitted on a preview that exists: kept as it is. [] or null: any site (the default).
sessionSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint=true, openWorldHint=true) by disclosing that private previews need the x-runtime-preview-token header, that public visibility requires a kept top-up and shows a one-time browser warning, that WebSockets work, that create is idempotent per port, that rotate invalidates old tokens, and that session tokens are shown only once. These are the exact behavioral facts an agent needs for a multi-action mutation surface.

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?

Front-loads the resource definition before the per-action breakdown, and every clause maps to a distinct action or constraint, so little is wasted. The dense run-on packing of all seven actions into one paragraph makes it harder to scan than a bulleted layout would be.

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?

With no output schema, the description carries the return burden and does describe what list returns (ports plus a fresh private token) and that session_create's token is shown once. All seven actions and the key visibility/embedding behaviors are covered, leaving only minor gaps such as the meaning of origins/sessionSeconds.

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

Parameters3/5

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

Schema description coverage is 50% (port, ttlSeconds, expiresAt, visibility, embedOrigins documented in-schema). The description reinforces visibility/embedOrigins semantics and implies a day-long default ttl, but origins, sessionSeconds and sessionId are only named in the action signatures, not explained, so the description does not fully compensate for the coverage 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?

Opens with a concrete resource and format ('HTTPS addresses for ports inside a sandbox, https://<port>-<sandbox>.<domain>/') and then names a specific verb for every one of the seven actions (create, list, rotate, delete, session_create, session_list, session_revoke). The purpose is unmistakable, though it never explicitly distinguishes itself from adjacent siblings like runtime_ports or runtime_sandboxes_browser.

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?

Each action carries usage context: 'rotate... as when a link leaked', 'delete: Stop sharing the port', 'list: Each shared port, with a fresh day-long token if private'. This tells the agent when each action applies, but there is no explicit when-not guidance or named alternative tools for the cases where a sibling (e.g. runtime_ports) would be the better choice.

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.