Skip to main content
Glama

Get Task Status

tasks_get
Read-onlyIdempotent

Tool equivalent of the native MCP tasks/get, listed for clients without the Tasks capability. Returns the Task status document for a task_id (holding up to wait_ms while the task is working). next_action is sleep_and_poll (wait sleep_ms, then one tasks_get), consume_result (one tasks_result call), or stop_error. status=cancelled means the user stopped it. While queued, _meta carries queue_position, queue_depth, queue_lane, and estimated_start_ms, which is advisory and not a wait time. Polling never starts work.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "task_id": "<task_id>"
    },
    "name": "tasks_get"
  }
}

Input Schema

NameRequiredDescriptionDefault
task_idYestask_id from the submitting tool's result (same value as job_id).
wait_msNoOptional milliseconds to hold on the server while the task is working so completed tasks return consume_result without an extra poll round-trip.

Output Schema

NameRequiredDescriptionDefault
ttlNo
_metaNo
phaseNo
statusNo
taskIdNo
progressNo
sleep_msNo
terminalNo
createdAtNo
poll_loopNo
next_actionNo
do_this_nextNo
next_poll_atNo
pollIntervalNo
lastUpdatedAtNo
source_statusNo
statusMessageNo
recommended_poll_delay_msNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / task_id / description
      Added value: +"task_id from the submitting tool's result (same value as job_id)."
    • addedInput schema / properties / wait_ms / description
      Added value: +"Optional milliseconds to hold on the server while the task is working so completed tasks return consume_result without an extra poll round-trip."
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / properties
      Added value: +{
      +  "_meta": {
      +    "type": "object"
      +  },
      +  "createdAt": {
      +    "type": "string"
      +  },
      +  "do_this_next": {
      +    "type": "object"
      +  },
      +  "lastUpdatedAt": {
      +    "type": "string"
      +  },
      +  "next_action": {
      +    "type": "string"
      +  },
      +  "next_poll_at": {
      +    "type": "string"
      +  },
      +  "phase": {
      +    "type": "string"
      +  },
      +  "pollInterval": {
      +    "type": "integer"
      +  },
      +  "poll_loop": {
      +    "type": "object"
      +  },
      +  "progress": {
      +    "type": "number"
      +  },
      +  "recommended_poll_delay_ms": {
      +    "type": "integer"
      +  },
      +  "sleep_ms": {
      +    "type": "integer"
      +  },
      +  "source_status": {
      +    "type": "string"
      +  },
      +  "status": {
      +    "type": "string"
      +  },
      +  "statusMessage": {
      +    "type": "string"
      +  },
      +  "taskId": {
      +    "type": "string"
      +  },
      +  "terminal": {
      +    "type": "boolean"
      +  },
      +  "ttl": {
      +    "type": "integer"
      +  }
      +}
    • removedOutput schema / title
      Removed value: -"tasks_getDictOutput"
  2. Changed1 schema field changed
    • addedInput schema / properties / wait_ms
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Wait Ms"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare this a read-only, idempotent, non-destructive operation, so the safety profile is covered; the description goes further with non-obvious traits: polling never starts work, status=cancelled means the user stopped it, and queue metadata only appears while queued. It also warns that estimated_start_ms is advisory and not a wait time, which prevents a plausible misuse.

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, followed by the origin/eligibility note, then the behavioral details. Dense but nearly every sentence carries distinct information; only the native-equivalence framing borders on boilerplate for the calling agent.

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?

An output schema exists so return values need not be spelled out, yet the description still supplies the interpretation of next_action and status values an agent needs to act on the response. With only two fully documented parameters and rich annotations, nothing required for correct invocation is missing.

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 coverage is 100%, so the baseline is 3, but the description adds operational meaning to wait_ms by tying it to the outcome (completed tasks return consume_result without an extra poll round-trip) and clarifies it holds on the server while the task is working. The clarification that estimated_start_ms is not a wait time further disambiguates the timing parameters.

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?

States a specific verb and resource (returns the Task status document for a task_id) and immediately distinguishes itself from the native MCP tasks/get by declaring it is the equivalent for clients without the Tasks capability. It also separates itself from the sibling tasks_result by naming the consume_result path.

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?

Gives explicit routing via next_action: sleep_and_poll means wait sleep_ms then call tasks_get again, consume_result means a single tasks_result call, stop_error means stop. That is a complete when-to-use/when-to-use-something-else decision tree with no inference required.

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