@adbuilds/youtube-transcript-mcp
v0.0.2
Published
MCP server for retrieving YouTube video transcripts for Claude Code and other MCP-enabled AI tools
Maintainers
Readme
YouTube Transcript MCP Server
A Model Context Protocol (MCP) server for retrieving transcripts from YouTube videos. Extract, summarize, and analyze video content with Claude Code or any MCP-enabled AI tool.
Quick Start
claude mcp add --scope user youtube-transcript npx @adbuilds/youtube-transcript-mcpThen restart Claude Code and ask: "Get the transcript from https://www.youtube.com/watch?v=dQw4w9WgXcQ"
Features
- Get Video Transcripts: Extract full transcripts from any YouTube video with available captions
- Multiple URL Formats: Support for all common YouTube URL formats
- Timestamp Support: Include or exclude timestamps in transcript output
- Language Selection: Request transcripts in specific languages when available
- Zero Dependencies: Uses native fetch API for transcript fetching (no external packages for YouTube)
- Multi-Client Fallback: Tries Android → Web → TV_EMBEDDED clients for maximum reliability
Installation
Via npm (Recommended)
npm install -g @adbuilds/youtube-transcript-mcpFrom source
git clone https://github.com/adbuilds/youtube-transcript-mcp.git
cd youtube-transcript-mcp
npm installConfiguration
Claude Code CLI (Easiest)
# Add the MCP server for all projects (machine-wide)
claude mcp add --scope user youtube-transcript npx @adbuilds/youtube-transcript-mcpManual Configuration
Add to your ~/.claude.json:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["@adbuilds/youtube-transcript-mcp"]
}
}
}Usage
Once configured, restart Claude Code. The following tools will be available:
1. get-transcript
Retrieve the transcript of a YouTube video.
Parameters:
url(required): YouTube video URL or video IDlang(optional): Language code for transcript (e.g., 'en', 'es', 'fr'). Default: video's default languageinclude_timestamps(optional): Include timestamps in output. Default: true
Supported URL formats:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/shorts/VIDEO_IDVIDEO_ID(just the 11-character video ID)
Example prompts:
Get the transcript from https://www.youtube.com/watch?v=dQw4w9WgXcQGet the transcript from this video without timestamps: https://youtu.be/dQw4w9WgXcQ2. get-transcript-languages
Check what transcript languages are available for a video.
Parameters:
url(required): YouTube video URL or video ID
Example:
What transcript languages are available for https://www.youtube.com/watch?v=dQw4w9WgXcQ?MCP Token Limit
The MCP protocol has a 25,000 token response limit. For very long videos (60+ minutes):
- Disable timestamps to reduce size by 20-30%
- Request shorter clips if available
Technical Details
- Built with @modelcontextprotocol/sdk
- Custom YouTube transcript library (
yt-lib/) with zero external dependencies - Uses YouTube's Innertube API for reliable transcript access
- Multi-client fallback system (Android → Web → TV_EMBEDDED)
Error Handling
The server provides specific error messages for:
- Transcripts disabled by video owner
- Video unavailable or private
- Age-restricted videos
- Request blocking (rate limiting)
- Invalid video IDs
License
MIT
