YouTube Summarizer MCP Server
Provides tools for fetching and searching YouTube video transcripts, including full text, timestamped segments, and stats. Allows AI agents to summarize videos via a prompt template.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YouTube Summarizer MCP Serversummarize https://youtu.be/dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YouTube Summarizer MCP Server
An MCP (Model Context Protocol) server that fetches YouTube video transcripts and exposes them to AI agents as tools, resources, and prompts.
Works with any MCP client — OpenWork, Claude Desktop, or any custom MCP host.
Features
Tools (callable by agents)
Tool | Description |
| Full plain-text transcript |
| Case-insensitive search, returns matching lines with timestamps |
| Every line prefixed with |
Resources (readable by agents)
URI | Description |
| Full plain text |
| Timestamped segments |
| Word count, duration, estimated reading time |
Prompt
summarize_video(video_url, format_style)— generates a prompt template that asks the LLM to summarize a video. The LLM can read the transcript resource and return a summary in the requested format (default: bullet points).
Related MCP server: youtube-mcp
Usage
Run directly
uv run --directory /path/to/yt-summarizer python3 summarizer.pyOr with the fastmcp CLI:
uv run --directory /path/to/yt-summarizer fastmcp run summarizer.pyConnect from Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"yt-summarizer": {
"command": "/path/to/uv",
"args": [
"run",
"--directory",
"/path/to/yt-summarizer",
"python3",
"summarizer.py"
]
}
}
}Connect from OpenWork
Add to opencode.jsonc:
{
"mcp": {
"youtube-summarizer": {
"type": "local",
"command": ["uv", "run", "--directory", "/path/to/yt-summarizer", "python3", "summarizer.py"],
"enabled": true
}
}
}Example
An agent can fetch and summarize a video in one interaction:
Agent reads
youtube://transcript/dQw4w9WgXcQ/stats— sees "1250 words, 5 min duration"Agent calls
get_youtube_transcript("https://youtube.com/watch?v=dQw4w9WgXcQ")— gets the full textAgent calls
search_transcript("https://youtube.com/watch?v=dQw4w9WgXcQ", "important topic")— finds relevant parts with timestampsAgent uses the
summarize_videoprompt template to format the final summary
Supported URL formats
https://youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://youtube.com/shorts/VIDEO_IDhttps://youtube.com/embed/VIDEO_IDhttps://youtube.com/v/VIDEO_ID
Requirements
Python 3.10+
fastmcp— MCP server frameworkyoutube-transcript-api— fetches YouTube transcripts
Project structure
yt-summarizer/
├── summarizer.py # Main MCP server
├── yt-summarizer.py # Original minimal version
├── yt-summarizer1.py # Older version with logging
├── pyproject.toml # Dependencies
├── plan.txt # Dev notes
└── README.mdAvailable Tools
3 toolsget_timestamped_transcriptB
Return the full transcript with [MM:SS] timestamps on each line. Useful when an agent needs to cite specific moments in the video.
| Name | Required | Description | Default |
|---|---|---|---|
| video_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 the full burden. It only states the output (transcript with timestamps) and does not disclose any behavioral traits such as authentication requirements, potential errors, rate limits, or whether it is destructive. More detail is needed for a higher score.
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 consists of two sentences with no superfluous information. It is front-loaded with the primary purpose and additional context in the second sentence. Every sentence contributes value.
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 that an output schema exists, return value explanation is not required. However, the tool has no annotations and only one parameter, yet the description does not cover error scenarios, prerequisites, or limitations. It is minimally adequate but could be more complete.
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%, meaning the parameter 'video_url' has no description. The tool description does not add any meaning beyond the parameter name. It does not specify expected format, constraints, or examples, which lowers the score.
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 returns a full transcript with timestamps and mentions its use case for citing specific moments. However, it does not explicitly distinguish itself from sibling tools like get_youtube_transcript or search_transcript. A higher score would require explicit differentiation.
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 provides a usage context ('when an agent needs to cite specific moments'), but does not give guidance on when not to use this tool or suggest alternatives. It implies when to use it but lacks explicit when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_youtube_transcriptB
Fetch the full plain-text transcript of a YouTube video. Best for agents that want all text at once.
| Name | Required | Description | Default |
|---|---|---|---|
| video_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 only states it fetches the transcript, failing to disclose potential issues like missing captions, authentication requirements, rate limits, or output format.
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 extremely concise with two short sentences, no wasted words, and front-loads the core purpose immediately.
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?
The tool is simple (one parameter), and an output schema exists (not shown) which may cover return values. However, the description lacks details on URL format, error handling, and prerequisites, making it minimally adequate.
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%, and the description adds no meaning beyond the parameter name 'video_url'. It does not specify format (e.g., full URL vs. video ID), constraints, or examples, leaving the agent without guidance.
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 explicitly states 'Fetch the full plain-text transcript of a YouTube video', using a specific verb and resource. It clearly distinguishes from siblings like 'get_timestamped_transcript' by specifying 'plain-text' and 'full' 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?
The phrase 'Best for agents that want all text at once' provides clear context on when to use this tool. It implies that for timestamped or search functionality, alternative siblings should be considered, though it does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_transcriptA
Search inside a video transcript and return matching lines with timestamps. Case-insensitive. Helpful when an agent needs to find a specific topic.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | ||
| video_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. It discloses case-insensitivity, which is a key behavior. However, it does not mention whether the tool is read-only, required authentication, rate limits, or any side effects. For a search operation, likely read-only, but not stated.
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 two short sentences, free of fluff, and front-loaded with the core action. Every word adds value.
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 output schema exists, the description needn't detail return values, but it already mentions 'matching lines with timestamps'. The tool is simple and the description covers the essentials. However, it could note that the search is within a single transcript, especially given sibling tools.
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%, so the description must compensate. It implicitly explains 'keyword' (search term) and 'video_url' (transcript source) through the tool's purpose, but adds no details on format, constraints, or examples. Partial compensation, but insufficient for full clarity.
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's purpose: searching inside a video transcript and returning matching lines with timestamps. It mentions case-insensitivity, which adds specificity. The purpose is distinct from sibling tools like get_timestamped_transcript (which retrieves full transcript) and get_youtube_transcript (which fetches 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?
The description provides some guidance ('Helpful when an agent needs to find a specific topic'), but lacks explicit when-not-to-use or alternatives. With siblings present, it does not differentiate usage conditions, e.g., when to use this over get_timestamped_transcript.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: one returns the full transcript with timestamps, one returns plain text, and one searches for specific terms. No ambiguity between them.
All tool names follow a consistent verb_noun pattern in snake_case (get_timestamped_transcript, get_youtube_transcript, search_transcript), making them predictable and easy to understand.
Three tools is well-scoped for a YouTube transcript server, covering the core needs without being too few or too many.
The set covers the main transcript retrieval and search functionality. A minor gap is the lack of a tool to get video metadata or list available transcripts, but it is still complete for typical summarization tasks.
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
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
💯 The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.
Clean YouTube transcripts for agents: single videos, channels, playlists, plus AI caption cleanup.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to fetch YouTube video transcripts with precise timestamps, multi-language support, and time-range filtering.31MIT
- AlicenseAqualityDmaintenanceEnables AI tools to access YouTube content, including transcript extraction, video/channel info, and search.427MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, watch, summarize, clip, and extract transcripts from YouTube videos, all without needing an API key or leaving the chat.2750Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with YouTube videos by fetching transcripts, summarizing content, and answering questions based on video context.
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/Vinaykumarreddy467/yt-summarizer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server