The split matters for long videos: metadata and the language list come back without the transcript body, so a wrong-language guess costs one small call instead of a wall of text. The timestamped variant exists for the case where the text has to be quotable — chapter notes, time-coded references — rather than just summarized.
A transcript fetcher for YouTube. Give it a URL or video ID and it returns the caption text, normalized and optionally segmented into paragraphs.
- The transcript of a video from its URL or ID, in a language you name or the best available track if you do not
- Continuous text or paragraph mode, with HTML entities decoded and the text normalized
- A timestamped version for when you need quotes, chapter-style notes or time-coded references
- Video metadata and the available caption languages without pulling the transcript itself
- The language list on its own, which is what you check before retrying with a specific code
- A second name for the main tool, so configurations written for other YouTube transcript servers keep working
No account and no key. Node.js 18 or higher; run it with npx -y @sinco-lab/mcp-youtube-transcript over stdio, from the npm package @sinco-lab/mcp-youtube-transcript, currently 0.0.8, which also installs a youtube-transcript command for the terminal. If you use nvm, note that the Claude desktop app resolves npx against the lowest installed Node version — the project's own guidance is to keep the command as npx and set a full PATH in the config rather than pointing at an absolute path.
One command — npx -y @sinco-lab/mcp-youtube-transcript
