YouTube
Search YouTube videos and retrieve their transcripts using the YouTube API.
YouTube MCP Server
A Model Context Protocol (MCP) server that enables Claude Desktop (and other applications) to interact with YouTube, providing search and transcript functionality.
Features
- Search YouTube Videos: Search for videos with customizable result counts
- Get Video Transcripts: Extract transcripts from YouTube videos using URLs or video IDs
- AI-Ready Integration: Seamlessly integrates with Claude Desktop for YouTube content analysis
Tools Available
1. search_youtube_videos
- Purpose: Search YouTube for videos based on a query
- Parameters:
search_term(string): The search querynum_videos(int): Number of videos to return (default: 5, max: 50)
- Returns: List of video information including titles, channels, descriptions, URLs, and metadata
2. get_youtube_transcript
- Purpose: Extract transcript from a YouTube video
- Parameters:
video_url_or_title(string): YouTube video URL or video ID
- Returns: Full transcript with timestamps and metadata
3. analyze_youtube_content_prompt
- Purpose: AI prompt template for comprehensive YouTube content analysis
- Parameters:
search_term(string): Topic to analyzenum_videos(int): Number of videos to analyze
Setup
1. Install Dependencies
# Create virtual environment
python3 -m venv .venv
# Activate virtual environment
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
2. Get YouTube API Key
- Go to Google Cloud Console
- Create a new project or select existing one
- Enable YouTube Data API v3
- Create credentials (API Key)
- Copy the API key
3. Configure Environment
# Copy example environment file
cp .env.example .env
# Edit .env and add your YouTube API key
YOUTUBE_API_KEY=your_actual_api_key_here
4. Test the Server
# Activate virtual environment
source .venv/bin/activate
# Run the server
python youtube_server.py
Integration with Claude Desktop
Add this configuration to your Claude Desktop MCP settings:
{
"mcpServers": {
"youtube": {
"command": "local/path/to/uv",
"args": [
"run",
"--directory",
"/Path/to/your/project",
"youtube_server.py"
],
"env": {
"YOUTUBE_API_KEY": "your_key_here"
}
}
}
Usage Examples
Once integrated with Claude Desktop, you can:
- "Search for videos about machine learning and get transcripts"
- "Find the latest videos on climate change and analyze their content"
- "Get the transcript of this YouTube video: https://www.youtube.com/watch?v=..."
- "Compare different perspectives on AI ethics from YouTube videos"
Error Handling
- Missing API Key: Server will warn and search functionality will be limited
- Invalid Video IDs: Clear error messages for transcript requests
- API Limits: Respects YouTube API quotas and rate limits
- Missing Transcripts: Handles videos without available captions
Dependencies
fastmcp: MCP server frameworkgoogle-api-python-client: YouTube Data API accessyoutube-transcript-api: Transcript extraction
License
This project is open source and available under standard licensing terms.
İlgili Sunucular
Fuel Network & Sway Language
Semantic search for Fuel Network and Sway Language documentation using a local vector database.
Qdrant Retrieve
Semantic search using the Qdrant vector database.
招投标大数据服务
Provides comprehensive bidding and tender information query services, including statistics, searches, and planned project queries.
Metasearch
A metasearch server that uses the Tavily API to perform searches based on specified queries.
Tavily Search
AI-powered web search using the Tavily Search API.
OrdiscanMCP v1
MCP server for interacting with the Ordiscan API to query Bitcoin ordinals and inscriptions. Requires an Ordiscan API key.
Academic Paper Search
Search and retrieve academic paper information from multiple sources like Semantic Scholar and CrossRef.
Flight Search
Search for flights using the SerpAPI Google Flights engine.
Google Images Search
Search for Google images, view results, and download them directly within your IDE.
IACR ePrint Archive
Search and retrieve cryptographic research papers from the IACR Cryptology ePrint Archive.