YouTube Research MCP Server

YouTube Research MCP servers enable AI models to interact with YouTube content, providing capabilities for video information retrieval, transcript management, channel analysis, and playlist management.

GitHub starsnpm versionnpm downloads

Overview

The YouTube MCP Server enables AI language models to interact with YouTube content through a standardized interface. It provides a comprehensive set of tools for managing and analyzing YouTube videos, channels, and playlists.

Created by:

Developed by Zubeid Hendricks

Key Features

🎥

Video Information

Get video details (title, description, duration, etc.), list channel videos, get video statistics (views, likes, comments), search videos across YouTube.

📝

Transcript Management

Retrieve video transcripts, support for multiple languages, get timestamped captions, search within transcripts.

📺

Channel Management

Get channel details, list channel playlists, get channel statistics, search within channel content.

▶️

Playlist Management

List playlist items, get playlist details, search within playlists, get playlist video transcripts.

Available Tools

Quick Reference

ToolPurposeCategory
videos.getVideoGet details of a specific videoVideo
videos.searchVideosSearch for videos on YouTubeVideo
transcripts.getTranscriptRetrieve video transcriptsTranscript
channels.getChannelGet details of a specific channelChannel
channels.listVideosList videos from a channelChannel
playlists.getPlaylistItemsList items in a playlistPlaylist
playlists.getPlaylistGet details of a specific playlistPlaylist

Detailed Usage

videos.getVideo

Get details of a specific video by its ID.

use_mcp_tool({
  server_name: "youtube",
  tool_name: "videos.getVideo",
  arguments: {
    videoId: "VIDEO_ID"
  }
});
videos.searchVideos

Search for videos on YouTube with a given query.

use_mcp_tool({
  server_name: "youtube",
  tool_name: "videos.searchVideos",
  arguments: {
    query: "search term",
    maxResults: 10
  }
});
transcripts.getTranscript

Retrieve the transcript for a given video ID and language.

use_mcp_tool({
  server_name: "youtube",
  tool_name: "transcripts.getTranscript",
  arguments: {
    videoId: "VIDEO_ID",
    language: "en"
  }
});
channels.getChannel

Get details of a specific YouTube channel by its ID.

use_mcp_tool({
  server_name: "youtube",
  tool_name: "channels.getChannel",
  arguments: {
    channelId: "CHANNEL_ID"
  }
});
channels.listVideos

List videos from a specific YouTube channel.

use_mcp_tool({
  server_name: "youtube",
  tool_name: "channels.listVideos",
  arguments: {
    channelId: "CHANNEL_ID",
    maxResults: 50
  }
});
playlists.getPlaylistItems

List items (videos) within a specific YouTube playlist.

use_mcp_tool({
  server_name: "youtube",
  tool_name: "playlists.getPlaylistItems",
  arguments: {
    playlistId: "PLAYLIST_ID",
    maxResults: 50
  }
});
playlists.getPlaylist

Get details of a specific YouTube playlist by its ID.

use_mcp_tool({
  server_name: "youtube",
  tool_name: "playlists.getPlaylist",
  arguments: {
    playlistId: "PLAYLIST_ID"
  }
});

Installation

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": [
        "-y",
        "zubeid-youtube-mcp-server"
      ],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key_here"
      }
    }
  }
}

Sources