Skip to main content
Glama

Create a media upload link

create_upload_link

Get a one-time upload link for a file that lives on the user's machine (image, video or PDF) so it can be attached to a post. Returns a short-lived signed upload URL the user opens or PUTs the file to, plus the permanent public URL to pass into media_urls on schedule_post or update_post. Only reference the public URL on a post after the user confirms the upload finished. This is the default route for real photos, videos and carousel PDFs — anything above 32 KB. upload_media is only for tiny files you are already holding. Max 200 MB.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameYesThe file's name, e.g. carousel.pdf or hero.mp4.
content_typeNoMIME type. Inferred from the filename extension when omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

The annotations only provide false hints (not read-only, not idempotent, not destructive), so the description carries the full burden of explaining behavior. It discloses that the link is one-time, the upload URL is short-lived, the file can be opened or PUT to, there is a permanent public URL, the workflow requires confirming upload completion, and the file must be under 200 MB. It also explains the alternative for tiny files. This is comprehensive behavioral disclosure.

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?

Four sentences with zero waste. The first sentence states the core purpose, the second explains return values, the third adds a crucial timing caveat, and the fourth provides the tool selection rule and size limits. Everything is front-loaded and every sentence earns its place.

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?

For a 2-parameter tool with no output schema, the description covers everything needed to call it correctly: what it returns, how to use the response, the upload method (open or PUT), the size constraints, and the relationship to the sibling tool. The agent has all necessary context to invoke and handle the result.

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?

Schema coverage is 100% (both parameters have descriptions), so the baseline is 3. The description adds meaning beyond the schema by clarifying the file lives on the user's machine, listing supported types (image, video, PDF), and setting the 32 KB threshold and 200 MB maximum. These details help an agent select the right tool and understand constraints without opening the schema.

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 states a specific verb and resource: 'Get a one-time upload link for a file... so it can be attached to a post.' It also differentiates itself from sibling upload_media by noting it is the default for files over 32 KB. An agent can clearly identify what this tool does and how it differs from related 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?

Explicitly provides when-to-use guidance: 'This is the default route for real photos, videos and carousel PDFs — anything above 32 KB. upload_media is only for tiny files you are already holding.' It also instructs how to use the result: pass the public URL into media_urls on schedule_post or update_post, and only after the user confirms the upload finished. No ambiguity remains about when to choose this tool over upload_media.

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.

Resources