Skip to main content
Glama

youtube_update_metadata

Destructive

Update approved metadata for an owned YouTube video, including title, description, tags, privacy, category, language, and future publish time.

Instructions

Write approved merged owned-video metadata. Public, scheduled, and synthetic-media changes need elevated intent. 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>",
      "approvalId": "<approvalId>"
    },
    "name": "youtube_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.
confirmNoMust be true to execute; set it only after youtube_approve approved this exact preview.
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.
approvalIdYesApproval ID from the youtube_preflight_update_metadata preview, after approving it with youtube_approve.
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. Changed13 schema fields changedv0.3.1
    • addedInput schema / properties / approvalId / description
      Added value: +"Approval ID from the youtube_preflight_update_metadata preview, after approving it with youtube_approve."
    • addedInput schema / properties / categoryId / description
      Added value: +"Numeric video category ID from youtube_list_video_categories."
    • 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 / 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

A4.7/5.0
Behavior4/5

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

While the annotation provides a high-level safety warning (destructiveHint: true), the description significantly enhances transparency by detailing the complex operational state required ('approved merged') and the need for 'elevated intent' for certain changes. This adds specific operational context beyond the hint.

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 brief and highly efficient. Both sentences contribute essential, non-redundant information, and the structural flow guides the agent from general purpose to specific constraints.

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

Completeness5/5

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

Considering the complexity of YouTube metadata updates (multi-step approval processes, privacy restrictions, synthetic media), the description is highly complete. It captures the necessary operational requirements to select and invoke the tool correctly, mitigating risks associated with its destructive nature.

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?

With 100% schema coverage, the schema handles data constraints. The description adds semantic value by explaining the required state of the data (merged, approved) and specific functional constraints (ISO 8601 time for publishAt) that help the agent understand valid inputs.

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 tool purpose is clearly stated: 'Write approved merged owned-video metadata.' It defines the target resource and its current state (approved/merged), providing high specificity.

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 outlines crucial constraints for tool usage, stating explicitly that public, scheduled, and synthetic-media changes require elevated intent. It also defines a specific precondition for the `publishAt` parameter, which is highly actionable.

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