
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.
- 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.)
The easiest way to get started - just add our public server to your Claude Desktop:
-
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.
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
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)
Extract the transcript from this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ
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
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.
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"
}
}
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
.
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"
]
}
}
}
- 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
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
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
- 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
For developers who want to integrate directly:
Standard MCP JSON-RPC endpoint for direct integration.
MCP SSE transport endpoint for real-time communication.
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"
}
}
}'
-
"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
- 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
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
git clone https://github.com/ergut/youtube-transcript-mcp
cd youtube-transcript-mcp
npm install
npm run dev
This project is open source and available under the MIT License.
- 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! π