YouTube

Search YouTube videos and retrieve their transcripts using the YouTube API.

YouTube MCP Server

A Model Context Protocol (MCP) server that enables Claude Desktop (and other applications) to interact with YouTube, providing search and transcript functionality.

Features

  • Search YouTube Videos: Search for videos with customizable result counts
  • Get Video Transcripts: Extract transcripts from YouTube videos using URLs or video IDs
  • AI-Ready Integration: Seamlessly integrates with Claude Desktop for YouTube content analysis

Tools Available

1. search_youtube_videos

  • Purpose: Search YouTube for videos based on a query
  • Parameters:
    • search_term (string): The search query
    • num_videos (int): Number of videos to return (default: 5, max: 50)
  • Returns: List of video information including titles, channels, descriptions, URLs, and metadata

2. get_youtube_transcript

  • Purpose: Extract transcript from a YouTube video
  • Parameters:
    • video_url_or_title (string): YouTube video URL or video ID
  • Returns: Full transcript with timestamps and metadata

3. analyze_youtube_content_prompt

  • Purpose: AI prompt template for comprehensive YouTube content analysis
  • Parameters:
    • search_term (string): Topic to analyze
    • num_videos (int): Number of videos to analyze

Setup

1. Install Dependencies

# Create virtual environment
python3 -m venv .venv

# Activate virtual environment
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

2. Get YouTube API Key

  1. Go to Google Cloud Console
  2. Create a new project or select existing one
  3. Enable YouTube Data API v3
  4. Create credentials (API Key)
  5. Copy the API key

3. Configure Environment

# Copy example environment file
cp .env.example .env

# Edit .env and add your YouTube API key
YOUTUBE_API_KEY=your_actual_api_key_here

4. Test the Server

# Activate virtual environment
source .venv/bin/activate

# Run the server
python youtube_server.py

Integration with Claude Desktop

Add this configuration to your Claude Desktop MCP settings:

{
  "mcpServers": {
        "youtube": {
            "command": "local/path/to/uv",
            "args": [
                "run",
                "--directory",
                "/Path/to/your/project",
                "youtube_server.py"
            ],
            "env": {
                "YOUTUBE_API_KEY": "your_key_here"
            }
  }
}

Usage Examples

Once integrated with Claude Desktop, you can:

  • "Search for videos about machine learning and get transcripts"
  • "Find the latest videos on climate change and analyze their content"
  • "Get the transcript of this YouTube video: https://www.youtube.com/watch?v=..."
  • "Compare different perspectives on AI ethics from YouTube videos"

Error Handling

  • Missing API Key: Server will warn and search functionality will be limited
  • Invalid Video IDs: Clear error messages for transcript requests
  • API Limits: Respects YouTube API quotas and rate limits
  • Missing Transcripts: Handles videos without available captions

Dependencies

  • fastmcp: MCP server framework
  • google-api-python-client: YouTube Data API access
  • youtube-transcript-api: Transcript extraction

License

This project is open source and available under standard licensing terms.

Related Servers