Skip to main content
Glama

youtube_upload_caption

Destructive

Upload an approved caption file to a YouTube video using an approval ID, with no media bytes returned.

Instructions

Upload an approved caption file without returning media bytes.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "videoId": "<videoId>",
      "filePath": "<filePath>",
      "mimeType": "<mimeType>",
      "language": "<language>",
      "name": "<name>",
      "approvalId": "<approvalId>"
    },
    "name": "youtube_upload_caption"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesCaption track name shown to viewers, up to 150 characters.
confirmNoMust be true to execute; set it only after youtube_approve approved this exact preview.
isDraftNoWhether the caption track is a draft that is not shown to viewers.
videoIdYesID of an owned video the caption belongs to.
filePathYesAbsolute path to the local caption file.
languageYesCaption language code, e.g. en.
mimeTypeYesCaption file MIME type: application/octet-stream, application/ttml+xml, text/plain or text/vtt.
approvalIdYesApproval ID from the youtube_preflight_caption_upload preview, after approving it with youtube_approve.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.3.1
    • addedInput schema / properties / approvalId / description
      Added value: +"Approval ID from the youtube_preflight_caption_upload preview, after approving it with youtube_approve."
    • addedInput schema / properties / confirm / description
      Added value: +"Must be true to execute; set it only after youtube_approve approved this exact preview."
    • addedInput schema / properties / filePath / description
      Added value: +"Absolute path to the local caption file."
    • addedInput schema / properties / isDraft / description
      Added value: +"Whether the caption track is a draft that is not shown to viewers."
    • addedInput schema / properties / language / description
      Added value: +"Caption language code, e.g. en."
    • addedInput schema / properties / mimeType / description
      Added value: +"Caption file MIME type: application/octet-stream, application/ttml+xml, text/plain or text/vtt."
    • addedInput schema / properties / name / description
      Added value: +"Caption track name shown to viewers, up to 150 characters."
    • addedInput schema / properties / videoId / description
      Added value: +"ID of an owned video the caption belongs to."
  2. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already disclose destructiveHint=true, so the description does not need to repeat that this is a mutation. The description adds some value by noting that it uploads an 'approved' file and returns no media bytes, but it omits the approval/confirm workflow and the overwrite/destructive implications beyond what the annotation already signals.

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?

A single short sentence that front-loads the action and states the key scope qualifier ('approved') and output behavior. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core action, the approval prerequisite, and the lack of returned media bytes, and the schema richly documents all eight parameters. However, for a destructive upload that requires an approval chain and confirm=true, the description does not explain the preflight/approve workflow or destructive implications beyond what the schema and annotation provide.

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 100%, so every parameter is already documented in the input schema, including approvalId and confirm. The description does not add syntax, format, or selection guidance beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/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: 'Upload ... caption file.' It also adds a scope detail, 'approved caption file,' clarifying that this is not an unapproved or preflight operation. It does not explicitly distinguish itself from nearby siblings like youtube_update_caption or youtube_preflight_caption_upload, so it stops short of a 5.

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

Usage Guidelines3/5

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

The phrase 'approved caption file' implies a prerequisite and narrows usage to post-approval uploads, but the description does not explicitly name alternatives such as youtube_update_caption or youtube_preflight_caption_upload, nor does it say when not to use this tool. Usage is therefore implied rather than spelled out.

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

Deploy Server

Other Tools