mcpField
Y
youtube-summarize

youtube-summarize

Local
github.com/zlatkocMedia & Design6Updated 13w ago

About youtube-summarize

An MCP server for retrieving YouTube transcripts and video information, with optional summarization instructions. It supports transcript formats, language preferences, playlist browsing, and filtered video search.

Key features

  1. 01Fetch transcripts in five formats
  2. 02Retrieve video metadata
  3. 03Add transcript timestamps
  4. 04Return reviewable summary instructions
  5. 05Browse playlists and search videos
  6. 06Select transcript languages

Use cases

  1. 01Read a video transcript in a chosen format
  2. 02Review summary instructions before LLM processing
  3. 03Find videos matching search filters
  4. 04Enumerate and sort playlist videos

MCP support

Exposes tools to MCP clients for transcripts, metadata, playlist listings, video search, and transcript-language discovery. Its summarization tool returns instructions and transcript content for the client LLM.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"youtube-summarize": {
"command": "uvx",
"args": [
"youtube-summarize"
]
}
}
}
Run commanduvx youtube-summarize

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiyoutube-summarize0.6.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

youtube-summarize

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

Demo — summarizing a YouTube video in Claude

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
  • Search videos — clean ranked results with sort and filter options, without the ads, Shorts shelves, and personalized recommendations of the YouTube website
  • 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.

ParameterTypeDefaultDescription
urlstringrequiredYouTube video URL or video ID
languagesstring[]["en"]Preferred languages in priority order
formatstring"text"Output format: text, json, pretty, webvtt, srt
preserve_formattingbooleanfalseKeep HTML formatting tags in the transcript
include_timestampsbooleanfalseWhen true with format="text", prefix each line with [HH:MM:SS]. Ignored for other formats (they already include timestamps).
include_metadatabooleantruePrepend 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.

ParameterTypeDefaultDescription
urlstringrequiredYouTube video URL or video ID
promptstring(default prompt)Custom summarization instructions
languagesstring[]["en"]Preferred languages in priority order
include_timestampsbooleanfalsePrefix each transcript line with [HH:MM:SS].
include_metadatabooleantrueInclude 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.

ParameterTypeDefaultDescription
urlstringrequiredYouTube 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.

ParameterTypeDefaultDescription
urlstringrequiredYouTube playlist URL (with ?list=...) or bare playlist ID
limitinteger500Maximum videos to return
sort_bystring"index"One of: index (playlist order), title, duration, views. upload_date is not supported.
orderstring"asc"asc or desc
search_videos

Search YouTube for videos and return a clean ranked list (title, ID, channel, duration, views, URL) — only actual videos, with no ads, recommendation shelves, or personalization. Relevance ordering still comes from YouTube's backend. Pair with get_transcript or summarize_transcript on a result's ID or URL.

ParameterTypeDefaultDescription
querystringrequiredSearch terms
limitinteger10Maximum results to return
sort_bystring"relevance"One of: relevance, date (newest first), views, rating
uploadedstring"any"Filter by upload time: any, hour, today, week, month, year
durationstring"any"Filter by length: any, short (<4 min), medium (4–20 min), long (>20 min)
list_transcripts

List available transcript languages for a video.

ParameterTypeDefaultDescription
urlstringrequiredYouTube 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.