Skip to main content
Glama
Wiro MCP Server

Wiro MCP Server

Official
by wiroai

Wait for a Wiro task

wait_for_task
Read-onlyIdempotent

Waits for an existing Wiro task to finish without resubmitting it, letting you poll completion and retrieve generated media results.

Instructions

Wait for an existing Wiro task without submitting a new model run. If it is still running, repeat the exact nextAction returned by this tool. Do not resubmit the original request. A completed tool-call turn may return a run_model continuation template after its calls have been executed. When it completes, present every returned media resource in the user-facing response instead of reporting only task metadata.

Input Schema

NameRequiredDescriptionDefault
taskidNoThe task ID (alternative to tasktoken).
tasktokenNoThe task token returned from run_model.
timeout_secondsNoMaximum seconds to wait. The 45-second default is safe for clients with a 60-second tool timeout.

Output Schema

NameRequiredDescriptionDefault
taskYes
errorNo
stateYes
outputsYes
responseNo
nextActionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.4.1
    • removedOutput schema / properties / outputs / items / properties / url / format
      Removed value: -"uri"
    • addedOutput schema / properties / task / properties / chargedUsd
      Added value: +{
      +  "description": "What the payer was charged, after any discount.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / task / properties / costUsd / description
      Added value: +"The model's list price for this task."
  2. Changed3 schema fields changedv1.3.0
    • addedOutput schema / properties / outputs / items / properties / finishreason
      Added value: +{
      +  "enum": [
      +    "stop",
      +    "tool_calls",
      +    "length",
      +    "content_filter",
      +    "error"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / outputs / items / properties / segments
      Added value: +{
      +  "items": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "text": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "enum": [
      +              "thinking",
      +              "answer"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "text"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "arguments": {
      +            "type": "string"
      +          },
      +          "call_id": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "enum": [
      +              "in_progress",
      +              "completed",
      +              "incomplete"
      +            ],
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "function_call",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "id",
      +          "call_id",
      +          "name",
      +          "arguments",
      +          "status"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "call_id": {
      +            "type": "string"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "input": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "$ref": "#/properties/outputs/items/properties/segments/items/anyOf/1/properties/status"
      +          },
      +          "type": {
      +            "const": "custom_tool_call",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "id",
      +          "call_id",
      +          "name",
      +          "input",
      +          "status"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / outputs / items / properties / usage
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "input_tokens": {
      +      "maximum": 1000000000000000,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "input_tokens_details": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "audio_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "cache_write_1h_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "cache_write_5m_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "cache_write_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "cached_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "image_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "text_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "video_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "output_tokens": {
      +      "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +    },
      +    "output_tokens_details": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "accepted_prediction_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "audio_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "image_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "reasoning_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "rejected_prediction_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "text_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "video_tokens": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "server_tool_use": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "bash_code_execution_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "code_execution_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "computer_use_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "file_search_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "image_generation_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "text_editor_code_execution_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "web_fetch_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        },
      +        "web_search_requests": {
      +          "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "total_tokens": {
      +      "$ref": "#/properties/outputs/items/properties/usage/properties/input_tokens"
      +    }
      +  },
      +  "required": [
      +    "input_tokens",
      +    "output_tokens",
      +    "total_tokens"
      +  ],
      +  "type": "object"
      +}
  3. Changed2 schema fields changedv1.2.3
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  4. Addedv1.2.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish that this is read-only, idempotent, and non-destructive. The description adds useful behavioral context: use the returned nextAction, avoid resubmission, handle continuation templates, and present media resources when complete.

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 front-loaded with the core purpose and then gives concise operational guidance. Some sentences carry agent-behavior instructions rather than tool-specific behavior, but they still add practical value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/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 do not need full explanation in the description. The description supplies enough context about waiting, continuation, and media presentation for an agent to use the tool 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 100%, so the parameters are already fully documented by the schema. The description adds no additional parameter-level syntax or constraints beyond what the schema provides.

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 and resource: waiting for an existing Wiro task. It also immediately distinguishes this from submitting a new model run, which separates it from run_model.

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?

It gives clear operational guidance for repeated polling and explicitly warns not to resubmit the original request. It does not explicitly compare against siblings like get_task, but the intended usage is still clear.

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