Skip to main content
Glama

Prepare Asset Upload

prepare_asset_upload

App-only: authorizes one explicitly selected file upload to the project and returns its upload permission as private widget metadata. Does not transfer file bytes, replace files, apply a design or change the project icon.

Input Schema

NameRequiredDescriptionDefault
kindYes
filenameYes
platformNo
projectIdYes
sizeBytesYes
deviceTypeNo
contentTypeYes

Output Schema

NameRequiredDescriptionDefault
dataNo
errorNo
messageNo
successYes
widgetDataJsonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false; the description meaningfully extends this by clarifying that the call is non-destructive in practice (no bytes moved, no files replaced, no design applied, no icon changed) and that the result is a private widget-scoped permission. It does not, however, describe authorization scopes, expiry or reuse semantics of the returned permission, or rate limits.

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?

Two sentences, front-loaded with the authorizing behavior and followed by exclusions, with no filler. Every clause adds discriminating information.

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

Completeness3/5

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

An output schema exists and the description explains the nature of the returned permission, so return values are adequately covered. For a 7-parameter tool with three enums and zero schema descriptions, though, a reader still lacks guidance on parameter intent and the follow-up call needed to actually upload the file, leaving the definition only minimally complete.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters (5 required, 3 with enums), so the description carries the full burden — but it mentions no parameters at all. It only hints that exactly one file is involved 'explicitly selected'; the meaning of kind, platform, deviceType, contentType, and the 25 MB sizeBytes ceiling is left entirely to bare schema constraints.

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 uses a specific verb and resource: it authorizes one explicitly selected file upload to a project and returns the resulting upload permission. The closing negation ('does not transfer file bytes, replace files, apply a design or change the project icon') draws a sharp boundary between this tool and siblings like upload_asset, replace_asset, and apply_screenshot_style.

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 negative clauses imply when this tool is not the right choice, and 'authorizes one explicitly selected file upload' implies a pre-upload authorization step. However, the description never states the intended workflow, i.e. that it should be called before the actual byte transfer via upload_asset, nor any prerequisite or ordering constraint. Usage has to be inferred.

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.