MCP server that fetches YouTube video transcripts and optionally summarizes them
MCP server that fetches YouTube video transcripts and optionally summarizes them.

youtube.com/watch?v=, youtu.be/, youtube.com/embed/, youtube.com/shorts/) or bare video IDsget_transcriptFetch a YouTube video's transcript.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | YouTube video URL or video ID |
languages | string[] | ["en"] | Preferred languages in priority order |
format | string | "text" | Output format: text, json, pretty, webvtt, srt |
preserve_formatting | boolean | false | Keep HTML formatting tags in the transcript |
summarize_transcriptFetch a transcript and return it with summarization instructions for the LLM client.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | YouTube video URL or video ID |
prompt | string | (default prompt) | Custom summarization instructions |
languages | string[] | ["en"] | Preferred languages in priority order |
list_transcriptsList available transcript languages for a video.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | YouTube video URL or video ID |
uvx youtube-summarizeAdd to your claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"youtube-summarize": {
"command": "uvx",
"args": ["youtube-summarize"]
}
}
}claude mcp add youtube-summarize -- uvx youtube-summarizeRun the server over stdio:
uvx youtube-summarize# Install dependencies
uv sync
# Launch the MCP inspector (web UI for testing tools)
uv run mcp dev main.pyMIT
mcp-name: io.github.zlatkoc/youtube-summarize