YouTube Transcript + YouTube Search MCP

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

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
84%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~947Tokens (tool definitions)
~941 BTypical response size
Moderate attention impact (0.74% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "youtube-transcript-and-youtube-search": {
      "url": "https://getyoutubetranscript.com/api/mcp"
    }
  }
}

Remote endpoints

https://getyoutubetranscript.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_youtube_transcript(video_url, language, send_metadata)

Fetch the full transcript for a YouTube video, plus its title/author/thumbnail metadata. Returns the complete spoken text as one block - this API does not provide per-segment timestamps, so don't ask for or expect a timestamped breakdown.

Input Schema

{
  "type": "object",
  "properties": {
    "video_url": {
      "type": "string",
      "description": "YouTube URL (full or short) or an 11-character video ID"
    },
    "language": {
      "description": "Language code, e.g. 'en', 'es'. Defaults to 'en'.",
      "type": "string"
    },
    "send_metadata": {
      "description": "Include title/author/thumbnail metadata. Defaults to true.",
      "type": "boolean"
    }
  },
  "required": [
    "video_url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_youtube(query, search_type, continuation)

Search YouTube for videos or channels. Paginate with `continuation` from a previous response.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Search query. Required unless `continuation` is set.",
      "type": "string"
    },
    "search_type": {
      "description": "'video' (default) or 'channel'.",
      "type": "string",
      "enum": [
        "video",
        "channel"
      ]
    },
    "continuation": {
      "description": "Opaque token from a previous response - fetches the next page. Do not construct this yourself.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_channel_latest_videos(channel)

Get a channel's metadata plus its most recent uploads. Free - no credits charged.

Input Schema

{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string",
      "description": "Channel @handle, URL, or UC... id"
    }
  },
  "required": [
    "channel"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_channel_videos(channel, query, continuation)

Search within one channel's videos for a query. Paginate with `continuation` from a previous response.

Input Schema

{
  "type": "object",
  "properties": {
    "channel": {
      "description": "Channel @handle, URL, or UC... id. Required unless `continuation` is set.",
      "type": "string"
    },
    "query": {
      "description": "Query to search within the channel. Required unless `continuation` is set.",
      "type": "string"
    },
    "continuation": {
      "description": "Opaque token from a previous response - fetches the next page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_channel_videos(channel, continuation)

List every video a channel has uploaded (the /videos tab), paginated. Paginate with `continuation` from a previous response.

Input Schema

{
  "type": "object",
  "properties": {
    "channel": {
      "description": "Channel @handle, URL, or UC... id. Required unless `continuation` is set.",
      "type": "string"
    },
    "continuation": {
      "description": "Opaque token from a previous response - fetches the next page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_playlist_videos(playlist, continuation)

Get every video in a YouTube playlist, paginated. Paginate with `continuation` from a previous response.

Input Schema

{
  "type": "object",
  "properties": {
    "playlist": {
      "description": "Playlist URL or id. Required unless `continuation` is set.",
      "type": "string"
    },
    "continuation": {
      "description": "Opaque token from a previous response - fetches the next page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_credits

Check the remaining credit balance for this key/account. Free - never charged, does not affect the balance.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded6 tools