Skip to main content
Glama
YouTube MCP Server

YouTube MCP Server

by Anarcyst

YouTube MCP Server

PyPI version License: MIT Python 3.10+

A zero-config MCP server for YouTube. Search videos, get transcripts, browse channels, and search across a creator's entire content. No API keys needed.

Quick Start

uvx yt-mcp-server

Or install with pip:

pip install yt-mcp-server

Related MCP server: YouTube MCP

Setup

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "youtube": {
      "command": "uvx",
      "args": ["--from", "yt-mcp-server", "youtube-mcp-server"]
    }
  }
}

Claude Code

claude mcp add youtube -- uvx yt-mcp-server

Cursor

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "youtube": {
      "command": "uvx",
      "args": ["--from", "yt-mcp-server", "youtube-mcp-server"]
    }
  }
}

Tools

Tool

Description

search_channel_transcripts

Search across ALL videos of a channel — find what any creator said about any topic

search_transcript

Search within a single video's transcript

get_transcript

Get full transcript with timestamps

search_videos

Search YouTube for videos

get_video_info

Get video details — title, description, stats, chapters

get_channel_info

Get channel info — subscribers, description, video count

get_channel_videos

List videos from a channel, sorted by date or popularity

get_comments

Get video comments sorted by relevance

Example Prompts

"Find me the best videos on how to scale a B2B SaaS from 0 to $1M ARR"
→ search_videos

"Show me everything @AlexHormozi posted this month"
→ get_channel_videos

"Summarize this interview with Sam Altman: https://youtube.com/watch?v=..."
→ get_transcript

"What exactly did @AlexHormozi say about making offers? Give me the timestamps"
→ search_channel_transcripts — searches all videos, returns exact passages with links

"Compare how @ycombinator and @AlexHormozi think about product-market fit"
→ search_channel_transcripts on both channels

HTTP Transport

Run as a standalone HTTP server:

yt-mcp-server --transport streamable-http --port 8000

Requirements

  • Python 3.10+

  • yt-dlp (installed automatically)

  • No API keys or authentication required

Note

Transcript features (get_transcript, search_transcript, search_channel_transcripts) use YouTube's internal API, which may rate-limit after many requests in a short period. Normal usage (a few queries per session) works fine.

Acknowledgments

Built with the assistance of Claude by Anthropic.

License

MIT

Available Tools

8 tools
get_channel_infoB

Get information about a YouTube channel.

Args: channel: Channel URL or @handle (e.g. "@mkbhd" or "https://youtube.com/@mkbhd")

Inputs: channel (required). Returns: result

get_channel_videosB

Get videos from a YouTube channel.

Args: channel: Channel URL or @handle (e.g. "@mkbhd") limit: Maximum number of videos (default 20, max 100) sort: Sort order — "date" (newest first) or "popular" (most viewed)

Inputs: channel (required), limit, sort. Returns: result

get_commentsB

Get comments from a YouTube video.

Args: video_url: YouTube video URL limit: Maximum number of comments (default 20, max 100)

Inputs: video_url (required), limit. Returns: result

get_transcriptA

Get the full transcript of a YouTube video with timestamps.

Args: video_url: YouTube video URL language: Preferred language code (default "en", tries auto-generated fallback)

Inputs: video_url (required), language. Returns: result

get_video_infoB

Get detailed information about a YouTube video including title, description, stats, tags, and chapters.

Args: video_url: YouTube video URL (e.g. "https://youtube.com/watch?v=xxx")

Inputs: video_url (required). Returns: result

search_channel_transcriptsA

Search for specific content across all videos of a YouTube channel. This is the power feature: find what a creator said about any topic.

Args: channel: Channel URL or @handle (e.g. "@hormozi") query: Text to search for across all transcripts language: Preferred language code (default "en") max_videos: Maximum number of recent videos to search (default 10, max 50)

Inputs: channel (required), query (required), language, max_videos. Returns: result

search_transcriptB

Search for specific content within a video's transcript. Returns matching passages with timestamps and direct links.

Args: video_url: YouTube video URL query: Text to search for in the transcript language: Preferred language code (default "en")

Inputs: video_url (required), query (required), language. Returns: result

search_videosB

Search YouTube for videos.

Args: query: Search query (e.g. "how to price a SaaS") limit: Maximum number of results (default 10, max 30)

Inputs: query (required), limit. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: get_channel_info, get_channel_videos, get_comments, get_transcript, get_video_info, search_channel_transcripts, search_transcript, and search_videos. There is no overlap in functionality—tools target specific resources (channel, video, comments, transcripts) and actions (get, search), making misselection unlikely.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern using snake_case: get_channel_info, get_channel_videos, get_comments, get_transcript, get_video_info, search_channel_transcripts, search_transcript, search_videos. The naming is predictable and readable throughout.

    Tool Count5/5

    With 8 tools, the count is well-scoped for a YouTube server, covering core functionalities like retrieving channel/video info, comments, transcripts, and searching. Each tool earns its place without being overwhelming or insufficient.

    Completeness4/5

    The toolset covers key YouTube operations: retrieving info (channel, video, comments, transcripts) and searching (videos, transcripts, channel transcripts). Minor gaps include no update/delete actions (e.g., posting comments or managing playlists), but these are less critical for a read/search-focused server, and agents can work around this.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that enables users to retrieve YouTube transcripts and perform video or channel searches without requiring Google API keys. It supports transcript chunking and provides tools for detailed video content analysis and channel metadata extraction.
      5
      48 npm
      4
      MIT
    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      An MCP server that provides YouTube data access without API keys or quotas. It enables agents to search videos, retrieve transcripts and metadata, and perform full-text search across cached content for AI context retrieval.
      3 npm
      -
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to search YouTube like a database, retrieve transcripts and channel data, and mine videos for claims, numbers, and demand signals — without needing an API key.
      6
      50 npm
      MIT