{"id":28972529,"url":"https://github.com/ergut/youtube-transcript-mcp","last_synced_at":"2025-07-14T10:38:23.564Z","repository":{"id":297329302,"uuid":"996422114","full_name":"ergut/youtube-transcript-mcp","owner":"ergut","description":"Zero-setup YouTube transcript extraction for Claude. Works on mobile, desktop, and web - no local installation required.","archived":false,"fork":false,"pushed_at":"2025-06-05T00:12:44.000Z","size":1193,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-05T04:47:32.693Z","etag":null,"topics":["mcp-server","remote-mcp-server","sse"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ergut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-04T23:44:57.000Z","updated_at":"2025-06-05T00:10:12.000Z","dependencies_parsed_at":"2025-06-05T04:47:39.970Z","dependency_job_id":"3191d799-6801-41c7-a34b-5a31c1bfcdb7","html_url":"https://github.com/ergut/youtube-transcript-mcp","commit_stats":null,"previous_names":["ergut/youtube-transcript-mcp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ergut/youtube-transcript-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergut%2Fyoutube-transcript-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergut%2Fyoutube-transcript-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergut%2Fyoutube-transcript-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergut%2Fyoutube-transcript-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ergut","download_url":"https://codeload.github.com/ergut/youtube-transcript-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergut%2Fyoutube-transcript-mcp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261658588,"owners_count":23191088,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mcp-server","remote-mcp-server","sse"],"created_at":"2025-06-24T11:06:51.493Z","updated_at":"2025-06-24T11:06:52.167Z","avatar_url":"https://github.com/ergut.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"YouTube Transcript MCP Logo\" width=\"200\"/\u003e\n  \n  # YouTube Transcript Remote MCP Server\n\n  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.\n\u003c/div\u003e\n\n[![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/ergut/youtube-transcript-mcp)\n\n## 🌟 Features\n\n- **Zero Local Setup**: No installation required - works directly from the cloud\n- **Universal Access**: Works on desktop, mobile, and web versions of Claude\n- **Smart Caching**: Efficient caching system using Cloudflare KV for fast responses\n- **Multi-language Support**: Extract transcripts in different languages\n- **Error Handling**: Robust error handling with user-friendly messages\n- **Analytics**: Built-in request tracking and usage analytics\n- **URL Flexibility**: Handles all YouTube URL formats (youtube.com, youtu.be, m.youtube.com, etc.)\n\n## 🚀 Quick Start\n\n### Option 1: Use Our Hosted Server (Recommended)\n\nThe easiest way to get started - just add our public server to your Claude Desktop:\n\n#### For Claude Desktop Users\n\n1. **Open Claude Desktop Settings**\n   - Click on \"Claude\" in the menu bar → \"Settings\"\n   - Navigate to \"Developer\" tab\n   - Click \"Edit Config\"\n\n2. **Add the MCP Server Configuration**\n   \n   Add this to your `claude_desktop_config.json`:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"youtube-transcript\": {\n         \"command\": \"npx\",\n         \"args\": [\n           \"mcp-remote\",\n           \"https://youtube-transcript-mcp.ergut.workers.dev/sse\"\n         ]\n       }\n     }\n   }\n   ```\n\n3. **Restart Claude Desktop**\n   \n   After saving the config file, restart Claude Desktop to load the server.\n\n4. **Verify Installation**\n   \n   Look for the tools icon (🔧) in the chat interface. You should see the `get_transcript` tool available.\n\n### Option 2: Deploy Your Own\n\nWant to run your own instance? Deploy to Cloudflare Workers in one click:\n\n[![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/ergut/youtube-transcript-mcp)\n\nOr manually:\n\n```bash\ngit clone https://github.com/ergut/youtube-transcript-mcp\ncd youtube-transcript-mcp\nnpm install\nnpm run deploy\n```\n\n### For Other MCP Clients\n\nThe server supports the standard MCP protocol and can be used with any compatible client:\n\n- **Public Server URL**: `https://youtube-transcript-mcp.ergut.workers.dev/sse`\n- **Transport**: Server-Sent Events (SSE) or HTTP\n- **Authentication**: None required (public server)\n\n## 📖 Usage Examples\n\n### Basic Transcript Extraction\n\n```\nExtract the transcript from this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ\n```\n\n### Multi-language Support\n\n```\nCan you get the transcript of this video in Turkish: https://youtu.be/VIDEO_ID\n```\n\n```\nExtract the Spanish transcript from: https://www.youtube.com/watch?v=VIDEO_ID\n```\n\n### Supported URL Formats\n\nThe server automatically handles all YouTube URL formats:\n\n- `https://www.youtube.com/watch?v=VIDEO_ID`\n- `https://youtu.be/VIDEO_ID`\n- `https://m.youtube.com/watch?v=VIDEO_ID`\n- `https://www.youtube.com/live/VIDEO_ID`\n- `https://www.youtube.com/embed/VIDEO_ID`\n- `https://www.youtube.com/shorts/VIDEO_ID`\n- International domains (`youtube.co.uk`, `youtube.de`, etc.)\n\nAll tracking parameters (like `?si=`, `\u0026t=`, etc.) are automatically removed.\n\n## 🛠 Available Tools\n\n### `get_transcript`\n\nExtracts the transcript from a YouTube video URL.\n\n**Parameters:**\n- `url` (required): YouTube video URL in any format\n- `language` (optional): Language code for the transcript (e.g., 'en', 'es', 'fr'). Defaults to 'en'.\n\n**Example Usage:**\n```json\n{\n  \"name\": \"get_transcript\",\n  \"arguments\": {\n    \"url\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n    \"language\": \"en\"\n  }\n}\n```\n\n## 🔧 Advanced Configuration\n\n### Debug Logging\n\nTo enable detailed logging for troubleshooting:\n\n```json\n{\n  \"mcpServers\": {\n    \"youtube-transcript\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"mcp-remote\",\n        \"https://youtube-transcript-mcp.ergut.workers.dev/sse\",\n        \"--debug\"\n      ]\n    }\n  }\n}\n```\n\nDebug logs will be created in `~/.mcp-auth/{server_hash}_debug.log`.\n\n### HTTP Transport Only\n\nTo force HTTP transport instead of SSE:\n\n```json\n{\n  \"mcpServers\": {\n    \"youtube-transcript\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"mcp-remote\",\n        \"https://youtube-transcript-mcp.ergut.workers.dev/mcp\",\n        \"--transport\",\n        \"http-only\"\n      ]\n    }\n  }\n}\n```\n\n## 📊 Server Information\n\n- **Hosting**: Cloudflare Workers\n- **Caching**: Cloudflare KV with 7-day cache for successful transcripts\n- **Rate Limiting**: Built-in retry logic with exponential backoff\n- **Uptime**: 99.9%+ availability through Cloudflare's global network\n- **Response Time**: Typically \u003c3 seconds for cached content, \u003c10 seconds for new requests\n\n## 🚨 Error Handling\n\nThe server provides clear error messages for common issues:\n\n- **\"Invalid YouTube URL provided\"**: The URL format is not recognized\n- **\"No transcript available for this video\"**: Video has no captions/transcript\n- **\"Video not found or private\"**: Video is private, deleted, or doesn't exist\n- **\"Service temporarily busy, try again in a few minutes\"**: Rate limiting from YouTube\n- **\"Transcripts are disabled for this video\"**: Creator has disabled captions\n\n## 🌍 Language Support\n\nThe server supports any language that YouTube provides transcripts for. Common language codes:\n\n- `en` - English (default)\n- `tr` - Turkish\n- `es` - Spanish\n- `fr` - French\n- `de` - German\n- `it` - Italian\n- `pt` - Portuguese\n- `ja` - Japanese\n- `ko` - Korean\n- `zh` - Chinese\n\n## 🔒 Privacy \u0026 Security\n\n- **No Authentication Required**: Public server for ease of use\n- **No Data Storage**: Transcripts are cached temporarily for performance only\n- **No Personal Information**: Only YouTube video IDs and transcripts are processed\n- **HTTPS Only**: All communications are encrypted\n- **CORS Enabled**: Supports web-based MCP clients\n\n## 🚀 API Endpoints\n\nFor developers who want to integrate directly:\n\n### HTTP POST `/mcp`\nStandard MCP JSON-RPC endpoint for direct integration.\n\n### Server-Sent Events `/sse`\nMCP SSE transport endpoint for real-time communication.\n\n### Info `/`\nServer information and status endpoint.\n\n**Example Direct API Call:**\n```bash\ncurl -X POST https://youtube-transcript-mcp.ergut.workers.dev/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1,\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"get_transcript\",\n      \"arguments\": {\n        \"url\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n        \"language\": \"en\"\n      }\n    }\n  }'\n```\n\n## 🐛 Troubleshooting\n\n### Common Issues\n\n1. **\"Connection Error\" in Claude Desktop**\n   - Ensure you have the latest Claude Desktop version\n   - Check that `mcp-remote` is properly configured\n   - Try adding `--debug` flag to see detailed logs\n\n2. **\"Could not attach to MCP server\"**\n   - Verify your internet connection\n   - Check the server URL is correct\n   - Restart Claude Desktop after config changes\n\n3. **No transcript returned**\n   - Verify the YouTube URL is valid and accessible\n   - Check if the video has captions enabled\n   - Try a different language code if available\n\n### Getting Help\n\n- **Check logs**: Look in `~/.mcp-auth/` for debug logs\n- **Test direct connection**: Use `npx -p mcp-remote@latest mcp-remote-client https://youtube-transcript-mcp.ergut.workers.dev/sse`\n- **Verify server status**: Visit `https://youtube-transcript-mcp.ergut.workers.dev/`\n- **Open an issue**: [GitHub Issues](https://github.com/ergut/youtube-transcript-mcp/issues)\n\n## 🤝 Contributing\n\nThis is an open-source project. Contributions are welcome!\n\n- **Report Issues**: Found a bug? Please [open an issue](https://github.com/ergut/youtube-transcript-mcp/issues)\n- **Feature Requests**: Have ideas for improvements? Let us know!\n- **Code Contributions**: PRs welcome for enhancements\n\n### Development Setup\n\n```bash\ngit clone https://github.com/ergut/youtube-transcript-mcp\ncd youtube-transcript-mcp\nnpm install\nnpm run dev\n```\n\n## 📜 License\n\nThis project is open source and available under the [MIT License](LICENSE).\n\n## 🙏 Acknowledgments\n\n- Built with the [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic\n- Hosted on [Cloudflare Workers](https://workers.cloudflare.com/)\n- Uses the [youtube-transcript](https://www.npmjs.com/package/youtube-transcript) library\n- Inspired by the MCP community and existing local transcript servers\n\n---\n\n**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! 🎉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fergut%2Fyoutube-transcript-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fergut%2Fyoutube-transcript-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fergut%2Fyoutube-transcript-mcp/lists"}