Skip to main content
Glama

Prepare a local photo upload to TriFit

prepare_trifit_upload

For a user-selected local file in Codex, with explicit permission: create a private, one-use upload URL valid for at most five minutes. PUT only that JPEG/PNG/WebP file as raw bytes, with its image Content-Type, no API/OAuth headers and no redirects. Do not print or share the URL. The PUT saves/resizes the image in the connected account library and selects its website photo/product slot; product images use cached description preparation. Preserve clientImportId and the returned assetId. Never retry an uncertain upload automatically. Preparing does not upload or generate.

Input Schema

NameRequiredDescriptionDefault
roleYes
clientImportIdYesStable UUID for this user-approved import. Never replace after an uncertain upload.
permissionConfirmedYes

Output Schema

NameRequiredDescriptionDefault
roleYes
methodYes
maxBytesYes
expiresAtYes
uploadUrlYes
environmentYes
clientImportIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations: the URL is one-use and expires in five minutes, the PUT resizes and slots the image into the connected account library (personal vs product behaviour), description prep is cached for products, and the caller must preserve clientImportId and assetId. The no-retry rule discloses the non-idempotent failure semantics that idempotentHint=false alone would not make actionable.

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 (create a one-use upload URL) and every following sentence adds a distinct operational constraint. It is dense and somewhat run-on, packing PUT mechanics, storage effects, and retry policy into one paragraph, but little is wasted.

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?

An output schema exists, so return values need no explanation, yet the description still tells the agent what the returned assetId is for. Authentication posture (no API/OAuth headers), size/type limits, retry policy, and the personal-vs-product distinction are all covered for a mutation-adjacent tool.

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 only 33%, so the description must compensate. It explains the consequence of role ('product images use cached description preparation' vs website photo slot) and reinforces clientImportId as the stable import key that survives an uncertain upload; permissionConfirmed is only covered indirectly via 'with explicit permission'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource: 'create a private, one-use upload URL valid for at most five minutes' for a user-selected local file. The final sentence ('Preparing does not upload or generate') implicitly separates it from upload_trifit_image and create_trifit_try_on, but no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear preconditions ('user-selected local file in Codex, with explicit permission') and hard rules: PUT only JPEG/PNG/WebP raw bytes, no API/OAuth headers, no redirects, never retry an uncertain upload. It does not explicitly name which sibling to use when the file is remote or when the user wants a try-on instead of an upload.

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.