YouTube Transcript
A zero-setup server to extract transcripts from YouTube videos on any platform.
YouTube Transcript Remote MCP Server
The first remote Model Context Protocol (MCP) server that enables Claude AI to extract transcripts from YouTube videos. This server offers zero-setup access for users on any platform including mobile devices.
🌟 Features
- Zero Local Setup: No installation required - works directly from the cloud
- Universal Access: Works on desktop, mobile, and web versions of Claude
- Smart Caching: Efficient caching system using Cloudflare KV for fast responses
- Multi-language Support: Extract transcripts in different languages
- Error Handling: Robust error handling with user-friendly messages
- Analytics: Built-in request tracking and usage analytics
- URL Flexibility: Handles all YouTube URL formats (youtube.com, youtu.be, m.youtube.com, etc.)
🚀 Quick Start
Option 1: Use Our Hosted Server (Recommended)
The easiest way to get started - just add our public server to your Claude Desktop:
For Claude Desktop Users
-
Open Claude Desktop Settings
- Click on "Claude" in the menu bar → "Settings"
- Navigate to "Developer" tab
- Click "Edit Config"
-
Add the MCP Server Configuration
Add this to your
claude_desktop_config.json:{ "mcpServers": { "youtube-transcript": { "command": "npx", "args": [ "mcp-remote", "https://youtube-transcript-mcp.ergut.workers.dev/sse" ] } } } -
Restart Claude Desktop
After saving the config file, restart Claude Desktop to load the server.
-
Verify Installation
Look for the tools icon (🔧) in the chat interface. You should see the
get_transcripttool available.
Option 2: Deploy Your Own
Want to run your own instance? Deploy to Cloudflare Workers in one click:
Or manually:
git clone https://github.com/ergut/youtube-transcript-mcp
cd youtube-transcript-mcp
npm install
npm run deploy
For Other MCP Clients
The server supports the standard MCP protocol and can be used with any compatible client:
- Public Server URL:
https://youtube-transcript-mcp.ergut.workers.dev/sse - Transport: Server-Sent Events (SSE) or HTTP
- Authentication: None required (public server)
📖 Usage Examples
Basic Transcript Extraction
Extract the transcript from this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ
Multi-language Support
Can you get the transcript of this video in Turkish: https://youtu.be/VIDEO_ID
Extract the Spanish transcript from: https://www.youtube.com/watch?v=VIDEO_ID
Supported URL Formats
The server automatically handles all YouTube URL formats:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_IDhttps://www.youtube.com/live/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://www.youtube.com/shorts/VIDEO_ID- International domains (
youtube.co.uk,youtube.de, etc.)
All tracking parameters (like ?si=, &t=, etc.) are automatically removed.
🛠 Available Tools
get_transcript
Extracts the transcript from a YouTube video URL.
Parameters:
url(required): YouTube video URL in any formatlanguage(optional): Language code for the transcript (e.g., 'en', 'es', 'fr'). Defaults to 'en'.
Example Usage:
{
"name": "get_transcript",
"arguments": {
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"language": "en"
}
}
🔧 Advanced Configuration
Debug Logging
To enable detailed logging for troubleshooting:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"mcp-remote",
"https://youtube-transcript-mcp.ergut.workers.dev/sse",
"--debug"
]
}
}
}
Debug logs will be created in ~/.mcp-auth/{server_hash}_debug.log.
HTTP Transport Only
To force HTTP transport instead of SSE:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": [
"mcp-remote",
"https://youtube-transcript-mcp.ergut.workers.dev/mcp",
"--transport",
"http-only"
]
}
}
}
📊 Server Information
- Hosting: Cloudflare Workers
- Caching: Cloudflare KV with 7-day cache for successful transcripts
- Rate Limiting: Built-in retry logic with exponential backoff
- Uptime: 99.9%+ availability through Cloudflare's global network
- Response Time: Typically <3 seconds for cached content, <10 seconds for new requests
🚨 Error Handling
The server provides clear error messages for common issues:
- "Invalid YouTube URL provided": The URL format is not recognized
- "No transcript available for this video": Video has no captions/transcript
- "Video not found or private": Video is private, deleted, or doesn't exist
- "Service temporarily busy, try again in a few minutes": Rate limiting from YouTube
- "Transcripts are disabled for this video": Creator has disabled captions
🌍 Language Support
The server supports any language that YouTube provides transcripts for. Common language codes:
en- English (default)tr- Turkishes- Spanishfr- Frenchde- Germanit- Italianpt- Portugueseja- Japaneseko- Koreanzh- Chinese
🔒 Privacy & Security
- No Authentication Required: Public server for ease of use
- No Data Storage: Transcripts are cached temporarily for performance only
- No Personal Information: Only YouTube video IDs and transcripts are processed
- HTTPS Only: All communications are encrypted
- CORS Enabled: Supports web-based MCP clients
🚀 API Endpoints
For developers who want to integrate directly:
HTTP POST /mcp
Standard MCP JSON-RPC endpoint for direct integration.
Server-Sent Events /sse
MCP SSE transport endpoint for real-time communication.
Info /
Server information and status endpoint.
Example Direct API Call:
curl -X POST https://youtube-transcript-mcp.ergut.workers.dev/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_transcript",
"arguments": {
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"language": "en"
}
}
}'
🐛 Troubleshooting
Common Issues
-
"Connection Error" in Claude Desktop
- Ensure you have the latest Claude Desktop version
- Check that
mcp-remoteis properly configured - Try adding
--debugflag to see detailed logs
-
"Could not attach to MCP server"
- Verify your internet connection
- Check the server URL is correct
- Restart Claude Desktop after config changes
-
No transcript returned
- Verify the YouTube URL is valid and accessible
- Check if the video has captions enabled
- Try a different language code if available
Getting Help
- Check logs: Look in
~/.mcp-auth/for debug logs - Test direct connection: Use
npx -p mcp-remote@latest mcp-remote-client https://youtube-transcript-mcp.ergut.workers.dev/sse - Verify server status: Visit
https://youtube-transcript-mcp.ergut.workers.dev/ - Open an issue: GitHub Issues
🤝 Contributing
This is an open-source project. Contributions are welcome!
- Report Issues: Found a bug? Please open an issue
- Feature Requests: Have ideas for improvements? Let us know!
- Code Contributions: PRs welcome for enhancements
Development Setup
git clone https://github.com/ergut/youtube-transcript-mcp
cd youtube-transcript-mcp
npm install
npm run dev
📜 License
This project is open source and available under the MIT License.
🙏 Acknowledgments
- Built with the Model Context Protocol by Anthropic
- Hosted on Cloudflare Workers
- Uses the youtube-transcript library
- Inspired by the MCP community and existing local transcript servers
Ready to supercharge Claude with YouTube transcript extraction? Add this server to your Claude Desktop configuration and start extracting transcripts from any YouTube video instantly! 🎉
Related Servers
Context Scraper MCP Server
A server for web crawling and content extraction using the Crawl4AI library.
MCP Webscan Server
Fetch, analyze, and extract information from web pages.
RedNote MCP
Access and interact with content from Xiaohongshu (RedNote).
Readability Parser
Extracts and transforms webpage content into clean, LLM-optimized Markdown using the Readability algorithm.
WebSearch
A web search and content extraction tool using the Firecrawl API for advanced web scraping, searching, and content analysis.
YouTube Transcript
Fetches transcripts for YouTube videos.
Outscraper
Extract data from Google Maps, including places and reviews, using the Outscraper API.
GeekNews MCP Server
Fetches and caches daily articles from GeekNews using web scraping.
Yahoo Finance
Provides comprehensive financial data from Yahoo Finance, including historical prices, company info, financial statements, and market news.
Notte
Leverage Notte Web AI agents & cloud browser sessions for scalable browser automation & scraping workflows