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
Servidores relacionados
Bright Data
patrocinadorDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
Browser Use MCP Server
An MCP server that allows AI agents to control a web browser using the browser-use library.
Website to Markdown MCP Server
Fetches and converts website content to Markdown with AI-powered cleanup, OpenAPI support, and stealth browsing.
Anysite
Turn any website into an API
Redbook Search & Comment Tool
An automated tool to search notes, analyze content, and post AI-generated comments on Xiaohongshu (Redbook) using Playwright.
RAGify Docs
A Developers Tool — Scrape entire documentation recursively and ask questions using AI
Extract Developer & LLM Docs
Extract documentation for AI agents from any site with llms.txt support. Features MCP server, REST API, batch processing, and multiple export formats.
Decodo
Easy web data access. Simplified retrieval of information from websites and online sources.
Rendex Screenshot
Capture website screenshots as PNG/JPEG via AI agents. Full-page capture, dark mode, ad blocking, custom viewports. Edge-deployed on Cloudflare Workers, free tier included.
Pip Server
Market Data
Clawpage
Extract and structure any web page into clean JSON.