Skip to main content
Glama

upload_file

Uploads images, videos, audio files, or documents to Dreep and returns a ready-to-use delivery URL. Applies optional transforms before storage, replacing the original.

Instructions

Uploads an image, video, audio file or document to Dreep and returns the asset.

The result's url is the ready-to-use delivery URL. Files over 100 MB stream straight to storage through a presigned upload. A transform given here is applied before storage and replaces the original.

Input Schema

NameRequiredDescriptionDefault
keyNoFull object key (folder path + filename). Excludes folder/folder_id.
pathNoPath of a local file to send. Give this or content_base64, not both.
folderNoDestination folder slug path, e.g. 'marketing/2026'. Created if missing.
filenameNoFilename to store, e.g. 'hero.jpg'. Defaults to the path's name.
folder_idNoUUID of an existing destination folder.
transformNoTransform to apply. On upload it runs before storage.
preset_keyNoKey of a saved preset to apply instead of 'transform'.
content_typeNoMIME type; guessed from the filename if omitted.
content_base64NoFile content, base64-encoded (20 MB max). Requires filename.
auto_create_foldersNoFalse to require the folder path to exist already.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/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, idempotent=false, openWorld=true), and the description adds genuinely non-obvious behavior: the 100 MB presigned streaming path, and that a transform runs before storage and replaces the original rather than producing a separate derived asset. It stops short of stating auth requirements or failure modes, so a 4 rather than 5.

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?

Three short sentences, front-loaded with what the tool does and what it returns, followed by the two operationally important caveats. No filler or restated field names.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the brief mention of the `url` field is sufficient and return values need no further explanation. For a 10-parameter upload tool the description covers the important behavioral surprises, though it leaves the routing question against the presigned-upload siblings unanswered.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3; every parameter, including the full TransformInput object, is already documented inline. The description adds only the timing semantics of `transform` (applied before storage, replacing the original), which is useful but narrow.

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 specific verb and resource ('Uploads an image, video, audio file or document to Dreep') and names the outcome ('returns the asset'). It does not, however, distinguish itself from siblings like create_upload_url and confirm_upload, which appear to implement the two-step presigned flow this tool is adjacent to.

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

Usage Guidelines3/5

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

The note that files over 100 MB stream through a presigned upload implies this tool handles large files directly, but there is no explicit when-to-use/when-not guidance versus create_upload_url + confirm_upload. The choice between inline base64 and this tool is only documented in the schema, not in the description.

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