Tools

yt-text exposes three MCP tools.

For the canonical in-session usage pattern, see the Agent Guide. The short version is:

  1. use get_metadata first
  2. use list_languages when language choice matters
  3. use get_transcript when you are ready to consume transcript output

get_transcript

Fetch a transcript in one of the supported output formats.

Example:

get_transcript(url: "https://youtube.com/watch?v=dQw4w9WgXcQ", format: "markdown")

Parameters:

  • url (required)
  • lang (default: en)
  • format (default: json)

Supported formats:

  • json
  • markdown
  • srt
  • vtt
  • text

list_languages

List available caption languages for a video.

Example:

list_languages(url: "https://youtube.com/watch?v=dQw4w9WgXcQ")

get_metadata

Fetch video title, channel, duration, and caption availability.

Example:

get_metadata(url: "https://youtube.com/watch?v=dQw4w9WgXcQ")

Feature flags

Optional features are compile-time gated:

cargo build --features po-token
cargo build --features whisper
cargo build --features po-token,whisper
  • po-token: BotGuard proof-of-origin token support
  • whisper: local Whisper fallback for videos without captions

Related docs: