Skip to main content
Glama

Reserve media upload slots

media_reserve_upload

Reserve up to 5 upload slots for files you made in the workspace (or hold locally). Each slot has a 24 h presigned PUT uploadUrl; upload with exactly the slot's Content-Type, e.g. in the workspace: vg put out.mp4 '' --content-type video/mp4. Then call media_confirm with the slot's key and use the confirmed publicUrl in video_project_create / video_project_edit ops. Free.

Input Schema

NameRequiredDescriptionDefault
filesYes

Output Schema

NameRequiredDescriptionDefault
slotsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already disclose the mutation profile (readOnly=false, idempotent=false, destructive=false), and the description adds value beyond that: 24-hour presigned URL expiry, the 5-slot cap, the exact Content-Type matching requirement, and cost ('Free'). It does not cover auth requirements or what happens if a slot expires unused, but the added operational detail is substantial.

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?

Dense but front-loaded: the scope (up to 5 slots, 24h), the actionable example command, the follow-up call, and the cost note each earn their place. No filler sentences.

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?

An output schema exists, so return values need no explanation, and the description still references the slot key and confirmed publicUrl that an agent needs for the next step. The 24h expiry plus free cost completes the operational picture. Only the array/nesting details are missing.

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 description coverage is 0% at the top level, so the description must carry meaning, and it does explain the key semantic that uploads must use exactly the slot's Content-Type with a concrete example. However it never addresses the 'files' array shape or the optional sizeBytes field, so the compensation is partial.

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 ('Reserve up to 5 upload slots') and frames the whole chain: reserve -> PUT -> media_confirm -> use publicUrl in video_project_create/edit. This clearly distinguishes it from siblings like create_upload, swap_upload and ai_edit_upload, whose purposes are not spelled out here but whose names imply different entry points. An agent can pick this tool for presigned-upload workflows without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes the workflow context well: this is the first step for files created in the workspace or held locally, followed by media_confirm. It names the downstream consumers of the resulting publicUrl. It does not, however, explicitly say when to prefer this over sibling upload tools such as create_upload or ai_edit_upload, so a competitor path is left to inference.

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