youtube-summarize
youtube-summarize
MCP-сервер, который извлекает транскрипты видео с YouTube и при необходимости создает их краткое содержание.

Возможности
Извлечение транскриптов в различных форматах (текст, JSON, SRT, WebVTT, красивый вывод)
Метаданные видео — название, описание, канал, дата загрузки, длительность, количество просмотров, главы (через yt-dlp)
Опциональные временные метки в текстовых транскриптах
Создание краткого содержания видео — возвращает транскрипт с четко выделенным промптом для проверки человеком перед тем, как LLM начнет работу
Список видео в плейлисте — быстрое перечисление любого публичного плейлиста с возможностью сортировки
Список доступных языков для транскриптов любого видео
Гибкий парсинг URL — принимает полные URL YouTube (
youtube.com/watch?v=,youtu.be/,youtube.com/embed/,youtube.com/shorts/) или просто ID видеоПоддержка нескольких языков — запрос транскриптов на конкретных языках с приоритетом резервных вариантов
Related MCP server: ytt-mcp
Инструменты
get_transcript
Извлечение транскрипта видео с YouTube. По умолчанию ответ предваряется блоком [METADATA] (название, канал, дата публикации, длительность, просмотры, описание); передайте include_metadata=false для вывода только транскрипта.
Параметр | Тип | По умолчанию | Описание |
| string | обязательно | URL видео YouTube или ID видео |
| string[] |
| Предпочитаемые языки в порядке приоритета |
| string |
| Формат вывода: |
| boolean |
| Сохранять HTML-теги форматирования в транскрипте |
| boolean |
| Если |
| boolean |
| Добавлять блок |
summarize_transcript
Извлечение транскрипта и возврат его с инструкциями по созданию краткого содержания. Ответ структурирован по четко обозначенным разделам ([INSTRUCTIONS], [PROMPT_SOURCE], [VIDEO], [METADATA], [TRANSCRIPT]), чтобы человек мог проверить промпт перед тем, как позволить LLM действовать.
Параметр | Тип | По умолчанию | Описание |
| string | обязательно | URL видео YouTube или ID видео |
| string | (промпт по умолчанию) | Пользовательские инструкции по созданию краткого содержания |
| string[] |
| Предпочитаемые языки в порядке приоритета |
| boolean |
| Добавлять |
| boolean |
| Включить блок |
get_video_metadata
Извлечение метаданных (название, описание, канал, дата загрузки, длительность, просмотры, теги, главы и т.д.) для видео на YouTube. Работает на базе yt-dlp.
Параметр | Тип | По умолчанию | Описание |
| string | обязательно | URL видео YouTube или ID видео |
list_playlist_videos
Список видео в плейлисте YouTube (название, ID, канал, длительность, просмотры, URL). Метаданные для каждого видео намеренно сокращены, чтобы вызов оставался быстрым даже для больших плейлистов; используйте get_video_metadata с конкретным ID видео для получения полной информации.
Параметр | Тип | По умолчанию | Описание |
| string | обязательно | URL плейлиста YouTube (с |
| integer |
| Максимальное количество видео для возврата |
| string |
| Одно из: |
| string |
|
|
list_transcripts
Список доступных языков транскриптов для видео.
Параметр | Тип | По умолчанию | Описание |
| string | обязательно | URL видео YouTube или ID видео |
Установка
Быстрый старт (рекомендуется)
uvx youtube-summarizeClaude Desktop
Добавьте в ваш 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-summarizeДругие MCP-клиенты
Запустите сервер через stdio:
uvx youtube-summarizeПредварительные требования
Python 3.13+
Менеджер пакетов uv
Разработка
# Install dependencies
uv sync
# Launch the MCP inspector (web UI for testing tools)
uv run mcp dev main.pyЛицензия
MIT
mcp-name: io.github.zlatkoc/youtube-summarize
Available Tools
6 toolsget_transcriptA
Fetch a YouTube video's transcript.
Args: url: YouTube video URL or video ID languages: Preferred languages in priority order (e.g. ["en", "de"]). Defaults to English. format: Output format — one of: text, json, pretty, webvtt, srt preserve_formatting: Keep HTML formatting tags in the transcript text include_timestamps: When True with format="text", prefix each line with [HH:MM:SS]. Ignored for json/srt/webvtt/pretty (those formats already include timestamps). include_metadata: When True (default), prepend a [METADATA] block (title, channel, published, duration, views, description) before the transcript. Pass False for transcript-only output.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| format | No | text | |
| languages | No | ||
| include_metadata | No | ||
| include_timestamps | No | ||
| preserve_formatting | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the behavior of all parameters, including interactions (e.g., 'include_timestamps' ignored for certain formats) and defaults. However, it does not disclose potential failure cases (e.g., invalid URL or unavailable transcript).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening sentence and a bullet-style Args list. It is informative without excessive verbosity, though the Args section could be slightly condensed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown), the description does not need to detail return values. It covers all parameters and their behavior comprehensively. Minor missing context includes error handling and prerequisites (e.g., valid URL).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining all 6 parameters with defaults, accepted values (e.g., format options), and behavioral nuances (e.g., 'include_timestamps' interaction with format). This adds significant meaning beyond the schema's bare titles and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch a YouTube video's transcript,' which is a specific verb and resource. It distinguishes itself from siblings like 'list_transcripts' (which lists available transcripts) and 'summarize_transcript' (which summarizes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like 'list_transcripts' or 'summarize_transcript.' It provides parameter details but lacks context on exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_metadataA
Fetch metadata (title, description, channel, upload date, duration, views, chapters, etc.) for a YouTube video.
Args: url: YouTube video URL or video ID
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral aspects such as authentication, rate limits, or error handling. It only lists the metadata fields returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and a bullet for args, but it could be more structured (e.g., separating description and args more formally).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and sibling tools, the description lists enough fields to understand what is returned. However, missing behavioral details like auth prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies that the url parameter accepts a YouTube video URL or video ID, adding meaning beyond the schema which only specifies type string. Since schema coverage is 0%, this is valuable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it fetches metadata for a YouTube video and lists specific fields (title, description, channel, etc.), which distinguishes it from sibling tools like get_transcript and summarize_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given; usage is implied by the purpose but lacks differentiation from siblings or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_playlist_videosA
List the videos in a YouTube playlist (titles, IDs, channels, durations, views).
Per-video metadata is intentionally lean so the call stays fast even for big playlists. For full metadata on a specific video, call get_video_metadata with that video's ID.
Args: url: YouTube playlist URL (with ?list=...) or bare playlist ID limit: Maximum videos to return (default 500). Pass a smaller value to truncate. sort_by: Sort key — "index" (playlist order, default), "title", "duration", "views". "upload_date" is not supported in this fast-mode tool. order: "asc" (default) or "desc".
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| limit | No | ||
| order | No | asc | |
| sort_by | No | index |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses lean/fast behavior and intentionally sparse per-video metadata. Notes that upload_date sorting is unsupported. With no annotations, the description sufficiently informs about the tool's nature, though it could mention auth or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear opening, rationale, and labeled Args section. Efficiently uses sentences to convey intent and parameter details. Minor improvement would be combining some lines, but overall very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a listing tool with output schema present: explains return metadata, why it's lean, how to get more detail, and covers all parameters. No gaps given the context signals (4 params, no annotations, output schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds significant meaning beyond the input schema: explains url format (with ?list= or bare ID), limit usage (default 500, can truncate), available sort keys (including unsupported upload_date), and order options. Schema coverage is 0%, but description covers all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists videos in a YouTube playlist and specifies the metadata included (titles, IDs, channels, durations, views). It distinguishes from sibling tool 'get_video_metadata' by noting this is a fast, lean alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly guides when to use this tool vs alternatives: 'For full metadata on a specific video, call get_video_metadata with that video's ID.' Also clarifies limitations (no upload_date sort) and suggests truncating with limit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_transcriptsA
List available transcript languages for a YouTube video.
Args: url: YouTube video URL or video ID
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It omits any information about read-only nature, error handling, authentication needs, or side effects. For a listing tool, basic safety context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two short sentences. It is front-loaded with the main action. The parameter documentation is separate but minimal. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to detail return values. However, it lacks context on prerequisites (e.g., video must exist) and does not guide the agent on when to use this vs. get_transcript. For a simple tool, this is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the input schema by specifying that the url parameter accepts 'YouTube video URL or video ID', which the schema lacks. This clarifies acceptable input formats despite the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available transcript languages for a YouTube video. This verb+resource phrasing distinguishes it from sibling tools like get_transcript (retrieves a specific transcript) and get_video_metadata (metadata).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for discovering transcript languages before fetching one, but it does not explicitly state when to use this tool versus alternatives like get_transcript or provide any when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_videosA
Search YouTube for videos and return a clean ranked result list.
Unlike the YouTube website, results contain only actual videos — 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.
Args: query: Search terms limit: Maximum results to return (default 10) sort_by: Result order — "relevance" (default), "date" (newest first), "views", "rating" uploaded: Filter by upload time — "any" (default), "hour", "today", "week", "month", "year" duration: Filter by length — "any" (default), "short" (<4 min), "medium" (4-20 min), "long" (>20 min)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| sort_by | No | relevance | |
| duration | No | any | |
| uploaded | No | any |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses that results exclude ads and personalization and that relevance ordering comes from YouTube's backend. However, it omits details on rate limits, authentication, error handling, or pagination behavior, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a brief purpose paragraph followed by a clear argument-style list of parameters. Every sentence adds information, and the structure is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are handled. The description covers behavior and parameters well, but lacks details on pagination, result limits (beyond default), or edge cases (e.g., no results). Slightly incomplete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides comprehensive explanations for all five parameters, including default values and allowed options (e.g., sort_by: relevance, date, views, rating). This adds significant value beyond the input schema, which has no parameter descriptions (0% coverage).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search YouTube for videos and return a clean ranked result list,' specifying the verb and resource. It distinguishes from the YouTube website by mentioning no ads or personalization, and the parameter list reinforces the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests pairing with get_transcript or summarize_transcript, but does not explicitly mention alternatives among siblings (e.g., list_playlist_videos, get_video_metadata) or when not to use this tool. The guidance is present but limited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_transcriptA
Fetch a YouTube video's transcript and return it with summarization instructions.
The LLM client should use the returned instructions and transcript to produce a summary. The output is structured into clearly-labeled sections so a human can review the prompt before letting the LLM act on it.
Args: url: YouTube video URL or video ID prompt: Custom summarization instructions. If omitted, a default summary prompt is used. languages: Preferred languages in priority order (e.g. ["en", "de"]). Defaults to English. include_timestamps: When True, prefix each transcript line with [HH:MM:SS]. include_metadata: When True (default), include a [VIDEO] block with title, channel, published date, duration, views, and description.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| prompt | No | ||
| languages | No | ||
| include_metadata | No | ||
| include_timestamps | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does carry the burden. It explains that the tool returns instructions and transcript for the LLM to produce a summary, and output is structured. However, it does not disclose potential errors, rate limits, or prerequisites like authentication. The key behavior is transparent but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action, then uses a clear 'Args' list for parameters. It is slightly verbose but every sentence provides value. Could be tightened slightly but remains effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, no annotations, and presence of an output schema, the description covers the main behaviors and parameter details. It explains the output structure but misses error handling or return format specifics (likely covered by output schema). Comprehensive enough for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description includes a detailed 'Args' section explaining each parameter's purpose, defaults, and behavior (e.g., languages in priority order, timestamps format). This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches a YouTube transcript and returns it with summarization instructions, distinguishing it from siblings like get_transcript which returns raw transcript. The purpose is specific: to provide a meta-output for LLM summarization, not a direct summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied from the description (use when you want a summary with instructions), but there is no explicit guidance on when to choose this over get_transcript or other siblings. No exclusions or alternatives are mentioned, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v0.6.0- Added
search_videos
4 tool updates
v0.3.0- Changed
get_transcript2 fields changed- added
Input schema / properties / include_metadataAdded value: +{ + "default": true, + "title": "Include Metadata", + "type": "boolean" +} - added
Input schema / properties / include_timestampsAdded value: +{ + "default": false, + "title": "Include Timestamps", + "type": "boolean" +}
- Added
get_video_metadata - Added
list_playlist_videos - Changed
summarize_transcript2 fields changed- added
Input schema / properties / include_metadataAdded value: +{ + "default": true, + "title": "Include Metadata", + "type": "boolean" +} - added
Input schema / properties / include_timestampsAdded value: +{ + "default": false, + "title": "Include Timestamps", + "type": "boolean" +}
3 tool updates
v0.1.0- First observed
get_transcript - First observed
list_transcripts - First observed
summarize_transcript
TDQS
Each tool targets a clear and distinct aspect: listing transcript languages, fetching transcripts, summarizing with instructions, fetching metadata, listing playlist videos, and searching. Overlap between get_transcript and summarize_transcript is clarified by the latter's added summarization step, and descriptions make the difference explicit.
All tool names follow a consistent verb_noun pattern with lowercase snake_case (e.g., list_transcripts, get_transcript, summarize_transcript). The naming is predictable and intuitive.
Six tools cover the core functionality of a YouTube summarization service (transcript retrieval, summarization, metadata, search, playlist listing) without unnecessary redundancy. The scope is well-balanced.
The tool surface provides end-to-end coverage: listing available transcripts, fetching them in multiple formats, summarizing with custom prompts, retrieving video metadata, searching videos, and listing playlist contents. No obvious gaps for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
Any social-video URL → transcript, metadata, frames, OCR, summary, search, Q&A. MCP server + x402.
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that enables the extraction of transcripts and detailed metadata from YouTube videos. It allows users to retrieve video information like titles and descriptions, as well as transcripts with optional timestamps and language selection.2MIT
- AlicenseBqualityDmaintenanceAn MCP server designed to fetch transcripts for YouTube videos. It enables AI tools to access video text content for tasks like summarization, analysis, and key takeaway extraction.173MIT
- FlicenseBqualityDmaintenanceAn MCP server that extracts transcripts, metadata, and summaries from YouTube videos across various URL formats including Shorts and standard links. It provides comprehensive video data and insights for analysis within MCP-compatible environments.3-
- AlicenseNot gradedqualityCmaintenanceMCP server for fetching YouTube video transcripts without an API key.GPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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