YouTube Transcript MCP Server
by jkawamoto
jkawamoto's MCP server fetches YouTube captions, per-line timestamps, video metadata, and available languages for any video, no API key, browser, or scraping required.
Add to Claude Code
claude mcp add youtube-transcript -- uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript
About
This MCP server exposes four tools for pulling caption data out of YouTube videos: fetch a transcript, fetch one with per-line timestamps, look up video metadata, or list which languages a video's captions are available in. Under the hood it uses jdepoix's youtube-transcript-api Python library to do the actual retrieval, but it's a separate, actively maintained project: MIT-licensed, with roughly 460 GitHub stars and its own install path and MCP tool layer.
Because it reads captions the same way YouTube's own player does, there's no Data API key or headless browser involved. Built-in proxy support (Webshare or a generic proxy) handles environments where YouTube starts blocking the requesting IP, and a configurable response limit paginates long transcripts so a single tool call doesn't overflow the context window.
Key features
- get_transcript and get_timed_transcript return a video's captions, with or without per-line timestamps
- get_video_info returns metadata for a given video
- get_available_languages lists which caption languages exist before you commit to fetching one
- Built-in Webshare or generic proxy support for environments where YouTube blocks the request IP
- Configurable response pagination (--response-limit) keeps long transcripts from overflowing a single response
- No YouTube Data API key or headless browser required
Use cases
- Feeding a video's transcript into an LLM as source text for summarization or Q&A
- Pulling timestamped captions to cite or jump to a specific moment in a video
- Checking which languages a video's captions are available in before fetching one
- Batch-extracting transcripts across a channel's videos through repeated tool calls
Available tools
get_transcript
Fetches a video's transcript, with language selection and pagination options.
get_timed_transcript
Fetches the transcript with a timestamp attached to each caption line.
get_video_info
Returns metadata for the given YouTube video.
get_available_languages
Lists which transcript languages exist for a video.
Frequently asked questions
Is this the same project as jdepoix's youtube-transcript-api?
No. jkawamoto's MCP server is a separate, actively maintained project that uses jdepoix's Python library internally to do the actual transcript fetching, but ships its own MCP tool layer, MIT license, and install path.
Does it need a YouTube Data API key?
No. It reads captions the same way YouTube's own player does. Built-in proxy support is available for environments where YouTube starts blocking the request IP.