Skip to content

YouTube Transcript + YouTube Search MCP

by getyoutubetranscript.com · remote · no sign-in to list tools · v1.0.0 · published by com.getyoutubetranscript

YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.

Read only

8 tools: 8 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http youtube-transcript-and-youtube-search https://getyoutubetranscript.com/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Only reads 8Claude Code: allow
  • get_channel_latest_videosUse this when the user asks what a YouTube channel has posted recently, or wants a channel's details (name, handle, description, subscribers) with its 15 newest uploads.No findings

    Why it is in this group

    • The name "get_channel_latest_videos" says "get": a word for reading.
    Description, as the server wrote it
    Use this when the user asks what a YouTube channel has posted recently, or wants a channel's details (name, handle, description, subscribers) with its 15 newest uploads. Accepts an @handle, channel URL, or UC... ID. For a channel's full upload history use list_channel_videos; to find a topic inside one channel use search_channel_videos.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • get_creditsUse this when the user asks how many credits their getyoutubetranscript.com account has left, or after another tool reports the account has no credits remaining.No findings

    Why it is in this group

    • The name "get_credits" says "get": a word for reading.
    Description, as the server wrote it
    Use this when the user asks how many credits their getyoutubetranscript.com account has left, or after another tool reports the account has no credits remaining. Returns plan and top-up credit balances. Calling it does not use credits.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • get_transcript_languagesUse this when the user asks which caption or subtitle languages a YouTube video has, or before requesting a transcript in a non-English language when you don't know whether the vid…No findings

    Why it is in this group

    • The name "get_transcript_languages" says "get": a word for reading.
    Description, as the server wrote it
    Use this when the user asks which caption or subtitle languages a YouTube video has, or before requesting a transcript in a non-English language when you don't know whether the video offers it. Returns each language with its code (pass it as `language` to get_youtube_transcript), whether it is creator-uploaded or auto-generated, and the default language. An empty list means the video has captions turned off. Costs 1 credit. Not needed for an ordinary transcript request: get_youtube_transcript already reports which language it returned.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • get_youtube_transcriptUse this when the user shares a YouTube video link or ID, or asks to summarize, explain, quote, translate, take notes on, or chat about a specific YouTube video, lecture, podcast, …No findings

    Why it is in this group

    • The name "get_youtube_transcript" says "get": a word for reading.
    Description, as the server wrote it
    Use this when the user shares a YouTube video link or ID, or asks to summarize, explain, quote, translate, take notes on, or chat about a specific YouTube video, lecture, podcast, or talk. Returns the full spoken text (captions) as one block, plus the title and channel. Set timestamps to true when the user wants timestamps, wants to find or quote where something is said, or wants a timeline or chapter breakdown: each caption line then starts with its [m:ss] time. Accepts watch, youtu.be, Shorts, and live URLs. Do not use for non-YouTube videos or for files the user uploads. If a video has no captions, this returns an error: tell the user instead of guessing what the video says.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • list_channel_videosUse this when the user wants to browse a YouTube channel's uploads beyond its latest videos, for example to see a creator's older episodes or find a video they remember from that c…No findings

    Why it is in this group

    • The name "list_channel_videos" says "list": a word for reading.
    Description, as the server wrote it
    Use this when the user wants to browse a YouTube channel's uploads beyond its latest videos, for example to see a creator's older episodes or find a video they remember from that channel. Returns the channel's uploads (its Videos tab) one page at a time. Pass `continuation` from a previous response for the next page.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • list_playlist_videosUse this when the user shares a YouTube playlist, or wants to work through a course, lecture series, or podcast playlist video by video (for example to build study notes for each l…No findings

    Why it is in this group

    • The name "list_playlist_videos" says "list": a word for reading.
    Description, as the server wrote it
    Use this when the user shares a YouTube playlist, or wants to work through a course, lecture series, or podcast playlist video by video (for example to build study notes for each lecture). Returns the videos in playlist order, one page at a time. Pass `continuation` from a previous response for the next page.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • search_channel_videosUse this when the user wants videos from one specific YouTube channel about a topic, for example 'what has @hubermanlab said about sleep' or 'find the MIT OpenCourseWare videos on …No findings

    Why it is in this group

    • The name "search_channel_videos" says "search": a word for reading.
    Description, as the server wrote it
    Use this when the user wants videos from one specific YouTube channel about a topic, for example 'what has @hubermanlab said about sleep' or 'find the MIT OpenCourseWare videos on recursion'. Searches only inside that channel. Pass `continuation` from a previous response for the next page.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • search_youtubeUse this when the user wants to find YouTube videos or channels on a topic, for example 'find lectures on linear algebra' or 'popular videos about the Apollo missions', before read…No findings

    Why it is in this group

    • The name "search_youtube" says "search": a word for reading.
    Description, as the server wrote it
    Use this when the user wants to find YouTube videos or channels on a topic, for example 'find lectures on linear algebra' or 'popular videos about the Apollo missions', before reading or comparing them. Returns each result's title, video ID, link, channel, views, length, and upload date. Pass `continuation` from a previous response for the next page. Does not return what a video says: call get_youtube_transcript with a result's video ID for that.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http youtube-transcript-and-youtube-search https://getyoutubetranscript.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__youtube-transcript-and-youtube-search__get_youtube_transcript",
      "mcp__youtube-transcript-and-youtube-search__get_transcript_languages",
      "mcp__youtube-transcript-and-youtube-search__search_youtube",
      "mcp__youtube-transcript-and-youtube-search__get_channel_latest_videos",
      "mcp__youtube-transcript-and-youtube-search__search_channel_videos",
      "mcp__youtube-transcript-and-youtube-search__list_channel_videos",
      "mcp__youtube-transcript-and-youtube-search__list_playlist_videos",
      "mcp__youtube-transcript-and-youtube-search__get_credits"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as youtube-transcript-and-youtube-search. Review it before you use it.