Skip to main content
Glama

youtube_preflight_update_metadata

Destructive

Read, merge, and preview metadata changes for an owned YouTube video before applying them, including scheduling a private, never-public video with a future publish time.

Instructions

Read, merge, and preview an owned-video metadata update. publishAt only works on a private video that has never been public, with a future ISO 8601 time.

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>"
    },
    "name": "youtube_preflight_update_metadata"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagsNoReplacement tag list, up to 500 tags of up to 500 characters each.
titleNoNew video title, up to 100 characters.
publishNoMust be true when privacyStatus is public, as a separate confirmation.
videoIdYesID of an owned video to update.
elevatedNoMust be true for public, scheduled, synthetic-media or made-for-kids changes, after the user reviewed them.
publishAtNoFuture ISO 8601 time. YouTube only schedules a private video that has never been public.
categoryIdNoNumeric video category ID from youtube_list_video_categories.
descriptionNoNew video description, up to 5000 characters.
privacyStatusNoVisibility: private, unlisted or public.
defaultLanguageNoDefault language code of the video, e.g. en.
containsSyntheticMediaNoWhether the video contains realistic altered or synthetic media; needs elevated: true.
selfDeclaredMadeForKidsNoWhether the video is made for kids; needs elevated: true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changedv0.3.1
    • addedInput schema / properties / categoryId / description
      Added value: +"Numeric video category ID from youtube_list_video_categories."
    • addedInput schema / properties / containsSyntheticMedia / description
      Added value: +"Whether the video contains realistic altered or synthetic media; needs elevated: true."
    • addedInput schema / properties / defaultLanguage / description
      Added value: +"Default language code of the video, e.g. en."
    • addedInput schema / properties / description / description
      Added value: +"New video description, up to 5000 characters."
    • addedInput schema / properties / elevated / description
      Added value: +"Must be true for public, scheduled, synthetic-media or made-for-kids changes, after the user reviewed them."
    • addedInput schema / properties / privacyStatus / description
      Added value: +"Visibility: private, unlisted or public."
    • addedInput schema / properties / publish / description
      Added value: +"Must be true when privacyStatus is public, as a separate confirmation."
    • addedInput schema / properties / selfDeclaredMadeForKids / description
      Added value: +"Whether the video is made for kids; needs elevated: true."
    • addedInput schema / properties / tags / description
      Added value: +"Replacement tag list, up to 500 tags of up to 500 characters each."
    • addedInput schema / properties / title / description
      Added value: +"New video title, up to 100 characters."
    • addedInput schema / properties / videoId / description
      Added value: +"ID of an owned video to update."
  2. Changed1 schema field changedv0.3.0
    • addedInput schema / properties / publishAt / description
      Added value: +"Future ISO 8601 time. YouTube only schedules a private video that has never been public."
  3. First observedv0.1.0

TDQS

C2.9/5.0
Behavior1/5

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

The annotations declare destructiveHint=true, but the description says the tool reads, merges, and previews an update, which implies no destructive change is applied. That is a direct inconsistency between the stated behavior and the annotation, and the description adds little about side effects or confirmation requirements.

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?

The description is two tight sentences, front-loaded with the core behavior and followed by the most important constraint. There is no wasted prose.

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

Completeness2/5

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

For a 12-parameter preflight tool with no output schema and only one annotation, the description is too thin. It omits what the preview returns, how merge behaves for omitted fields, and how the elevated/publish confirmation workflow is meant to be used.

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 all 12 parameters are already documented in the input schema. The description only repeats the publishAt constraint that the schema itself explains, so it does not add meaningful parameter semantics beyond the structured data.

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 names specific actions (read, merge, preview) and the resource (owned-video metadata update), making the preflight purpose clear. It implicitly distinguishes itself from the actual update sibling by using 'preview', but it does not explicitly name youtube_update_metadata or explain the pairing.

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 description implies this should be used before applying a metadata update, and it states a specific publishAt constraint. However, it does not explicitly say when to use this versus youtube_update_metadata, nor does it describe the workflow after preview.

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