MCP Browser YouTube Transcript
A Docker-based MCP server that uses Puppeteer (Headless Chrome) to fetch YouTube transcripts directly from the video page UI. This approach bypasses the aggressive rate limiting (HTTP 429) often encountered with standard API endpoints or youtube-dl.
Features
get_transcript: Fetch the full plain text transcript.get_timed_transcript: Fetch the transcript with timestamps and deep links.get_video_info: Fetch video metadata usingyoutube-dl-exec.
How it Works
- Browser Automation: Launches a headless Chromium instance inside the Docker container.
- UI Scraping: Navigates to the YouTube video URL, clicks "Show transcript", and parses the DOM elements.
- Efficiency: Uses a global browser instance to avoid the overhead of launching a new browser for every request.
Usage
Docker (Recommended)
-
Build and run the server:
docker compose build docker compose run --rm -i mcp-browser-youtube -
Configure your MCP client (e.g., Claude Desktop, VS Code) to use the Docker command:
{ "mcpServers": { "youtube-browser": { "command": "docker", "args": ["compose", "-f", "/path/to/mcp-browser-youtube-transcript/docker-compose.yml", "run", "--rm", "-i", "mcp-browser-youtube"] } } }
Local Development
-
Install dependencies:
npm install -
Run the server:
node index.js
