Skip to main content
Glama

Create Upload URL

create-upload-url

Get a short-lived signed URL to PUT a file body to (max 10 MB, pdf/doc/docx/xlsx/pptx/jpg/jpeg/png/gif/webp). Then call upload-file with the returned upload_id to finish. Use upload-file directly with source_url or base64 when you can.

Input Schema

NameRequiredDescriptionDefault
filenameYesThe file name with its extension, e.g. "brief.pdf". Allowed extensions: pdf, doc, docx, xlsx, pptx, jpg, png, gif, webp, jpeg.

Output Schema

NameRequiredDescriptionDefault
urlYes
headersYes
upload_idYes
expires_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Adds real behavioral context beyond the readOnlyHint/destructiveHint/idempotentHint annotations: the URL is short-lived, the upload is capped at 10 MB, the file-type whitelist, and the fact that this tool only starts a workflow that must be completed by upload-file. It does not state the actual TTL or what error surfaces when the URL expires or the size cap is exceeded, which keeps it short of a 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 sentences, front-loaded with the core action and constraints, then the follow-up step, then the alternative route. Nothing is wasted and the ordering matches how the agent needs the information.

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?

For a one-parameter starter tool with an output schema and annotations present, the description supplies the key missing context: size limit, accepted types, URL lifetime, and the required downstream call. It leaves minor gaps around failure modes (expired URL, over-size file) but nothing an agent needs in order to invoke it correctly on the happy path.

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?

Only one parameter and schema coverage is 100% — the schema already documents that filename must include its extension and enumerates the allowed extensions. The description's extension list simply repeats that, adding no new meaning. Baseline 3 is appropriate.

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 — 'Get a short-lived signed URL to PUT a file body to' — and immediately distinguishes it from the sibling upload-file by contrasting the two-step flow with the direct source_url/base64 path. An agent can tell exactly which of the two upload tools this is.

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?

Gives explicit routing guidance in both directions: use this tool to obtain a PUT target, then call upload-file with the returned upload_id; but prefer upload-file directly with source_url or base64 'when you can.' That is a when-to-use / when-to-prefer-an-alternative statement, not an implication.

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.