Skip to main content
Glama

Fetch images from a ChatGPT conversation

fetch_images

Downloads generated images from an existing ChatGPT conversation link without sending anything, so you can recover images after a timed-out job or save images from an earlier chat.

Instructions

Download the generated images of the latest answer in an existing ChatGPT conversation (by its link) without sending anything. Use it when a job timed out or failed after ChatGPT had started, but the chat finished later, or to save images from an earlier chat. Like generate_image it returns within wait_seconds (default 45); if it says STILL RUNNING or QUEUED, keep calling job_status with its job_id.

Input Schema

NameRequiredDescriptionDefault
output_dirNoOptional folder to also copy the image(s) into (absolute path preferred).
aspect_ratioNoOptional W:H (between 1:4 and 4:1, e.g. 16:9) to crop the downloaded images to, from the centre; the full images are kept too. For the result of a generate_image job, pass its aspect_ratio again.
wait_secondsNoReturn within this many seconds. The default 45 keeps each call under the 60-second tool limit some clients have. If the job has not finished by then, the result says STILL RUNNING or QUEUED: call job_status with its job_id again.
include_previewNoAttach a downscaled preview.
conversation_urlYesChatGPT conversation link (https://chatgpt.com/…/c/…).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, it discloses the wait_seconds timing behavior, the STILL RUNNING/QUEUED return state, and the follow-up action with the job_id, which is the information an agent needs to drive this tool. It does not spell out that files are written to disk (readOnlyHint=false despite 'without sending anything'), which would have been helpful given the output_dir parameter.

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 key action and link requirement are front-loaded, followed by usage triggers and return behavior. It is dense but each clause (timeout/retry, earlier chat, wait_seconds, STILL RUNNING) contributes; only the 'Like generate_image' aside slightly compresses two ideas into one sentence.

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?

With five parameters, no output schema, and openWorldHint=true, the description covers the essential return semantics (timeout states, job_id) and the non-generating nature of the call. The gap is that file-writing side effects and the output_dir interplay are only implicit, which matters for a remote-fetch tool.

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 coverage is 100%, so the schema already documents all five parameters thoroughly. The description reinforces wait_seconds' default and explains that aspect_ratio should be re-passed from a generate_image job, but adds little beyond that; the baseline 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?

The description states a specific verb and resource ('Download the generated images of the latest answer in an existing ChatGPT conversation (by its link)') and explicitly scopes it to non-generating retrieval ('without sending anything'), which separates it from siblings generate_image and job_status.

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?

It gives explicit triggers ('when a job timed out or failed... but the chat finished later', 'or to save images from an earlier chat') and routes the agent to job_status when the result is STILL RUNNING/QUEUED, so there is no ambiguity about when to use it or what to do next.

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