YouTube Data

by icraft2170

12 stars
4.1k downloads
Not rated
GitHub

About

Integrates with YouTube Data API to retrieve and analyze video content, transcripts, channel statistics, and engagement metrics across different regions and categories without leaving the conversation interface.

Details

Author
icraft2170
Repository
icraft2170/youtube-data-mcp-server
GitHub stars
12
Downloads
4,147
Categories
Web Scraping, Other, Media, Productivity, Developer Tools, Design, AI, Search, API, Infrastructure, Frontend
Tags
#analytics

- Retrieve detailed video information and statistics
- Search videos by keywords with configurable results
- Fetch multi‑language, time‑stamped video transcripts
- Get related videos based on YouTube's recommendation algorithm
- View detailed channel statistics (subscribers, views, count)
- Obtain a channel's most viewed videos
- Calculate engagement ratios (views, likes, comments)
- Discover trending videos by region and category
- Compare statistics across multiple videos simultaneously

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name YouTube Data
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 youtube-data-mcp-server
    Environment
    • YOUTUBE_API_KEY YOUR_API_KEY_HERE
    • YOUTUBE_TRANSCRIPT_LANG ko

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Automatically install YouTube MCP Server for Claude Desktop via Smithery:

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

npm install youtube-data-mcp-server

Set the following environment variables:
YOUTUBE_API_KEY: YouTube Data API key (required)
YOUTUBE_TRANSCRIPT_LANG: Default caption language (optional, default: 'ko')

Add the following to your Claude Desktop configuration file:

json
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "youtube-data-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
"YOUTUBE_TRANSCRIPT_LANG": "ko"
}
}
}
}
```

1. Access Google Cloud Console
2. Create a new project or select an existing one
3. Enable YouTube Data API v3
4. Create API credentials (API key)
5. Use the generated API key in your environment configuration

npm install

The server exposes the following ports for communication:
- HTTP: 3000
- gRPC: 3001

getVideoDetails

Get detailed information about multiple YouTube videos including metadata, statistics, and content details. Required Parameters: videoIds (array)

searchVideos

Search for videos based on a query string. Required Parameters: query, maxResults (optional)

getTranscripts

Retrieve transcripts for multiple videos. Required Parameters: videoIds (array), lang (optional)

getRelatedVideos

Get videos related to a specific video based on YouTube's recommendation algorithm. Required Parameters: videoId, maxResults (optional)

getChannelStatistics

Retrieve detailed metrics for multiple channels including subscriber count, view count, and video count. Required Parameters: channelIds (array)

getChannelTopVideos

Get the most viewed videos from a specific channel. Required Parameters: channelId, maxResults (optional)

getVideoEngagementRatio

Calculate engagement metrics for multiple videos (views, likes, comments, and engagement ratio). Required Parameters: videoIds (array)

getTrendingVideos

Get currently popular videos by region and category. Required Parameters: regionCode (optional), categoryId (optional), maxResults (optional)

compareVideos

Compare statistics across multiple videos. Required Parameters: videoIds (array)

The server provides the following MCP tools:

| Tool Name | Description | Required Parameters |
|-----------|-------------|---------------------|
| getVideoDetails | Get detailed information about multiple YouTube videos including metadata, statistics, and content details | videoIds (array) |
| searchVideos | Search for videos based on a query string | query, maxResults (optional) |
| getTranscripts | Retrieve transcripts for multiple videos | videoIds (array), lang (optional) |
| getRelatedVideos | Get videos related to a specific video based on YouTube's recommendation algorithm | videoId, maxResults (optional) |
| getChannelStatistics | Retrieve detailed metrics for multiple channels including subscriber count, view count, and video count | channelIds (array) |
| getChannelTopVideos | Get the most viewed videos from a specific channel | channelId, maxResults (optional) |
| getVideoEngagementRatio | Calculate engagement metrics for multiple videos (views, likes, comments, and engagement ratio) | videoIds (array) |
| getTrendingVideos | Get currently popular videos by region and category | regionCode (optional), categoryId (optional), maxResults (optional) |
| compareVideos | Compare statistics across multiple videos | videoIds (array) |

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "youtube data": {
            "env": {
                "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
                "YOUTUBE_TRANSCRIPT_LANG": "ko"
            },
            "args": [
                "-y",
                "youtube-data-mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "ko"
    },
    "args": [
        "-y",
        "youtube-data-mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "ko"
    },
    "args": [
        "-y",
        "youtube-data-mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "ko"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "youtube-data-mcp-server"
    ],
    "command": "cmd"
}

MseeP.ai Security Assessment Badge

YouTube MCP Server

smithery badge

A Model Context Protocol (MCP) server implementation utilizing the YouTube Data API. It allows AI language models to interact with YouTube content through a standardized interface.

Key Features

Video Information

Retrieve detailed video information (title, description, duration, statistics) Search for videos by keywords Get related videos based on a specific video Calculate and analyze video engagement ratios

Transcript/Caption Management

Retrieve video captions with multi-language support Specify language preferences for transcripts Access time-stamped captions for precise content reference

Channel Analysis

View detailed channel statistics (subscribers, views, video count) Get top-performing videos from a channel Analyze channel growth and engagement metrics

Trend Analysis

View trending videos by region and category Compare performance metrics across multiple videos Discover popular content in specific categories

Available Tools

The server provides the following MCP tools:

| Tool Name | Description | Required Parameters |
|-----------|-------------|---------------------|
| getVideoDetails | Get detailed information about multiple YouTube videos including metadata, statistics, and content details | videoIds (array) |
| searchVideos | Search for videos based on a query string | query, maxResults (optional) |
| getTranscripts | Retrieve transcripts for multiple videos | videoIds (array), lang (optional) |
| getRelatedVideos | Get videos related to a specific video based on YouTube's recommendation algorithm | videoId, maxResults (optional) |
| getChannelStatistics | Retrieve detailed metrics for multiple channels including subscriber count, view count, and video count | channelIds (array) |
| getChannelTopVideos | Get the most viewed videos from a specific channel | channelId, maxResults (optional) |
| getVideoEngagementRatio | Calculate engagement metrics for multiple videos (views, likes, comments, and engagement ratio) | videoIds (array) |
| getTrendingVideos | Get currently popular videos by region and category | regionCode (optional), categoryId (optional), maxResults (optional) |
| compareVideos | Compare statistics across multiple videos | videoIds (array) |

Installation

Automatic Installation via Smithery

Automatically install YouTube MCP Server for Claude Desktop via Smithery:

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

Manual Installation

# Install from npm
npm install youtube-data-mcp-server

Or clone repository

git clone https://github.com/icraft2170/youtube-data-mcp-server.git cd youtube-data-mcp-server npm install

Environment Configuration

Set the following environment variables:
YOUTUBE_API_KEY: YouTube Data API key (required)
  • YOUTUBE_TRANSCRIPT_LANG: Default caption language (optional, default: 'ko')

MCP Client Configuration

Add the following to your Claude Desktop configuration file:
{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "youtube-data-mcp-server"],
      "env": {
        "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE",
        "YOUTUBE_TRANSCRIPT_LANG": "ko"
      }
    }
  }
}

YouTube API Setup

1. Access Google Cloud Console 2. Create a new project or select an existing one 3. Enable YouTube Data API v3 4. Create API credentials (API key) 5. Use the generated API key in your environment configuration

Development

# Install dependencies
npm install

Run in development mode

npm run dev

Build

npm run build

Network Configuration

The server exposes the following ports for communication:
- HTTP: 3000
- gRPC: 3001

System Requirements

- Node.js 18.0.0 or higher

Security Considerations

- Always keep your API key secure and never commit it to version control systems - Manage your API key through environment variables or configuration files - Set usage limits for your API key to prevent unauthorized use

License

This project is licensed under the MIT License. See the LICENSE file for details.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.