YouTube Transcript MCP Server
A Model Context Protocol (MCP) server that fetches and cleans transcripts from YouTube videos using yt-dlp.
Features
- Robust Transcript Fetching: Uses
yt-dlpto retrieve subtitles. - Attempts to fetch manual subtitles first (high quality).
- Falls back to auto-generated subtitles if manual ones are unavailable.
- Smart Cleaning:
- Removes VTT formatting, tags, and timestamps.
- Deduplicates repeated lines common in auto-generated captions.
- Cleans up common YouTube auto-caption artifacts.
- MCP Integration: Fully compatible with Claude Desktop and other MCP clients.
Tools
get_youtube_transcript
Fetches and cleans the transcript for a given YouTube video URL.
- Arguments:
url(string) - The full URL of the YouTube video. - Returns: A clean string containing the video transcript.
Installation
This project uses uv for dependency management.
Prerequisites
- uv installed.
- A recent version of Python.
Setup
- Clone the repository:
git clone https://github.com/warshanks/yt-transcript-mcp.git
cd yt-transcript-mcp
- Install dependencies:
uv sync
Configuration
Claude Desktop
To use this server with Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"yt-transcript": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/yt-transcript-mcp",
"run",
"server.py"
]
}
}
}
Replace /absolute/path/to/yt-transcript-mcp with the actual path to your cloned repository.
Development
To run the server locally for testing or development:
uv run server.py
License
MIT











