Skip to main content
Glama

read many sync jobs

jobs_get-many
Idempotent

Read up to 50 Sync jobs of any kind by kind and ID to check status, progress, results, and running/completed/failed counts; optionally wait until they finish or about 50 seconds pass.

Instructions

Read up to 50 Sync jobs of any kind at once, such as the set jobs_create-many started, by kind and id (Ids by kind:

  • generation: the id from lipsync_create, dubbing_create, lipsync_create-timeline or dialogue-videos_create

  • transcription: the id from transcriptions_create or dialogue-transcriptions_create

  • speaker_analysis: the transcription id

  • translation_preview: the translation-previews_create id, plus its projectId

  • import: the social video link passed to assets_create, plus the same projectId (and projectIntent if that call needed it)

  • batch: the batches_create id

  • dialogue_preview: the dialogue-previews_create id, plus its projectId and videoAssetId

  • speech_preview: the speech-previews_create id, plus its projectId). Returns each job as jobs_get does, {kind, id, status, progress?, estimatedFinishAt?, retryAfterMs?, result}, in input order, or {kind, id, error} for one that could not be read, plus counts of running, completed, failed and unreadable jobs. status is PENDING or PROCESSING while a job runs (never create it again), then COMPLETED, FAILED, REJECTED or CANCELED. Pass wait: true to wait on the server until all are final or about 50 seconds pass, with progress notifications; call again with wait: true while some are still running.

Input Schema

NameRequiredDescriptionDefault
jobsYesThe jobs to read, up to 50; pass jobs_create-many's jobs list as it is.
waitNoWait on the server until every job is final or about 50 seconds pass, then return the latest states. If some are still running, call again with wait: true instead of sleeping.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.4

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false and openWorldHint=true, yet the description still adds a lot: exact return shape per job in input order, error entries for unreadable jobs, aggregate counts, the full status lifecycle, progress notifications, and the ~50 second server-side cap on wait. It does not explain why readOnlyHint is false for a tool framed as 'Read', which is the one behavioural loose end.

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?

Purpose is front-loaded in the first clause and every block earns its place, but the per-kind id rules are crammed into one long parenthetical bullet list inside a single paragraph, which makes the definition dense to scan. Structuring the kind-to-id mapping as its own listed block would improve it without adding words.

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?

Despite having only two parameters, this tool has a non-trivial contract (batched heterogeneous ids, partial failures, polling). The description covers id sourcing, batching limits, error entries, counts, status transitions, and wait/retry semantics, so an agent can call it correctly without further context.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline would be 3, but the description carries information the schema explicitly defers to it ('see the tool description per kind'): the source of each kind's id, and which kinds additionally require projectId, projectIntent, or videoAssetId. That mapping is the whole difficulty of using this tool and exists nowhere else.

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 opening clause gives a specific verb, resource, and bounded scope: 'Read up to 50 Sync jobs of any kind at once ... by kind and id'. It also anchors the tool to the producer that creates these jobs (jobs_create-many), which is exactly what distinguishes it from the single-job jobs_get and the blocking jobs_wait.

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?

Usage is spelled out concretely: pass jobs_create-many's jobs list as-is, per-kind id derivation rules, 'never create it again' while status is PENDING/PROCESSING, and 'call again with wait: true instead of sleeping'. The only gap is that it never names jobs_get or jobs_wait as the alternatives for a single job or a pure blocking wait.

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