MCP server that fetches YouTube video transcripts and optionally summarizes them
Project description
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)
- Summarize videos — returns transcript with instructions for the LLM to produce a summary
- 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.
| 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 |
summarize_transcript
Fetch a transcript and return it with summarization instructions for the LLM client.
| 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 |
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file youtube_summarize-0.2.0.tar.gz.
File metadata
- Download URL: youtube_summarize-0.2.0.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
820cdb8593ca701113214f1c0773504854223720c5d404908054d83ccffe3943
|
|
| MD5 |
e174b4918d00d13c4fb2c8208c7a3fb6
|
|
| BLAKE2b-256 |
a04d9ff18923fb94767e81b962f9e8e7dc798541eedcb1ebdd563271e1d7c84d
|
Provenance
The following attestation bundles were made for youtube_summarize-0.2.0.tar.gz:
Publisher:
publish.yml on zlatkoc/youtube-summarize
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
youtube_summarize-0.2.0.tar.gz -
Subject digest:
820cdb8593ca701113214f1c0773504854223720c5d404908054d83ccffe3943 - Sigstore transparency entry: 973210479
- Sigstore integration time:
-
Permalink:
zlatkoc/youtube-summarize@c5a976df6e98b29203502d00d064d575ccacf97a -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/zlatkoc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c5a976df6e98b29203502d00d064d575ccacf97a -
Trigger Event:
release
-
Statement type:
File details
Details for the file youtube_summarize-0.2.0-py3-none-any.whl.
File metadata
- Download URL: youtube_summarize-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
246d966f6c6b9809810a9e8dd6adc5e5ba9d6e8e0e147d2693b6f9a0b70aa99f
|
|
| MD5 |
55eaacd0a12b4c1ae2ccd8014273e879
|
|
| BLAKE2b-256 |
a39b320a067999a1a83c875a39ff4472fa7740d42048123ad5a4c5d42c95d086
|
Provenance
The following attestation bundles were made for youtube_summarize-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on zlatkoc/youtube-summarize
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
youtube_summarize-0.2.0-py3-none-any.whl -
Subject digest:
246d966f6c6b9809810a9e8dd6adc5e5ba9d6e8e0e147d2693b6f9a0b70aa99f - Sigstore transparency entry: 973210500
- Sigstore integration time:
-
Permalink:
zlatkoc/youtube-summarize@c5a976df6e98b29203502d00d064d575ccacf97a -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/zlatkoc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c5a976df6e98b29203502d00d064d575ccacf97a -
Trigger Event:
release
-
Statement type: