Skip to main content
Glama
RahulPatkiWork

YouTube Transcript MCP Server

README.mdβ€’9 kB
<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> [![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/ergut/youtube-transcript-mcp) ## 🌟 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 1. **Open Claude Desktop Settings** - Click on "Claude" in the menu bar β†’ "Settings" - Navigate to "Developer" tab - Click "Edit Config" 2. **Add the MCP Server Configuration** Add this to your `claude_desktop_config.json`: ```json { "mcpServers": { "youtube-transcript": { "command": "npx", "args": [ "mcp-remote", "https://youtube-transcript-mcp.ergut.workers.dev/sse" ] } } } ``` 3. **Restart Claude Desktop** After saving the config file, restart Claude Desktop to load the server. 4. **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: [![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/ergut/youtube-transcript-mcp) Or manually: ```bash 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 format - `language` (optional): Language code for the transcript (e.g., 'en', 'es', 'fr'). Defaults to 'en'. **Example Usage:** ```json { "name": "get_transcript", "arguments": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "language": "en" } } ``` ## πŸ”§ Advanced Configuration ### Debug Logging To enable detailed logging for troubleshooting: ```json { "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: ```json { "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` - Turkish - `es` - Spanish - `fr` - French - `de` - German - `it` - Italian - `pt` - Portuguese - `ja` - Japanese - `ko` - Korean - `zh` - 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:** ```bash 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 1. **"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 2. **"Could not attach to MCP server"** - Verify your internet connection - Check the server URL is correct - Restart Claude Desktop after config changes 3. **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](https://github.com/ergut/youtube-transcript-mcp/issues) ## 🀝 Contributing This is an open-source project. Contributions are welcome! - **Report Issues**: Found a bug? Please [open an issue](https://github.com/ergut/youtube-transcript-mcp/issues) - **Feature Requests**: Have ideas for improvements? Let us know! - **Code Contributions**: PRs welcome for enhancements ### Development Setup ```bash 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](LICENSE). ## πŸ™ Acknowledgments - Built with the [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic - Hosted on [Cloudflare Workers](https://workers.cloudflare.com/) - Uses the [youtube-transcript](https://www.npmjs.com/package/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! πŸŽ‰

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RahulPatkiWork/youtube-transcript-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server