Skip to main content
Glama

Job handle

job
Destructive

Check, wait for, list, or cancel long-running Roblox Studio operations by job ID. Get status snapshots with progress and results, block until completion, or stop a job at its next yield boundary.

Instructions

Track long operations that returned {job_id, status:'running'}. status {job_id} → {status: running|done|error, op, dm, elapsed_ms, progress, notes, hub_connected, result?, error?}. wait {job_id, wait_ms ≤ 50000} blocks until the job finishes or the wait elapses, then returns the same snapshot. list → {jobs:[…]} running first, then recent ones (find an id you lost). cancel {job_id} asks Studio to stop the program at its next S.yield()/slice boundary and rolls back an edit-DM recording; the job then finishes with error.code 'cancelled'. Jobs survive a Studio reconnect (hub_connected false while it is away) and end at their deadline. Finished jobs expire 10 minutes after completion.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
job_idNoThe job handle returned by a running tool call (status/cancel/wait)
wait_msNowait: max time to block (default 25000, max 50000)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations indicate destructiveHint=true)Skiputations; the description thoroughly details cancel's behavior: stops at next yield/slice, rolls back edit-DM, job finishes with error.code 'cancelled'. It also explains survival across reconnects and expiration. This goes well beyond annotations, providing comprehensive behavioral context.

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 description is dense but organized by subcommands, front-loading the core purpose. Each sentence carries meaningful info (status format, wait limits, cancel rollback, expiration). Minor redundancy: repeating {job_id, status:'running'} and action details could be trimmed, but overall efficient.

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 no output schema, the description defines the exact output snapshot for status/wait (fields like status, op, dm, elapsed_ms). It covers all actions, edge cases (lost IDs, reconnect, expiration), and parameter constraints. An agent has full info to invoke correctly.

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 67% (job_id and wait_ms are described, but action enum values are not). The description compensates by explaining each action's meaning and input expectations (e.g., wait_ms ≤ 50000). But it doesn't add additional parameter-level details beyond what schema provides, so a 3 is appropriate.

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?

The description states that this tool tracks long operations and demonstrates the subcommands (status, wait, list, cancel) with their exact output formats. It clearly identifies the resource (job handles) and the actions available. However, it doesn't explicitly name sibling tools to differentiate from, relying on the subcommands to convey purpose.

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 description explains when to use each action: status to check progress, wait to block until finish, list to find lost IDs, cancel to stop and rollback. It also notes jobs survive reconnects and expire after 10 minutes, giving clear context. It doesn't explicitly say when NOT to use this tool versus alternatives, but the subcommands are self-contained.

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

Deploy Server

Other Tools