YouTube Insights MCP Server
An MCP (Model Context Protocol) server that extracts valuable insights from YouTube videos including transcripts, metadata, and summaries.
Features
- Extract Transcripts: Get full video transcripts in multiple languages
- Video Metadata: Retrieve title, author, thumbnail, and other metadata
- Comprehensive Insights: Combined transcript, metadata, and auto-generated summaries
- Multiple URL Formats: Supports youtube.com, youtu.be, shorts, and direct video IDs
Installation
# Install dependencies
uv sync
Usage
Running the Server
python main.py
Available Tools
1. get_youtube_transcript
Extracts the full transcript from a YouTube video.
Parameters:
url(required): YouTube video URL or video IDlanguages(optional): Array of preferred language codes (default: ["en"])
Example:
{
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"languages": ["en", "es"]
}
2. get_youtube_metadata
Gets metadata for a YouTube video.
Parameters:
url(required): YouTube video URL or video ID
Example:
{
"url": "https://youtu.be/dQw4w9WgXcQ"
}
3. get_youtube_insights
Gets comprehensive insights including transcript, metadata, and summary.
Parameters:
url(required): YouTube video URL or video IDlanguages(optional): Array of preferred language codes (default: ["en"])summary_sentences(optional): Number of sentences for summary (default: 5)
Example:
{
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"languages": ["en"],
"summary_sentences": 5
}
Supported URL Formats
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://www.youtube.com/shorts/VIDEO_ID- Direct video ID:
VIDEO_ID
Configuration for Claude Desktop
Add to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"youtube-insights": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\TejasBorate\\Desktop\\Youtube-Video-Insights\\youtube_insights_mcp",
"run",
"python",
"main.py"
]
}
}
}
Requirements
- Python 3.10+
- mcp
- youtube-transcript-api
- requests
Error Handling
The server handles various error cases:
- Transcripts disabled for video
- No transcript available
- Video unavailable
- Invalid URL format
- Network errors
All errors are returned in a structured JSON format with descriptive messages.
