Skip to main content
Glama

Get an upload link

get_upload_link

Makes a private reeltopus.com link where the user uploads a video or audio file from their device, for when they can't send the file here. Give the user the link: they open it signed in to Reeltopus and upload there. The project is created right away (status 'uploading' until the file arrives), so call get_status with its id every 30-60 seconds; after the upload it moves to processing, then ready. Hours are held only once the file is uploaded. The link expires after an hour.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_upload_link"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNostandard: processed now. archive: back-catalog processing overnight at half the hours.standard
titleNoOptional project title; the file's name is used otherwise.
languageNoThe spoken language as a BCP 47 code (e.g. hi, ja, pt). Leave out to detect it.
captionScriptNoFor Hindi and other Indian languages: native writes the language's own script (Devanagari for Hindi), latin writes Hinglish the way people type it, mixed keeps English words in Latin letters. Ignored for other languages.
idempotencyKeyNoOptional. Reuse the same value when retrying this exact call, so it isn't done twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare the generic safety flags (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description carries the real behavioral load and does: the project is created immediately in 'uploading' status before any file exists, billing hours are only held after upload, and the link expires in an hour. What it omits is the response shape (which field holds the URL) and whether a second call creates a duplicate project.

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?

Purpose is front-loaded in the first clause, followed by delivery instructions, polling cadence and constraints; nearly every sentence carries operational information. It is on the long side and the signed-in instruction ('they open it signed in to Reeltopus') is the only sentence that could be trimmed without losing agent-relevant detail.

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 zero-required-parameter creation tool with no output schema, the description covers what is created, when, the resulting state, how to follow up, billing timing and expiry. The one gap is that it never says what the call returns (presumably a URL and project id), which the agent must surface to the user.

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 coverage is 100%, so mode, title, language, captionScript and idempotencyKey are already documented in the schema, including enum meanings. The description adds only indirect meaning, tying mode's archive option to the 'hours are held only once the file is uploaded' billing note; it says nothing about how title, language or captionScript behave in practice.

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?

The description states a concrete verb and resource: it 'makes a private reeltopus.com link' where the end user uploads a video or audio file. It implicitly separates itself from the direct-upload siblings (start_upload, get_upload_part_urls) with 'for when they can't send the file here', though it never names those tools.

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 gives an explicit selection condition ('for when they can't send the file here') and a follow-up procedure (poll get_status with the returned id every 30-60 seconds, status transitions uploading -> processing -> ready). Link expiry after an hour and hours being held only after upload are stated so the agent knows the operational constraints.

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.