youtube-summarize
MCP server that fetches YouTube video transcripts and summarizes them using your LLM client
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 IDs - Multi-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 |
|---|---|---|---|
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 |
include_timestamps | boolean | false | When true with format="text", prefix each line with [HH:MM:SS]. Ignored for other formats (they already include timestamps). |
include_metadata | boolean | true | Prepend a [METADATA] block before the transcript. Pass false for transcript-only output. |
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 |
|---|---|---|---|
url | string | required | YouTube video URL or video ID |
prompt | string | (default prompt) | Custom summarization instructions |
languages | string[] | ["en"] | Preferred languages in priority order |
include_timestamps | boolean | false | Prefix each transcript line with [HH:MM:SS]. |
include_metadata | boolean | true | Include a [VIDEO] block with title, channel, published, duration, views, and description. |
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 |
|---|---|---|---|
url | 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 |
|---|---|---|---|
url | string | required | YouTube playlist URL (with ?list=...) or bare playlist ID |
limit | integer | 500 | Maximum videos to return |
sort_by | string | "index" | One of: index (playlist order), title, duration, views. upload_date is not supported. |
order | string | "asc" | asc or desc |
list_transcripts
List available transcript languages for a video.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | YouTube video URL or video ID |
Installation
Quick start (recommended)
uvx youtube-summarize
Claude Desktop
Add to your claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"youtube-summarize": {
"command": "uvx",
"args": ["youtube-summarize"]
}
}
}
Claude Code
claude mcp add youtube-summarize -- uvx youtube-summarize
Other MCP clients
Run the server over stdio:
uvx youtube-summarize
Prerequisites
- 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.py
License
MIT
mcp-name: io.github.zlatkoc/youtube-summarize
相關伺服器
Bright Data
贊助Discover, extract, and interact with the web - one interface powering automated access across the public internet.
Open Crawler MCP Server
A web crawler and content extractor that supports multiple output formats like text, markdown, and JSON.
MCP Server Collector
Discovers and collects MCP servers from the internet.
transcriptor-mcp
An MCP server (stdio + HTTP/SSE) that fetches video transcripts/subtitles via yt-dlp, with pagination for large responses. Supports YouTube, Twitter/X, Instagram, TikTok, Twitch, Vimeo, Facebook, Bilibili, VK, Dailymotion. Whisper fallback — transcribes audio when subtitles are unavailable (local or OpenAI API). Works with Cursor and other MCP host
Leapfrog
Multi-session browser MCP for AI agents — stealth mode, session pooling, humanization, 10x fewer tokens than Playwright
NBA Player Stats
Provides comprehensive NBA player statistics from basketball-reference.com, including career stats, season comparisons, and advanced metrics.
Context Scraper MCP Server
A server for web crawling and content extraction using the Crawl4AI library.
Buienradar
Fetches precipitation data for a given latitude and longitude using Buienradar.
MCP360
MCP360 is a unified gateway and marketplace that provides 100+ external tools and custom MCPs through a single integration for AI agents.
Sitemap MCP Server
A server for fetching, parsing, analyzing, and visualizing website sitemaps.
https://prowldata.dev/mcp
Real-world intelligence for AI agents via x402 micropayments. Prediction markets, economics, weather, narrative, and geopolitics.