Labsco
MCP SERVER

YouTube Summarize

by zlatkoc

Pull a YouTube transcript, its metadata or a whole playlist listing into the conversation, and hand the transcript to the model to summarize — with the prompt shown first.

Speech Synthesis & TranscriptionVerified
Summary
Transcript in, clean text out — and the summarize call shows you the prompt first.

Fetching the transcript is the workhorse; the summarize call is the same fetch with its instructions broken out into labelled blocks, so what the model is about to be told is visible rather than implied. Search and playlist listing mean you can start from a topic or a course rather than from a URL you already had, and the search results are the video list without the shelves the website wraps around it.

What it is

A server that fetches YouTube transcripts, video metadata, playlist contents and search results and returns them in shapes an assistant can read directly. Metadata comes from yt-dlp, so it covers chapters and tags rather than just a title.

What you get
  • get_transcript returns a video's transcript as text, JSON, SRT, WebVTT or a pretty-printed form, in a preferred language order, with optional per-line timestamps and a metadata block you can turn off.
  • summarize_transcript is the same fetch with instructions attached, returned in clearly labelled sections — instructions, prompt source, video, metadata, transcript — so a human can read the prompt before the model acts on it, and you can supply your own instead.
  • get_video_metadata returns title, description, channel, upload date, duration, views, tags and chapters on their own.
  • list_playlist_videos enumerates a playlist with title, id, channel, duration and views, deliberately lean so it stays fast on a large one, sortable by playlist order, title, duration or views.
  • search_videos returns a clean ranked list of actual videos — no ads, no recommendation shelves, no personalisation — filterable by upload window and by length, and sortable by relevance, date, views or rating.
  • list_transcripts reports which transcript languages a video actually has, before you ask for one it does not.
  • Full URLs or bare ids are both accepted, including the short, embed and shorts forms.
Requirements

Nothing — no account, no key, no API quota. It runs as a Python package launched with uvx, and needs Python 3.13 or newer with the uv package manager installed.

Setup effort

One command — uvx youtube-summarize