Skip to main content
Glama

runsheet_upload_video

Upload a local video file to YouTube and schedule its release as a private draft, keeping the file off Runsheet's servers.

Instructions

Upload a video file from THIS machine to YouTube through Runsheet, and schedule it. The file is read from local disk and streamed straight to YouTube; it is never sent to Runsheet's servers. The upload always goes up PRIVATE and can never be published immediately: either give it a publish_at at least fifteen minutes in the future, in which case YouTube publishes it itself at that time, or leave it out and it stays a private draft. Short versus long is detected from the file's dimensions when ffprobe is available, so you usually do not need to pass kind. If a thumbnail image sits next to the video with the same name, or is named thumbnail.png, it is picked up automatically. IMPORTANT: until Runsheet's YouTube compliance audit clears, uploads are capped at 25 a day per account and 80 a day across all of Runsheet, so a large batch stops partway through with a message saying when the allowance returns. A channel connected with its own Google client spends its own allowance instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoOverrides the detected format.
pathYesAbsolute path to the video file on this machine.
tagsNoUp to 60 tags.
titleYesThe YouTube title. Under 100 characters, no angle brackets.
publish_atNoISO 8601 timestamp at least fifteen minutes from now, for example 2026-09-24T18:00:00Z. Omit to leave it as a private draft.
descriptionNoThe YouTube description. Under 5000 characters.
thumbnail_pathNoAbsolute path to a thumbnail image. Under 2MB.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: local disk read streamed directly to YouTube (never touching Runsheet servers), always PRIVATE, never published immediately, the 15-minute publish_at floor, ffprobe-based kind detection, automatic thumbnail pickup, and explicit rate limits (25/day per account, 80/day global, channel-specific allowance).

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?

It is on the long side, but nearly every sentence carries a distinct behavioral fact and the core action is front-loaded. The quota paragraph is flagged IMPORTANT, which is justified given the operational consequence of a batch silently stopping.

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 7-param mutation tool with no annotations and no output schema, it covers behavior, scheduling semantics, and quota constraints thoroughly. The one gap is that it never says what the call returns or how partial-batch failure is surfaced programmatically, which matters without an output schema.

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%, so baseline is 3, but the description adds real semantics the schema lacks: that kind is usually unnecessary because it is auto-detected, and that thumbnail_path is often unnecessary because a co-located/thumbnail.png image is auto-adopted.

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 with scope: 'Upload a video file from THIS machine to YouTube through Runsheet, and schedule it.' It also names the key distinction from siblings, which are read/list/utility tools (list_local_videos, make_thumbnail), leaving no ambiguity about what this tool does.

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?

Gives clear conditional guidance: pass publish_at to schedule, omit to leave a private draft, pass kind only to override detection, and thumbnails are auto-picked-up when named or co-located. It does not explicitly name an alternative sibling to use instead, but for an upload tool the main usage decisions are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.