Skip to main content
Glama

Start media upload

create_media_upload

Reserve a presigned R2 upload URL for a direct browser upload (used by the composer UI). For scripted uploads use upload_media instead. Use this when you need a presigned URL for a large direct upload (advanced; prefer upload_media for normal files).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sizeBytesYesFile size in bytes.
contentTypeYesFile MIME type, e.g. image/png or video/mp4.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already cover read-only and destructive hints, and the description adds useful context about browser vs scripted use and large direct uploads. However, it does not disclose potential follow-up steps such as finalization or expiration of the reserved URL, which would be valuable for a multi-step upload flow.

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?

The description is concise and front-loaded with the core behavior, then provides usage guidance. The second sentence is slightly repetitive after the first, but it still contributes useful alternative selection 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 simple two-parameter tool with no output schema, the description is fairly complete: it explains the purpose, audience, and when to prefer the alternative. The main gap is not mentioning that this is the first step in a larger media-upload workflow that may require a later finalize call.

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 descriptions cover both parameters completely (contentType as MIME type, sizeBytes as file size), so the description does not need to add much. The description adds context about the presigned URL use case but no new parameter-level meaning beyond 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: 'Reserve a presigned R2 upload URL for a direct browser upload.' It also explicitly calls out the composer UI context and differentiates itself from upload_media, making its distinct role clear among many media-related sibling 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?

The description gives explicit usage guidance: 'For scripted uploads use upload_media instead' and 'Use this when you need a presigned URL for a large direct upload (advanced; prefer upload_media for normal files).' This clearly tells an agent when to choose this tool over its primary alternative.

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.

TDQS

A3.8/5.0
Disambiguation3/5

Many tools occupy adjacent spaces, especially the interactive view_* tools versus their get_/list_ counterparts (view_posts/list_posts, view_analytics/get_analytics) and the multiple upload paths (upload_media, create_media_upload, multipart flow). Detailed 'Use this when' guidance helps, but an agent could still misselect between compose_post and create_post or between bulk_posts and the individual delete/retry/update operations.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout: create/get/update/delete/list for each resource (posts, media, labels, channel sets, RSS feeds, schedules), plus publish/approve/reject/retry/upload/view. No style mixing or inconsistent casing.

Tool Count1/5

51 tools is an extremely large surface, crossing the calibration's 50+ extreme threshold. While the platform covers many subdomains, this volume is likely to overwhelm agents and makes the toolkit unwieldy for an MCP server.

Completeness4/5

The toolkit provides broad lifecycle coverage: CRUD for posts, media, labels, channel sets, RSS feeds, and schedules, plus publishing, approvals, retries, bulk operations, analytics, quota, channel health, and media upload variants. Minor gaps exist, such as no get_channel single-resource getter and no way to update media labels directly, but agents can work around these.

Resources