Skip to main content
Glama

Get a YouTube video's transcript

get_youtube_transcript
Read-onlyIdempotent

Returns the title, channel, duration and full transcript (subtitles or automatic captions) of a public YouTube video, with a timestamp every 30 seconds. In the video's original language by default; can translate the captions (lang). Use when: you need to know what is said in a YouTube video, summarize it or quote it. Example: {"video":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}

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": {
      "video": "<video>"
    },
    "name": "get_youtube_transcript"
  }
}

Input Schema

NameRequiredDescriptionDefault
langNoWanted language code (en, fr, nl…). Default: the video's own captions
startNo
videoYesYouTube address (watch, youtu.be, shorts) or 11-character video id
max_charsNo
timestampsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the description earns credit for adding real behavior: the 30-second timestamp cadence, 'public' videos only, default caption language versus translation, and the shape of the returned data. It omits how max_chars truncation behaves, which is the one materially useful behavior left undisclosed.

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?

Return contents lead, the language default follows, then a labeled 'Use when' and a concrete example — every sentence pays for itself and a reader can stop after the first line with enough to act.

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?

With no output schema, the description usefully describes the returned fields and format, and annotations cover the safety profile. Remaining gaps — truncation past max_chars, the start offset, and what happens for private/region-locked videos — are real but secondary for a read-only fetch tool.

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 coverage is only 40%, so the description has to carry weight: it explains the lang parameter ('can translate the captions', default original) and effectively demonstrates the video format via the example URL. But start and max_chars are never mentioned in the description and have no schema description either, leaving offset and silent truncation behavior undocumented.

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 names a specific verb+resource (return the transcript of a YouTube video) and enumerates the exact payload: title, channel, duration, and full subtitles/auto-captions with 30-second timestamps. That is far more specific than the sibling list_channel_videos, so an agent can distinguish them without opening either schema.

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?

An explicit 'Use when: you need to know what is said in a YouTube video, summarize it or quote it' gives concrete triggering conditions. It stops short of naming alternatives or exclusions (e.g., when to use list_channel_videos instead, or what happens for non-public videos), so it lands just below the top mark.

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.

Resources