YouTube Data
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
YouTube DataCommand (node, npx, python, etc.)npxArguments-
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.
-
Argument 1
- 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"
}
YouTube MCP Server
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 ratiosTranscript/Caption Management
Retrieve video captions with multi-language support Specify language preferences for transcripts Access time-stamped captions for precise content referenceChannel Analysis
View detailed channel statistics (subscribers, views, video count) Get top-performing videos from a channel Analyze channel growth and engagement metricsTrend Analysis
View trending videos by region and category Compare performance metrics across multiple videos Discover popular content in specific categoriesAvailable 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 configurationDevelopment
# 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 higherSecurity 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 useLicense
This project is licensed under the MIT License. See the LICENSE file for details.Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





