Skip to main content
Glama

YouTube MCP Server

by coyaSONG

YouTube MCP Server

A Model Context Protocol (MCP) server for interacting with YouTube data. This server provides resources and tools to query YouTube videos, channels, comments, and transcripts through a stdio interface.

Features

  • Search for YouTube videos with advanced filtering options
  • Get detailed information about specific videos and channels
  • Compare statistics across multiple videos
  • Discover trending videos by region and category
  • Analyze channel performance and video statistics
  • Retrieve video comments and transcripts/captions
  • Generate video analysis and transcript summaries

Prerequisites

  • Node.js (v16+)
  • YouTube Data API key

Installation

Installing via Smithery

To install YouTube MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @coyaSONG/youtube-mcp-server --client claude

Installing Manually

  1. Clone this repository:
    git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-server
  2. Install dependencies:
    npm install
  3. Create a .env file in the root directory:
    YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000

Usage

Building and Running

  1. Build the project:
    npm run build
  2. Run the server:
    npm start
  3. Run in development mode:
    npm run dev
  4. Clean build artifacts:
    npm run clean

Docker Deployment

The project includes a Dockerfile for containerized deployment:

# Build the Docker image docker build -t youtube-mcp-server . # Run the container docker run -p 3000:3000 --env-file .env youtube-mcp-server

API Reference

Resources

  • youtube://video/{videoId} - Get detailed information about a specific video
  • youtube://channel/{channelId} - Get information about a specific channel
  • youtube://transcript/{videoId} - Get transcript for a specific video
    • Optional query parameter: ?language=LANGUAGE_CODE (e.g., en, ko, ja)

Tools

Basic Tools
  • search-videos - Search for YouTube videos with advanced filtering options
  • get-video-comments - Get comments for a specific video
  • get-video-transcript - Get transcript for a specific video with optional language
  • enhanced-transcript - Advanced transcript extraction with filtering, search, and multi-video capabilities
  • get-key-moments - Extract key moments with timestamps from a video transcript for easier navigation
  • get-segmented-transcript - Divide a video transcript into segments for easier analysis
Statistical Tools
  • get-video-stats - Get statistical information for a specific video
  • get-channel-stats - Get subscriber count, view count, and other channel statistics
  • compare-videos - Compare statistics across multiple videos
Discovery Tools
  • get-trending-videos - Retrieve trending videos by region and category
  • get-video-categories - Get available video categories for a specific region
Analysis Tools
  • analyze-channel-videos - Analyze performance trends of videos from a specific channel

Prompts

  • video-analysis - Generate an analysis of a YouTube video
  • transcript-summary - Generate a summary of a video based on its transcript with customizable length and keywords extraction
  • segment-by-segment-analysis - Provide detailed breakdown of content by analyzing each segment of the video

Examples

Accessing a Video Transcript

youtube://transcript/dQw4w9WgXcQ

Getting a Transcript in a Specific Language

youtube://transcript/dQw4w9WgXcQ?language=en

Using the Statistical Tools

// Get video statistics { "type": "tool", "name": "get-video-stats", "parameters": { "videoId": "dQw4w9WgXcQ" } } // Compare multiple videos { "type": "tool", "name": "compare-videos", "parameters": { "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"] } }

Using the Transcript Summary Prompt

{ "type": "prompt", "name": "transcript-summary", "parameters": { "videoId": "dQw4w9WgXcQ", "language": "en" } }

Using the Enhanced Transcript Tool

// Basic multi-video transcript extraction { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"], "format": "timestamped" } } // With search and time filtering { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ"], "filters": { "timeRange": { "start": 60, // Start at 60 seconds "end": 180 // End at 180 seconds }, "search": { "query": "never gonna", "contextLines": 2 } }, "format": "merged" } } // With smart segmentation for easier analysis { "type": "tool", "name": "enhanced-transcript", "parameters": { "videoIds": ["dQw4w9WgXcQ"], "filters": { "segment": { "count": 5, "method": "smart" // Breaks at natural pauses } }, "format": "timestamped", "language": "en" } }

Using the Enhanced Transcript Analysis Features

// Get key moments from a video { "type": "tool", "name": "get-key-moments", "parameters": { "videoId": "dQw4w9WgXcQ", "maxMoments": "5" } } // Get a segmented transcript { "type": "tool", "name": "get-segmented-transcript", "parameters": { "videoId": "dQw4w9WgXcQ", "segmentCount": "4" } } // Get a segment-by-segment analysis { "type": "prompt", "name": "segment-by-segment-analysis", "parameters": { "videoId": "dQw4w9WgXcQ", "segmentCount": "4" } } // Get customized transcript summary { "type": "prompt", "name": "transcript-summary", "parameters": { "videoId": "dQw4w9WgXcQ", "language": "en", "summaryLength": "detailed", "includeKeywords": "true" } }

Error Handling

The server handles various error conditions, including:

  • Invalid API key
  • Video or channel not found
  • Transcript not available
  • Network issues

License

MIT

Acknowledgements

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A server that enables interaction with YouTube data through the Model Context Protocol, allowing users to search videos, retrieve detailed information about videos/channels, and fetch comments.

  1. Features
    1. Prerequisites
      1. Installation
        1. Installing via Smithery
        2. Installing Manually
      2. Usage
        1. Building and Running
      3. Docker Deployment
        1. API Reference
          1. Resources
          2. Tools
          3. Prompts
        2. Examples
          1. Accessing a Video Transcript
          2. Getting a Transcript in a Specific Language
          3. Using the Statistical Tools
          4. Using the Transcript Summary Prompt
          5. Using the Enhanced Transcript Tool
          6. Using the Enhanced Transcript Analysis Features
        3. Error Handling
          1. License
            1. Acknowledgements

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video captions and subtitles through a simple interface.
                Last updated -
                1
                526
                189
                JavaScript
                MIT License
              • -
                security
                F
                license
                -
                quality
                A server for downloading, processing, and managing YouTube content with features like video quality selection, format conversion, and metadata extraction.
                Last updated -
                JavaScript
              • -
                security
                -
                license
                -
                quality
                A Model Context Protocol server that enables access to YouTube video content through transcripts, translations, summaries, and subtitle generation in various languages.
                Last updated -
                Python
                MIT License
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video transcripts and subtitles through a simple interface, making it ideal for content analysis and processing.
                Last updated -
                1
                258
                10
                TypeScript
                MIT License
                • Linux
                • Apple

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/coyaSONG/youtube-mcp-server'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server