Skip to main content
Glama

Request image upload

request_image_upload

Call this immediately, without asking first, whenever the user has pasted or attached an image in this chat and wants Rawa to do something with it (resize it for a platform, edit it, remove its background, sharpen it, publish it, make an ad from it). You cannot read the attachment yourself and must not ask the user to re-attach it, send it another way or confirm that they want to upload: opening the panel is how the image reaches Rawa. An attached image is not in the brand's library, whatever its filename: do not search or list the library for it. Pick the brand from the conversation or the image (the user's only brand, or the one named); ask which brand only when it is genuinely unclear, and then open the panel in the same turn as you get the answer. Where the panel is shown, ask the user to drop the image(s) in it; you will be told each creativeId as it lands (an image the brand's library already holds lands as that creative), and the panel sends you a message with all of them once the upload is done. Where no panel appears, send the user the uploadUrl instead and call get_upload with the uploadId once they say they are done. The link takes up to maxImages images and expires after an hour. Free: nothing is charged for the link or the upload.

Input Schema

NameRequiredDescriptionDefault
brandIdNoA brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand.
purposeNoWhat the images are for, shown on the upload page, e.g. 'Resize for Google Ads and Snapchat'.
maxImagesNoHow many images the link accepts. Defaults to 4.

Output Schema

NameRequiredDescriptionDefault
nextYes
purposeNo
uploadIdYes
expiresAtYes
maxImagesYes
uploadUrlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / brandId / description
      Previous value: -"A brand id from get_workspace or list_brands. Omit it when the organization has a single brand."New value: +"A brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial behavioral context beyond the annotations: the upload is free, the link expires after an hour, the panel reports each creativeId as images land, and an already-owned image lands as an existing creative. It also explains what the agent should do when no panel appears. None of this contradicts the annotations.

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 opening imperative is front-loaded and nearly every sentence carries operational value. The single dense paragraph is long, but the length is justified by the multi-step upload workflow and fallback behavior.

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?

Given the complexity, annotations, and output schema, the description covers the important cases: attached-image detection, immediate invocation, brand choice, panel versus URL fallback, creativeId reporting, maxImages, expiry, and cost. No critical agent decision is left unaddressed.

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 still adds useful meaning for brandId by explaining how to infer the brand from the conversation or image and when asking is appropriate, and it reinforces maxImages via the link capacity and one-hour expiry.

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 action and resource: request image upload by opening a panel or sending an upload URL so an attached image reaches Rawa. It clearly distinguishes this from searching the brand library and from the agent trying to read the attachment itself.

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 says to call immediately when the user has pasted/attached an image and wants Rawa to act on it, and says not to ask the user to re-attach or confirm. It also names the fallback path: send uploadUrl and call get_upload with the uploadId, plus clear brand-selection rules.

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