Skip to main content
Glama

Final POS – Custom POS Builder

Upload images

hub_upload_media

Store image files from public URLs in the media library so the merchant can use them later. Returns the stored URL of each file. JPEG/PNG/WebP/GIF, up to 20MB each. This ONLY stores the files — it attaches them to nothing. If the merchant wants a photo ON A PRODUCT, use add_product_images instead: it uploads AND attaches in one step, and doing it here first would upload the same picture twice. Use this one when they just want the file kept — a logo, a banner, a picture for later. A file uploaded here may not appear on the cabinet's Media screen, which is fed by a separate service; the file is stored and its URL works regardless.

Input Schema

NameRequiredDescriptionDefault
imageUrlsYesPublic URLs of the images to store

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the safety profile (non-read-only, non-destructive, closed-world); the description adds substantial behavioral context beyond that: accepted formats and 20MB size cap, the fact that files are stored but attached to nothing, and the caveat that the file may not surface on the cabinet's Media screen because that view is fed by a separate service.

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 purpose, then routing guidance, then constraints, then a caveat — a logical order. It is longer than strictly necessary and repeats the 'store only' idea, but nearly every sentence earns its place for a tool with a subtle overlap risk.

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 states the return value (stored URL per file) and the format/size limits; with annotations covering safety, nothing an agent needs to invoke this correctly is missing. The Media-screen caveat closes the one surprising behavioral gap.

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% and the single parameter is self-documented, so the schema carries most of the load. The description nonetheless reinforces that inputs are public URLs and that multiple files are handled per call ('the stored URL of each file'), adding mild value over the schema.

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 ('Store image files ... in the media library') and immediately draws the boundary against the sibling hub_add_product_images. An agent can distinguish this from hub_add_product_images and hub_get_media_library without opening a 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?

Explicit when-to-use ('when they just want the file kept — a logo, a banner, a picture for later'), when-not ('This ONLY stores the files — it attaches them to nothing'), and the named alternative with its tradeoff ('use add_product_images instead ... doing it here first would upload the same picture twice').

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.