Skip to main content
Glama

media_upload

Store images from this conversation (generated here or attached by the merchant) in the shop's media library and get a public address for each. Use it whenever a picture has no public address of its own, then give each product its picture with products_add_image using the returned url (propose_plan for several). Pass the images as images; a client that cannot pass files may send one small image as data_base64 instead. Images are re-encoded to WebP; nothing on the storefront changes until a product is given the picture.

Input Schema

NameRequiredDescriptionDefault
imagesNoThe images, as files from this conversation.
file_nameNoA name for the base64 image, e.g. velinha-baunilha.png.
data_base64NoOne image's bytes in base64, only when files cannot be passed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly false, destructive false, openWorld true, idempotent false), and the description adds genuinely new context: images are re-encoded to WebP, nothing on the storefront changes until a product is assigned the picture, and a base64 fallback exists for clients that cannot pass files. It does not explicitly warn about re-upload duplication, which is the one gap given idempotentHint=false.

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 the core action and the address outcome, then the usage rule, then the fallback. Dense but nearly every clause carries information; the '(propose_plan for several)' aside is the only slightly tangential element.

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 correctly explains what is returned (a public address per image) and how to use it downstream. Combined with the WebP note and storefront-invisibility caveat, an agent has everything needed to call it and interpret the result.

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, but the description goes beyond the schema by stating the selection logic between `images` and `data_base64` (one small image, only when files cannot be passed) rather than merely restating field names. Minor deduction for not mentioning the 10-item cap or the required download_url/file_id pair.

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 — storing conversation images in the shop's media library and returning a public address — and implicitly distinguishes itself from products_add_image, which is named as the downstream consumer of the returned url. An agent can tell exactly what this tool produces.

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?

Explicit selection rule: 'Use it whenever a picture has no public address of its own,' followed by the next step (products_add_image with the returned url, propose_plan for several). This routes the agent both into and out of the tool without 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.