Skip to main content
Glama

Request Upload Link

request_upload_link

Get an upload page for files that live on the user's device (a video or photos on their phone or laptop) and therefore have no public URL. Returns a link valid for 24 hours; give it to the user, they open it and drop one or many files in (a whole carousel at once is fine), and each file lands in their Post Bridge media library. In Claude and ChatGPT the upload box renders right in the chat and the media ids are reported back to you when the upload finishes; elsewhere, call list_media (newest first) after the user says they are done and take as many media_ids as files they uploaded, then pass them to create_post. Use this whenever the user wants to post a file that upload_media cannot reach: no URL, larger than 3MB, and you cannot run shell commands on the user's machine (if you can, use upload_media with size_bytes instead).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the generic non-readonly/non-destructive profile, but the description adds real behavioral detail: the link expires in 24 hours, one or many files can be dropped at once, and media_ids are auto-reported in Claude/ChatGPT while other clients require a list_media fallback. That is exactly the context annotations cannot carry.

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-loads the core purpose and the 24-hour validity, then layers the workflow. It is on the long side with a dense final sentence, but nearly every clause carries operational information an agent needs rather than filler.

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?

No output schema and no parameters, so the description must explain what comes back and what to do next, and it does both: the link's lifetime, how ids are surfaced per client, and the list_media/create_post handoff. Nothing needed to invoke it correctly is missing.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. It does usefully describe the downstream artifacts (the link, the media_ids) the caller will consume.

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+resource (get an upload page for device-local files) and immediately scopes it against siblings: it is for files with no public URL, which upload_media cannot reach. An agent can distinguish it from upload_media and request_connect_link without opening any schema.

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 when-to-use conditions (no URL, larger than 3MB, no shell access on the user's machine) and names the alternative plus its selector: 'if you can run shell commands, use upload_media with size_bytes instead.' It also prescribes the post-upload workflow (list_media newest-first, then create_post).

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.