Skip to main content
Glama

Get YouTube transcript

get_transcript
Read-onlyIdempotent

Fetch the transcript of a single YouTube video by URL or 11-character video ID. Serves the permanent cache instantly when available and otherwise fetches from YouTube (uncached fetches are limited per IP per day). Formats: clean text, timestamped, both, srt, vtt, md, json. Costs 0 credits. Example prompt: "Get the transcript of https://youtu.be/jNQXAC9IVRw."

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_url": "<video_url>"
    },
    "name": "get_transcript"
  }
}

Input Schema

NameRequiredDescriptionDefault
formatNoOutput format. Default "clean" (plain text). "timestamped" prefixes each line with a timestamp; srt/vtt are subtitle files; json is structured.
languageNoPreferred caption language code such as "en" or "pt-BR". Optional; defaults to English with fallback to whatever track exists.
video_urlYesYouTube video URL (watch, youtu.be, shorts, embed, live) or a bare 11-character video ID.

Output Schema

NameRequiredDescriptionDefault
kindYesmanual = creator captions, asr = auto-generated.
titleNoVideo title when known.
formatYesThe output format that was rendered.
channelNoChannel name when known.
languageYesLanguage of the DELIVERED track. May differ from the requested language when YouTube refuses on-the-fly translation; the text header says so when it happens.
video_idYesThe 11-character YouTube video ID.
charactersYesLength of the rendered transcript text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly and idempotent, and the description goes further by disclosing the permanent cache, the per-IP per-day cap on uncached fetches, and the zero-credit cost. The one behavioral gap is failure handling — nothing tells the agent what happens when captions are disabled or the video is unavailable.

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?

The scoping constraint and cache/rate-limit facts are front-loaded in two tight sentences. The trailing format enumeration and example prompt are mildly redundant with the schema enum, but they aid scanning without bloating the text.

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 annotations covering the safety profile and an output schema present, the description needn't explain return values, and it covers resolution, cost, caching, and rate limits. Only the error/no-captions scenario is unaddressed, which is a minor gap for a read-only lookup 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 100%, with all three parameters documented, including the format enum and language-code examples. The description's format list and 'URL or 11-character video ID' phrasing merely restate the schema, so the baseline of 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 definition opens with a precise verb and resource: 'Fetch the transcript of a single YouTube video by URL or 11-character video ID.' The word 'single' implicitly separates it from bulk/list siblings, but it never names get_bulk_download_link, list_videos, or get_latest_videos to make the boundary explicit.

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?

Usage context is clear: cached transcripts are served instantly, uncached ones hit YouTube with a per-IP daily limit, and the call costs 0 credits. It even supplies an example prompt. What's missing is any exclusion such as 'use get_bulk_download_link for multiple videos' or guidance on what to do when a video has no captions.

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