Skip to main content
Glama

Get task results

get_task_results
Read-only

Required after any call that returned status: running.

The task keeps working, but its results are not delivered until polled. The call waits for the next event — a new streaming chunk on any listed task, or a task settling — then returns the state of all listed tasks. Tasks settle one at a time: keep calling with the still-running ids to collect the rest (settledInThisCall lists the ones that just finished).

Streaming chunks from advanced_web_fetch, advanced_web_search and seo_metrics arrive in streaming.chunks; chunks already delivered are never redelivered. Act on partial chunks: fire follow-up calls in parallel and pass their new ids to the next get_task_results.

credits.spent is what was charged since the previous response for the same tasks — a running task keeps charging after the call that started it answers — so spent summed over that first response and every poll is the full cost.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
taskIdsYesIds of tasks that returned `status: "running"`. Up to 64 per call.
maxWaitSecNoMaximum seconds to wait for the next event. Both the default and the ceiling are the server's 50 seconds — a larger value is clamped down to it. Pass `0` for an immediate non-blocking read.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The description goes far beyond the readOnlyHint annotation, disclosing several behavioral traits: the call waits for the next event, tasks settle one at a time, chunks are never redelivered, and credits.spent is incremental since the previous response. It also explains the semantics of settledInThisCall and the streaming.chunks location. No contradiction with annotations, and the description adds rich 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 longer than average but packed with essential operational details (polling, streaming, credits). It is front-loaded with the primary condition and then organizes information into clear paragraphs. While not every sentence is strictly necessary, the density justifies the length; it earns a 4 for being well-structured despite its length.

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 the tool's complexity—polling, streaming, partial results, and cost accounting—the description is remarkably complete. It explains the wait behavior, the one-at-a-time settling, the streaming chunks from specific sibling tools, and the precise meaning of credits.spent. With no output schema, it also conveys the result structure (state, settledInThisCall, streaming.chunks). Nothing critical is missing for an agent to call it 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?

The input schema already provides 100% coverage of both parameters, including detailed descriptions for taskIds (ids that returned running, max 64) and maxWaitSec (default/clamp and 0 for immediate). The description adds minimal extra parameter semantics; it reinforces that taskIds must be running ids and mentions the default wait, but these are already in the schema. Thus a baseline 3 is appropriate, as the schema does the heavy lifting.

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 clearly states the tool's purpose: it is required after any call that returned status running, and it waits for events then returns the state of all listed tasks. It names the specific verb (get task results) and distinguishes from siblings like advanced_web_fetch and advanced_web_search, which are the task initiators. The phrase 'Required after any call that returned status: running' leaves no ambiguity.

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 explicitly states when to use the tool: 'Required after any call that returned status: running.' It also explains the polling pattern: keep calling with still-running ids, and how to act on partial chunks. It does not explicitly name alternative tools or say when not to use it, but the context makes it clear this is the only polling mechanism, so it earns a 4 rather than a 5.

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.

Resources