Skip to main content
Glama

Upscale Image (Popcraft)

popcraft_upscale_image

Upscale and enhance an existing image to 2x or 4x with Topaz — use when the user asks to upscale, enhance, sharpen, or increase the resolution of an image. Pass the source image as a GCS URL (image_url from a prior generation result or popcraft_media_import_url); width and height (pixels) are optional hints — the server measures the real file and prices from that, so the cost is unaffected by what you pass. mode picks the Topaz model: "standard-mode" (default, general photos/faces), "face-recovery-mode" (degraded portraits), "art-and-anime" (illustrations/logos), "cgi-mode" (3D renders), "text-and-shapes" (screenshots/documents), "creative-mode" (re-imagine). This tool does not use prompt or count. Set get_cost:true to preflight the credit cost WITHOUT submitting. On success, an interactive result card is shown and refreshes itself automatically — do NOT poll; call popcraft_job_display at most once if no card is visible. The result includes project — the Popcraft project the output was filed into; when the user did not pass project_id/project_name, mention it briefly (e.g. "saved to "). Never tell the user how long the job will take or quote any estimate of generation time — the result card shows progress.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoTopaz mode — default "standard-mode"; see the description for when to pick the others
scaleNoUpscale factor: 2 (default) or 4
widthNoOptional source width hint (px); the server measures the real file for pricing
heightNoOptional source height hint (px); the server measures the real file for pricing
get_costNotrue = return the exact credit cost WITHOUT submitting
image_urlYesSource image as a GCS https URL (from a prior result or popcraft_media_import_url) or gs:// URI
project_idNoFile the result into this Popcraft project (id from popcraft_projects). Omit to use the user's current/last-used project (or a default). Errors if you don't own it.
project_nameNoFile the result into the project with this title, creating it if it doesn't exist. Ignored when project_id is set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / height / description
      Previous value: -"Source image height in pixels"New value: +"Optional source height hint (px); the server measures the real file for pricing"
    • changedInput schema / properties / width / description
      Previous value: -"Source image width in pixels (caller-supplied; the server does not infer it)"New value: +"Optional source width hint (px); the server measures the real file for pricing"
    • changedInput schema / required
      Previous value: -[
      -  "image_url",
      -  "width",
      -  "height"
      -]New value: +[
      +  "image_url"
      +]
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: pricing is measured from the real file so width/height hints don't affect cost, the tool ignores prompt/count, get_cost preflights without submitting, a result card self-refreshes so the agent must not poll, and the result carries the target project. It also handles the async flow explicitly ('call popcraft_job_display at most once if no card is visible') and forbids quoting generation-time estimates, which the annotations do not convey.

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?

Dense but front-loaded: purpose and trigger come first, then parameter guidance, then pricing, then async/polling rules. Nearly every sentence carries operational weight, though the mode enumeration and the polling/result-card instructions make it long enough that the paragraph could be segmented for faster scanning.

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?

For an 8-parameter, async job tool with no output schema, it covers a lot an agent needs: input source, pricing semantics, preflight flag, project filing, and the result-card lifecycle. It is not fully complete because one third of the mode enum values are unexplained, and the mode description in the schema points back to a description that never defines them.

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 baseline is 3, but the description genuinely adds meaning: it maps modes to content types (faces, degraded portraits, illustrations/logos, 3D renders, screenshots/documents, re-imagine) and explains that width/height are advisory hints that do not affect cost. It is docked one point because the schema enum exposes nine modes (high-fidelity-mode, low-res-mode, standard-max are absent) while the description only explains six, leaving a gap that the schema's own text delegates back to the description.

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 + resource + scope: 'Upscale and enhance an existing image to 2x or 4x with Topaz.' The image resource immediately separates it from the sibling popcraft_upscale_video and popcraft_upgrade_video, and the 2x/4x constraint tells the agent what the tool can and cannot produce.

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?

Gives an explicit trigger ('use when the user asks to upscale, enhance, sharpen, or increase the resolution of an image') and an operational precondition ('pass the source image as a GCS URL ... from a prior generation result or popcraft_media_import_url'). It does not explicitly name the image-vs-video alternative 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.