
YouTube Transcript MCP Server
Enables Claude AI to extract transcripts from YouTube videos with zero setup required. Works on all platforms including mobile, supports multiple languages, and handles all YouTube URL formats through a cloud-hosted service.
README
<div align="center"> <img src="assets/logo.png" alt="YouTube Transcript MCP Logo" width="200"/>
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. </div>
🌟 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_transcript
tool 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_ID
https://youtu.be/VIDEO_ID
https://m.youtube.com/watch?v=VIDEO_ID
https://www.youtube.com/live/VIDEO_ID
https://www.youtube.com/embed/VIDEO_ID
https://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-remote
is properly configured - Try adding
--debug
flag 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! 🎉
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.