Skip to main content
Glama

Sats4AI - Bitcoin-Powered AI Tools

await_result

Read-onlyIdempotent

Wait for an async job to finish and return its result in ONE call — no manual polling loop. Pass the requestId + jobType from an async tool (generate_video, animate_image, generate_3d_model, transcribe_audio, epub_to_audiobook, ai_call). If your MCP client opened the request with 'Accept: text/event-stream', this streams live progress (notifications/progress) while it waits, then returns the final result; otherwise it does a single status check and returns immediately (call again until status='COMPLETED'). For long jobs it waits up to ~4 minutes per call, then returns status='IN_PROGRESS' with timed_out=true — call again with the same requestId to keep waiting. Equivalent to check_job_status + get_job_result combined. Free; no payment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jobTypeYesMust match the async tool that returned requestId.
paymentIdNoOptional: the paymentId that bought this job. If its payment was refunded, the claim link comes back only when this matches — or call check_payment_status(paymentId).
requestIdYesThe requestId returned by the async tool.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / paymentId
      Added value: +{
      +  "description": "Optional: the paymentId that bought this job. If its payment was refunded, the claim link comes back only when this matches — or call check_payment_status(paymentId).",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / jobType / enum
      Previous value: -[
      -  "video",
      -  "video-image",
      -  "video-fal-standard",
      -  "video-fal-pro",
      -  "image-3d",
      -  "transcription",
      -  "transcribe-translate",
      -  "epub-audiobook",
      -  "ai-call"
      -]New value: +[
      +  "video",
      +  "video-image",
      +  "video-fal-standard",
      +  "video-fal-pro",
      +  "image-3d",
      +  "transcription",
      +  "transcribe-translate",
      +  "translate-epub",
      +  "epub-audiobook",
      +  "ai-call"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / jobType / enum
      Previous value: -[
      -  "video",
      -  "video-image",
      -  "video-fal-standard",
      -  "video-fal-pro",
      -  "image-3d",
      -  "transcription",
      -  "epub-audiobook",
      -  "ai-call"
      -]New value: +[
      +  "video",
      +  "video-image",
      +  "video-fal-standard",
      +  "video-fal-pro",
      +  "image-3d",
      +  "transcription",
      +  "transcribe-translate",
      +  "epub-audiobook",
      +  "ai-call"
      +]
  4. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and idempotentHint, but the description adds substantial behavioral context beyond them: conditional streaming vs single-check behavior based on the Accept header, a ~4 minute per-call wait ceiling, the timed_out=true/status='IN_PROGRESS' retry contract, and that it is free with no payment. This is rich operational disclosure.

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?

Front-loaded with the core action, then layered conditions (streaming vs single-check, timeout, retry) in a single dense paragraph where every sentence carries actionable information. No filler or repetition.

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 output schema, the description steps in to describe return behavior (final result, status='COMPLETED', status='IN_PROGRESS' with timed_out=true), and covers prerequisites, timeout, and retry. An agent has everything needed to call and re-call correctly.

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. The description adds value by tying jobType to the async tools that emit requestId and by clarifying the paymentId refund-claim interaction, going beyond the schema's terse per-field text. It stops short of restating full enum semantics, so not a 5.

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 ('wait for an async job to finish and return its result in ONE call') and explicitly positions itself against siblings by noting it is 'equivalent to check_job_status + get_job_result combined.' An agent can distinguish it from the polling/status siblings without opening any schema.

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?

Explicitly names the async tools that produce the required requestId (generate_video, animate_image, generate_3d_model, transcribe_audio, epub_to_audiobook, ai_call), and gives the exact fallback protocol: call again until status='COMPLETED' or timed_out=true. 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.