Skip to main content
Glama

wait_for_completions

Wait for completions across multiple submitted jobs, then collect their durable results. Reuse the cursor to replay results; advance to consume new ones.

Instructions

Collect durable terminal results across multiple known jobs after a cursor.

Existing completions return immediately. Otherwise the call waits until at least one selected job completes or the optional call-level timeout expires. Reusing the same cursor replays results; advancing to next_cursor consumes the returned batch. A timeout never cancels a managed job.

Submit all independent jobs before calling this tool. Treat delivery as at-least-once: process and deduplicate by completion_id before advancing the cursor. Do not use this for one job, do not poll get_job_status between continuation calls, and never resubmit active jobs after a waiter disconnects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
job_idsYes
after_cursorNo
timeout_secondsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It goes beyond a simple 'wait for completions' by revealing durability, immediate return of existing completions, cursor replay/consume semantics, at-least-once delivery with deduplication by completion_id, timeout non-cancellation, and disconnect-related resubmission guidance.

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 compact and well-structured in three dense paragraphs: purpose/behavior, cursor semantics, and usage guardrails. Every sentence adds meaningful information, and the first sentence immediately establishes the tool's role.

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?

With no annotations and moderate cursor/wait complexity, the description is complete enough for an agent to use it safely: it covers delivery guarantees, cursor lifecycle, timeout behavior, and coordination expectations. Since an output schema exists, the lack of return-field elaboration is not a gap.

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 description coverage is 0%, so the description must add parameter meaning. It substantially explains after_cursor (replay vs. advancing to next_cursor) and timeout_seconds (excluding cancellation), while surface-level job_ids and limit are mostly left to their self-explanatory names and schema defaults. This is strong compensation, though not exhaustive for limit.

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 states a specific verb+resource+scope: 'Collect durable terminal results across multiple known jobs after a cursor.' It also clearly distinguishes itself from siblings by explicitly saying 'Do not use this for one job' and naming get_job_status as a different polling approach, so there is strong sibling differentiation.

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

Usage Guidelines5/5

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

The description gives explicit when/when-not guidance: submit independent jobs before calling, do not use for a single job, do not poll get_job_status between continuation calls, and never resubmit active jobs after a waiter disconnects. It also names an alternative tool (get_job_status) in the exclusion, making usage boundaries clear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xpluspro/Awaitless'

If you have feedback or need assistance with the MCP directory API, please join our Discord server