Package Exports
- @adbuilds/youtube-transcript-mcp
- @adbuilds/youtube-transcript-mcp/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@adbuilds/youtube-transcript-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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