youtube-summarize
The youtube-summarize MCP server enables AI assistants to interact with YouTube videos and playlists:
Fetch transcripts – Get a video's transcript in
text,json,srt,webvtt, orprettyformat, with options for timestamps, metadata, language preference, and HTML formatting.Summarize videos – Retrieve a transcript paired with summarization instructions (custom or default) for an LLM to generate a summary.
Get video metadata – Obtain details like title, description, channel, upload date, duration, views, tags, and chapters.
List playlist videos – Enumerate videos in any public playlist with key details (title, ID, channel, duration, views, URL), with options to limit results and sort by index, title, duration, or views.
List available transcript languages – Discover all transcript languages offered for a given video.
Supports various YouTube URL formats (youtube.com/watch?v=, youtu.be/, youtube.com/shorts/, etc.) or bare video IDs, with multi-language fallback support.
Enables fetching video transcripts in multiple formats, listing available transcript languages, and generating structured content for video summarization.
youtube-summarize
MCP server that fetches YouTube video transcripts and optionally summarizes them.

Features
Fetch transcripts in multiple formats (text, JSON, SRT, WebVTT, pretty-print)
Video metadata — title, description, channel, upload date, duration, views, chapters (via yt-dlp)
Optional timestamps in plain-text transcripts
Summarize videos — returns transcript with the prompt clearly broken out for human review before the LLM acts on it
List playlist videos — fast enumeration of any public playlist with optional sorting
List available languages for any video's transcripts
Flexible URL parsing — accepts full YouTube URLs (
youtube.com/watch?v=,youtu.be/,youtube.com/embed/,youtube.com/shorts/) or bare video IDsMulti-language support — request transcripts in specific languages with fallback priority
Tools
get_transcript
Fetch a YouTube video's transcript. By default the response is prefixed with a [METADATA] block (title, channel, published, duration, views, description); pass include_metadata=false for transcript-only output.
Parameter | Type | Default | Description |
| string | required | YouTube video URL or video ID |
| string[] |
| Preferred languages in priority order |
| string |
| Output format: |
| boolean |
| Keep HTML formatting tags in the transcript |
| boolean |
| When |
| boolean |
| Prepend a |
summarize_transcript
Fetch a transcript and return it with summarization instructions. The response is structured into clearly-labeled sections ([INSTRUCTIONS], [PROMPT_SOURCE], [VIDEO], [METADATA], [TRANSCRIPT]) so a human can review the prompt before letting the LLM act on it.
Parameter | Type | Default | Description |
| string | required | YouTube video URL or video ID |
| string | (default prompt) | Custom summarization instructions |
| string[] |
| Preferred languages in priority order |
| boolean |
| Prefix each transcript line with |
| boolean |
| Include a |
get_video_metadata
Fetch metadata (title, description, channel, upload date, duration, views, tags, chapters, etc.) for a YouTube video. Backed by yt-dlp.
Parameter | Type | Default | Description |
| string | required | YouTube video URL or video ID |
list_playlist_videos
List the videos in a YouTube playlist (title, ID, channel, duration, views, URL). Per-video metadata is intentionally lean so the call stays fast even for large playlists; call get_video_metadata with a specific video ID for full detail.
Parameter | Type | Default | Description |
| string | required | YouTube playlist URL (with |
| integer |
| Maximum videos to return |
| string |
| One of: |
| string |
|
|
list_transcripts
List available transcript languages for a video.
Parameter | Type | Default | Description |
| string | required | YouTube video URL or video ID |
Installation
Quick start (recommended)
uvx youtube-summarizeClaude Desktop
Add to your claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"youtube-summarize": {
"command": "uvx",
"args": ["youtube-summarize"]
}
}
}Claude Code
claude mcp add youtube-summarize -- uvx youtube-summarizeOther MCP clients
Run the server over stdio:
uvx youtube-summarizePrerequisites
Python 3.13+
uv package manager
Development
# Install dependencies
uv sync
# Launch the MCP inspector (web UI for testing tools)
uv run mcp dev main.pyLicense
MIT
mcp-name: io.github.zlatkoc/youtube-summarize
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zlatkoc/youtube-summarize'
If you have feedback or need assistance with the MCP directory API, please join our Discord server