I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

youtube-mcp-server
Youtube mcp server
3 years
Works with Finder
1
Github Watches
1
Github Forks
0
Github Stars
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
-
Clone this repository:
git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-server
-
Install dependencies:
npm install
-
Create a
.env
file in the root directory:YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000
Usage
Building and Running
-
Build the project:
npm run build
-
Run the server:
npm start
-
Run in development mode:
npm run dev
-
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
)
- Optional query parameter:
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
相关推荐
Converts Figma frames into front-end code for various mobile frameworks.
I find academic articles and books for research and literature reviews.
Confidential guide on numerology and astrology, based of GG33 Public information
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Advanced software engineer GPT that excels through nailing the basics.
Delivers concise Python code and interprets non-English comments
💬 MaxKB is an open-source AI assistant for enterprise. It seamlessly integrates RAG pipelines, supports robust workflows, and provides MCP tool-use capabilities.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
MCP server to provide Figma layout information to AI coding agents like Cursor
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
Reviews

user_RKlbCvyz
The youtube-mcp-server by coyaSONG is an amazing tool for avid MCP users like myself. It seamlessly integrates YouTube into the MCP experience, offering a smooth and intuitive interface. The setup was straightforward thanks to the clear documentation on the GitHub page. Highly recommended for anyone looking to enhance their MCP setup with YouTube capabilities!