Skip to main content
Glama

Get Generation Status

get_generation_status
Read-onlyIdempotent

Check the status of an asynchronous SVG App generation.

Use after create_mascot, generate_mascot_pose, create_mascot_animation, generate_composition, create_generation, or remove_image_background returns generationId.

Do not use resources/list or resources/read for polling. MCP hosts decide how resources are included, and resources are not guaranteed to be browsed autonomously. This direct tool is the reliable polling path.

Next tool to call: if status is pending, keep using the returned placeholder-backed URL and call get_generation_status again later with the same generationId. If status is completed, the same URL redirects to the final asset. For animations, completed means the transparent WebM version is ready. If status is failed, inspect errorMessage and decide whether to retry the creation tool.

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": {
      "generationId": "<generationId>"
    },
    "name": "get_generation_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
workspaceNoOptional workspace id or slug from list_workspaces. Defaults to the user's personal workspace. Use the same workspace for every call in a workflow, because generations, mascots, and palettes belong to one workspace.
generationIdYesThe generationId returned by create_mascot, generate_mascot_pose, create_mascot_animation, generate_composition, create_generation, vectorize_image, or remove_image_background.

Output Schema

NameRequiredDescriptionDefault
statusYesCurrent async state. If pending, poll get_generation_status. If completed, call get_generated_asset.
assetUrlNoEmbeddable asset URL for the generation, matching imageUrl for images and videoUrl for animations. It can be used immediately while polling continues.
canvasIdNoUnderlying SVG App canvas id when the generation produced an image. Kept for UI integration and background removal.
imageUrlNoEmbeddable image URL. It is returned immediately, serves a frontend placeholder while pending, and redirects to the final image when ready.
mimeTypeNoMIME type of the final asset when known, for example image/png or video/mp4.
videoUrlNoEmbeddable video URL for animation generations. It is returned immediately, serves a frontend placeholder video while pending, and redirects to the final transparent WebM video when ready.
nextActionYesThe exact next MCP action the model/client should take for this generation.
animationIdNoUnderlying SVG App video generation id when the generation produced an animation.
resourceUriNoOptional MCP resource URI for clients that explicitly choose to read resources. Do not rely on resources for polling.
generationIdYesPass this exact id to get_generation_status until status is completed. The returned asset URL can be used immediately.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnly/idempotent/non-destructive), the description discloses the non-obvious runtime behaviors: a placeholder-backed URL is returned while pending, the same URL later redirects to the final asset, and for animations 'completed' specifically means the transparent WebM is ready. It also explains that failures surface errorMessage and that retrying is a caller decision.

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?

Front-loaded with a one-line purpose, then trigger, then anti-pattern, then next-step routing — a sensible ordering with no filler. It is longer than typical, and the anti-resource paragraph is somewhat verbose, but every block carries operational information an agent needs.

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-shape detail is not required, yet the description still covers the status lifecycle, the meaning of the returned URL across states, and the failure path. For a two-parameter, fully documented polling tool, nothing an agent needs in order to call it correctly is missing.

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 both workspace and generationId are already documented in the schema, including the workspace-consistency constraint. The description reinforces the polling rule of reusing the same generationId but adds no format or syntax detail beyond the schema, so the baseline of 3 applies.

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 ('Check the status of an asynchronous SVG App generation') and scopes it as a polling tool, which cleanly separates it from the create_* siblings that originate generations. An agent can distinguish it from get_generated_asset or list_recent_generations 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 six creator tools that produce a generationId as the trigger condition, and explicitly excludes resources/list and resources/read with a reason (hosts don't guarantee autonomous browsing). It then gives per-status next actions (pending → re-poll with same id, completed → URL redirects, failed → inspect errorMessage), leaving nothing to inference.

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.