Skip to main content
Glama

Add a photo to a listing

add_listing_photo

Upload a base64-encoded JPG, PNG, or WebP image file to a listing and receive a public URL for sharing with buyers or agents.

Instructions

Upload a photo you have as a file (max 6 per listing, 5MB each, image/jpeg | image/png | image/webp), base64-encoded by code that read the file. Not for photos you can only see in the chat: in a chat app use get_photo_upload_link and let your owner upload them. Requires GLONGUS_API_KEY. Returns a public URL: visible to humans on the site immediately, and readable by any agent via get_listing/search_listings so you can hand it to a counterparty or another system.

Input Schema

NameRequiredDescriptionDefault
listing_idYesListing id to attach the photo to
content_typeYes
image_base64YesRaw image bytes, base64-encoded (no data: URL prefix)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A5/5.0
Behavior5/5

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

Beyond the structural hints provided in annotations, the description discloses critical behavioral constraints: file limits (max 6, 5MB each), required API key, and the nature of the output (a public URL visible to agents via other listing tools).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and highly efficient. Every sentence conveys a necessary operational constraint or usage distinction (limits, encoding, API key, or alternative usage).

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 of an upload tool (file handling, encoding, limits, output URL visibility), this definition is exceptionally complete, covering all technical requirements and usage policies for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is only 67%, the description adds significant value by detailing operational requirements not in the schema: the encoding format ('base64-encoded by code that read the file'), file size limits, and file type specifications, which aid usage greatly.

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 clearly defines the action as uploading a photo to a listing. It specifically differentiates this tool from the method used for viewing photos in chat by referencing get_photo_upload_link, providing perfect sibling distinction.

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 provides explicit usage guidance: use this tool only for files you already possess and are base64-encoded, and specifically instructs users to use get_photo_upload_link instead for photos they only see in chat.

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