Skip to main content
Glama

Wait for Audio Project

wait_for_audio_project
Read-only

Poll an audio project until it completes, errors, is canceled, or times out. Returns the final project JSON and, when complete, attempts to inline audio downloads for Inspector or compatible clients. Returns sanitized download fields. Use exact_download_urls[n] or downloads[n].url exactly as returned; do not shorten it, remove query parameters, or append expiration metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
timeout_secondsNo
max_inline_downloadsNo
poll_interval_secondsNo
max_bytes_per_downloadNo
include_inline_downloadsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / context
      Removed value: -{
      -  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as \"a user\", \"the customer\", or \"an account\". Example: \"Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution.\"",
      +  "type": "string"
      +}
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare a safe read (readOnlyHint=true, destructiveHint=false), so the description adds the genuinely non-obvious behavior: that it blocks/polls, that it opportunistically inlines audio downloads, and that returned download fields are sanitized. It does not say what happens to the caller (or the project) when the timeout is reached, which is the one behavioral gap.

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 return behavior and then the operational warning. Every sentence earns its place; only the URL-preservation sentence is verbose, though it is defensibly so given its correctness stakes.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does usefully sketch the return (final project JSON plus sanitized/inlined download fields), and it covers terminal conditions. However, for a 6-parameter blocking tool with 0% schema coverage, the input contract is left almost entirely unexplained, which is a real completeness gap.

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

Parameters2/5

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

Schema description coverage is 0% across 6 parameters, so the description must carry the meaning and it does not. Only timeout and inline-download behavior are hinted at ('times out', 'attempts to inline audio downloads'); poll_interval_seconds, max_bytes_per_download, include_inline_downloads, and the id semantics are never explained. The URL-handling advice concerns outputs, not inputs.

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 (poll/wait) plus resource (audio project) and enumerates the terminal conditions it waits on (complete, error, canceled, timeout). This clearly separates it from siblings like audio_projects_retrieve_details (a one-shot read) and wait_for_video_project/wait_for_image_project (different resources).

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 conveys the core usage contract: call this when you need to block until the project reaches a terminal state, and it names the four terminal states that end the wait. It does not explicitly compare itself to a non-blocking retrieve sibling or state when not to use it, so it stops short of 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