YouTube MCP Server
About
A Model Context Protocol (MCP) server that provides resources and tools to query YouTube videos, channels, comments, and transcripts through a stdio interface. It is designed for developers and AI agents to interact with YouTube data programmatically.
Explore
- 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
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 MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Node.js (v16+)
- YouTube Data API key
To install YouTube MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @coyaSONG/youtube-mcp-server --client claude
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
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
The project includes a Dockerfile for containerized deployment:
youtube://transcript/dQw4w9WgXcQ?language=en
```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
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
get-trending-videos
Retrieve trending videos by region and category
get-video-categories
Get available video categories for a specific region
analyze-channel-videos
Analyze performance trends of videos from a specific channel
- 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
- 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
- get-trending-videos - Retrieve trending videos by region and category
- get-video-categories - Get available video categories for a specific region
- analyze-channel-videos - Analyze performance trends of videos from a specific channel
// Get video statistics
{
"type": "tool",
"name": "get-video-stats",
"parameters": {
"videoId": "dQw4w9WgXcQ"
}
}
// Compare multiple videos
{
"type": "tool",
"name": "compare-videos",
"parameters": {
"videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"]
}
}
// 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"
}
}
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"youtube mcp server": {
"youtube-mcp-server-coyasong": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@coyaSONG/youtube-mcp-server",
"--client",
"claude"
]
}
}
}
}
McpServers
{
"youtube-mcp-server-coyasong": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@coyaSONG/youtube-mcp-server",
"--client",
"claude"
]
}
}
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:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



