YouTube Transcript MCP Server
Extracts and processes YouTube video transcripts, with support for searching within transcripts, batch processing multiple videos, retrieving transcripts from entire channels or playlists, and exporting in multiple formats (JSON, text, SRT, VTT).
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 Transcript MCP Serverget transcript for https://youtube.com/watch?v=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 Transcript MCP Server
An MCP (Model Context Protocol) server for extracting and processing YouTube video transcripts.
Features
Extract transcripts from YouTube videos
Channel processing - Get all videos from a YouTube channel
Playlist processing - Get all videos from a YouTube playlist
Bulk transcripts - Extract transcripts from all channel or playlist videos
Search within transcripts for specific content
Batch processing of multiple videos
Multiple output formats (JSON, text, SRT, VTT)
Context-aware search with configurable windows
Installation
Via NPX (Recommended)
npx @emit-ia/youtube-transcript-mcpLocal Development
git clone https://github.com/emit-ia/youtube-transcript-mcp.git
cd youtube-transcript-mcp
npm install
npm run buildUsage
As MCP Server
Option 1: Via NPX
Add to your Claude Desktop configuration:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["@emit-ia/youtube-transcript-mcp"]
}
}
}Option 2: Local Installation
Add to your Claude Desktop configuration:
{
"mcpServers": {
"youtube-transcript": {
"command": "node",
"args": ["/path/to/youtube-transcript-mcp/build/index.js"]
}
}
}Available Tools
youtube_get_transcript
Extract transcript from a YouTube video.
Parameters:
url(required): YouTube video URLlanguage(optional): Language code (default: "en")format(optional): Output format - "json", "text", "srt", "vtt" (default: "json")
youtube_search_transcript
Search for specific text within a transcript.
Parameters:
url(required): YouTube video URLquery(required): Text to search forcontextWindow(optional): Seconds of context (default: 30)caseSensitive(optional): Case sensitive search (default: false)language(optional): Language code (default: "en")
youtube_batch_transcripts
Process multiple videos simultaneously.
Parameters:
urls(required): Array of YouTube video URLslanguage(optional): Language code (default: "en")maxConcurrent(optional): Max concurrent requests (default: 3)
youtube_transcript_summary
Get formatted summary of transcript content.
Parameters:
url(required): YouTube video URLsummaryType(optional): "brief", "detailed", "topics", "timestamps" (default: "brief")language(optional): Language code (default: "en")
youtube_get_channel_videos
Get detailed video information from a YouTube channel.
Parameters:
channelUrl(required): YouTube channel URL (supports @username, /c/, /channel/, /user/ formats)maxVideos(optional): Maximum number of videos to retrieve (default: 50, max: 200)
youtube_get_channel_video_urls
Get just the video URLs from a YouTube channel.
Parameters:
channelUrl(required): YouTube channel URLmaxVideos(optional): Maximum number of video URLs to retrieve (default: 50, max: 200)
youtube_get_channel_transcripts
Extract transcripts from multiple videos in a YouTube channel.
Parameters:
channelUrl(required): YouTube channel URLmaxVideos(optional): Maximum number of videos to process (default: 10, max: 50)maxConcurrent(optional): Max concurrent transcript requests (default: 3, max: 10)
youtube_get_playlist_info
Get information about a YouTube playlist.
Parameters:
playlistUrl(required): YouTube playlist URL (supports playlist?list= and watch?v=...&list= formats)
youtube_get_playlist_videos
Get detailed video information from a YouTube playlist.
Parameters:
playlistUrl(required): YouTube playlist URLmaxVideos(optional): Maximum number of videos to retrieve (default: 50, max: 200)
youtube_get_playlist_video_urls
Get just the video URLs from a YouTube playlist.
Parameters:
playlistUrl(required): YouTube playlist URLmaxVideos(optional): Maximum number of video URLs to retrieve (default: 50, max: 200)
youtube_get_playlist_transcripts
Extract transcripts from multiple videos in a YouTube playlist.
Parameters:
playlistUrl(required): YouTube playlist URLmaxVideos(optional): Maximum number of videos to process (default: 50, max: 200)maxConcurrent(optional): Max concurrent transcript requests (default: 3, max: 10)
Example Usage
// Get basic transcript
const transcript = await youtube_get_transcript({
url: "https://youtube.com/watch?v=dQw4w9WgXcQ",
format: "json"
});
// Search within transcript
const searchResults = await youtube_search_transcript({
url: "https://youtube.com/watch?v=dQw4w9WgXcQ",
query: "important topic",
contextWindow: 30
});
// Get all videos from a channel
const channelVideos = await youtube_get_channel_videos({
channelUrl: "https://youtube.com/@channelname",
maxVideos: 25
});
// Get just the video URLs
const videoUrls = await youtube_get_channel_video_urls({
channelUrl: "https://youtube.com/c/ChannelName",
maxVideos: 50
});
// Get transcripts from channel videos
const channelTranscripts = await youtube_get_channel_transcripts({
channelUrl: "https://youtube.com/@channelname",
maxVideos: 10,
maxConcurrent: 3
});
// Get playlist information
const playlistInfo = await youtube_get_playlist_info({
playlistUrl: "https://youtube.com/playlist?list=PLrAXtmRdnEQy6nuLMHjMZOz59Mgq_SUoL"
});
// Get all videos from a playlist
const playlistVideos = await youtube_get_playlist_videos({
playlistUrl: "https://youtube.com/playlist?list=PLrAXtmRdnEQy6nuLMHjMZOz59Mgq_SUoL",
maxVideos: 50
});
// Get transcripts from playlist videos
const playlistTranscripts = await youtube_get_playlist_transcripts({
playlistUrl: "https://youtube.com/playlist?list=PLrAXtmRdnEQy6nuLMHjMZOz59Mgq_SUoL",
maxVideos: 25,
maxConcurrent: 3
});
Requirements
Node.js 18+
No API keys required (uses public transcript data)
Limitations
Only works with videos that have public transcripts
Rate limiting may apply for high-volume usage
Transcript availability depends on YouTube's availability
License
MIT
Available Tools
11 toolsyoutube_batch_transcriptsC
Extract transcripts from multiple YouTube videos
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Array of YouTube video URLs | |
| language | No | Language code for transcripts | en |
| maxConcurrent | No | Maximum number of concurrent requests |
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 of behavioral disclosure. It states the action ('extract transcripts') but lacks critical details: it doesn't mention rate limits, error handling for invalid URLs, authentication requirements, output format, or whether the operation is read-only or has side effects. For a batch processing tool with no annotations, this is a significant gap 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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action ('extract transcripts') and resource scope ('multiple YouTube videos'), making it easy to parse quickly. Every word earns its place, with no redundancy or fluff.
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 tool's complexity (batch processing with concurrency control), lack of annotations, and no output schema, the description is incomplete. It doesn't address key aspects like what the output looks like (e.g., structured transcripts, error reports), performance implications of 'maxConcurrent,' or how it differs from other transcript tools. This leaves the agent under-informed for effective use.
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 100%, so the input schema fully documents all three parameters (urls, language, maxConcurrent) with descriptions and defaults. The description adds no additional parameter semantics beyond implying batch processing via 'multiple YouTube videos,' which aligns with the 'urls' array parameter but doesn't provide extra context like URL format requirements or language code examples.
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 with a specific verb ('extract') and resource ('transcripts from multiple YouTube videos'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'youtube_get_transcript' (single video) or 'youtube_get_playlist_transcripts' (playlist-based), which handle similar transcript extraction but with different scopes.
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 no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like batch processing multiple videos, compare it to single-video transcript tools, or specify prerequisites such as valid YouTube URLs. This leaves the agent without context for tool selection among the many sibling transcript-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_channel_transcriptsC
Get transcripts from multiple videos in a YouTube channel
| Name | Required | Description | Default |
|---|---|---|---|
| channelUrl | Yes | YouTube channel URL | |
| maxVideos | No | Maximum number of videos to process | |
| maxConcurrent | No | Maximum number of concurrent transcript requests |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It mentions 'multiple videos' and implies batch processing, but doesn't cover critical aspects like rate limits, authentication needs, error handling, or what the output format looks like (transcripts as text, structured data, etc.). This leaves significant gaps for safe and effective tool invocation.
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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place by conveying essential information.
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 complexity of batch transcript fetching from a channel (3 parameters, no annotations, no output schema), the description is inadequate. It doesn't explain the output format, error conditions, or behavioral constraints like rate limiting. For a tool that likely involves network requests and data processing, more context is needed to use it effectively and safely.
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 schema description coverage is 100%, with clear documentation for all three parameters (channelUrl, maxVideos, maxConcurrent). The description adds no additional parameter semantics beyond what's in the schema, such as explaining how 'maxConcurrent' affects performance or what 'channelUrl' formats are accepted. This meets the baseline for high schema coverage but doesn't enhance understanding.
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 action ('Get transcripts') and resource ('from multiple videos in a YouTube channel'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from siblings like 'youtube_get_playlist_transcripts' or 'youtube_batch_transcripts', which would require more specific scope clarification.
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 no guidance on when to use this tool versus alternatives. With multiple sibling tools for transcripts (e.g., 'youtube_get_playlist_transcripts', 'youtube_batch_transcripts', 'youtube_get_transcript'), there's no indication of whether this is for bulk channel processing versus other use cases, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_channel_videosC
Get video list from a YouTube channel
| Name | Required | Description | Default |
|---|---|---|---|
| channelUrl | Yes | YouTube channel URL (youtube.com/channel/..., youtube.com/@..., etc.) | |
| maxVideos | No | Maximum number of videos to retrieve |
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 of behavioral disclosure. It states what the tool does but doesn't reveal important behavioral traits such as whether this is a read-only operation, how results are ordered, if there's pagination, rate limits, authentication requirements, or what happens when the channel URL is invalid. For a tool with no annotation coverage, this leaves significant gaps.
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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance. Every word earns its place.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the return value looks like (e.g., list structure, video details included), error conditions, or behavioral nuances. For a tool with 2 parameters and no structured output documentation, more context is needed to fully understand its operation.
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 schema description coverage is 100%, with clear documentation for both parameters (channel URL format and max videos with constraints). The description adds no additional parameter semantics beyond what's in the schema, such as examples of valid URLs or clarification on what 'video list' includes. This meets the baseline of 3 when schema coverage is high.
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 action ('Get video list') and target resource ('from a YouTube channel'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'youtube_get_playlist_videos' or 'youtube_get_channel_video_urls', which likely retrieve similar content through different mechanisms or formats.
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 no guidance on when to use this tool versus alternatives. With multiple sibling tools for retrieving YouTube content (e.g., 'youtube_get_channel_transcripts', 'youtube_get_playlist_videos'), there's no indication of whether this is the preferred method for video lists, what distinguishes it from similar tools, or any prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_channel_video_urlsC
Get video URLs from a YouTube channel
| Name | Required | Description | Default |
|---|---|---|---|
| channelUrl | Yes | YouTube channel URL | |
| maxVideos | No | Maximum number of video URLs to retrieve |
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 of behavioral disclosure. It states what the tool does but lacks details on permissions, rate limits, pagination, error handling, or output format. For a tool that retrieves data from YouTube, this omission is significant.
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 a single, efficient sentence with no wasted words. It's front-loaded and directly communicates the core functionality, making it highly concise and well-structured for quick understanding.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the returned URLs look like (e.g., format, ordering), potential limitations (e.g., API quotas), or how it interacts with sibling tools, leaving gaps for effective tool selection and use.
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 100%, with clear documentation for 'channelUrl' and 'maxVideos' including defaults and constraints. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 without compensating or detracting.
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 'Get video URLs from a YouTube channel' clearly states the verb ('Get') and resource ('video URLs from a YouTube channel'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'youtube_get_channel_videos' or 'youtube_get_playlist_video_urls', which might have overlapping functionality.
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 no guidance on when to use this tool versus alternatives. With sibling tools like 'youtube_get_channel_videos' and 'youtube_get_playlist_video_urls' available, there's no indication of whether this tool is for specific channel formats, batch processing, or other contexts, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_playlist_infoC
Get information about a YouTube playlist
| Name | Required | Description | Default |
|---|---|---|---|
| playlistUrl | Yes | YouTube playlist URL (youtube.com/playlist?list=... or youtube.com/watch?v=...&list=...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden but offers minimal behavioral insight. It doesn't disclose whether this is a read-only operation, what permissions might be needed, rate limits, or what format the information comes in (e.g., JSON, structured data). The vague 'information' leaves key traits unspecified.
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 a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
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 lack of annotations and output schema, the description is incomplete for a tool with siblings. It doesn't clarify what 'information' includes (e.g., metadata vs. content), leaving gaps in understanding the tool's behavior and output, which could confuse 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 100%, with the parameter 'playlistUrl' well-documented in the schema regarding URL formats. The description adds no additional parameter semantics beyond what the schema provides, meeting the baseline for high 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 verb ('Get') and resource ('information about a YouTube playlist'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'youtube_get_playlist_videos' or 'youtube_get_playlist_transcripts', which would require specifying what type of information is retrieved.
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 no guidance on when to use this tool versus alternatives. With siblings like 'youtube_get_playlist_videos' and 'youtube_get_playlist_transcripts', it's unclear whether this tool returns metadata, video lists, or other data, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_playlist_transcriptsC
Get transcripts from multiple videos in a YouTube playlist
| Name | Required | Description | Default |
|---|---|---|---|
| playlistUrl | Yes | YouTube playlist URL | |
| maxVideos | No | Maximum number of videos to process | |
| maxConcurrent | No | Maximum number of concurrent transcript requests |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal insight. It implies batch processing and concurrency but doesn't detail error handling, rate limits, authentication needs, output format, or whether it's read-only/destructive. This is inadequate for a tool with multiple parameters and no output schema.
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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.
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 tool's complexity (batch processing with concurrency controls), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what the output contains (e.g., structured transcripts, error details), performance implications, or how it differs from similar tools, leaving significant gaps for agent understanding.
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 100%, so the schema fully documents each parameter's purpose and constraints. The description adds no additional semantic context beyond implying batch processing, which aligns with the schema. This meets the baseline for high schema coverage without extra value.
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 action ('Get transcripts') and resource ('from multiple videos in a YouTube playlist'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'youtube_get_transcript' (single video) or 'youtube_batch_transcripts' (general batch), which would require a 5.
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 no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'youtube_get_playlist_info' (metadata only) or 'youtube_get_transcript' (single video), nor does it specify prerequisites or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_playlist_videosC
Get video list from a YouTube playlist
| Name | Required | Description | Default |
|---|---|---|---|
| playlistUrl | Yes | YouTube playlist URL | |
| maxVideos | No | Maximum number of videos to retrieve |
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 of behavioral disclosure. It states the action ('Get video list') but lacks details on permissions, rate limits, pagination, or response format. For a read operation with no annotation coverage, this is a significant gap 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 a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the 'video list' includes (e.g., metadata, URLs), how results are structured, or any behavioral traits like error handling. For a tool with 2 parameters and no structured output, more context is needed.
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 100%, with clear documentation for both parameters ('playlistUrl' and 'maxVideos'), including defaults and constraints. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3.
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 with a specific verb ('Get') and resource ('video list from a YouTube playlist'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'youtube_get_playlist_info' or 'youtube_get_playlist_video_urls', which likely serve similar but distinct purposes, preventing a perfect score.
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 no guidance on when to use this tool versus alternatives. Given the many sibling tools (e.g., 'youtube_get_playlist_info', 'youtube_get_playlist_video_urls'), there's no indication of context, prerequisites, or exclusions, leaving the agent to guess based on names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_playlist_video_urlsC
Get video URLs from a YouTube playlist
| Name | Required | Description | Default |
|---|---|---|---|
| playlistUrl | Yes | YouTube playlist URL | |
| maxVideos | No | Maximum number of video URLs to retrieve |
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 of behavioral disclosure. It states what the tool does but doesn't cover critical aspects like whether it requires authentication, rate limits, pagination behavior, error handling, or what format the URLs are returned in (e.g., full URLs, video IDs). This leaves significant gaps for an agent to use it effectively.
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 a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence earns its place by specifying the action and target, making it easy to parse quickly.
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 lack of annotations and output schema, the description is incomplete for effective use. It doesn't explain return values (e.g., list of URLs, error formats), behavioral traits like rate limits, or how it differs from siblings. For a tool with 2 parameters and no structured output info, more context is needed to guide the 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 100%, with clear descriptions for both parameters in the input schema. The description doesn't add any additional meaning beyond the schema, such as examples of valid playlist URLs or clarification on how 'maxVideos' interacts with playlist size. Baseline 3 is appropriate since the schema does the heavy lifting.
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 action ('Get video URLs') and target resource ('from a YouTube playlist'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'youtube_get_playlist_videos' or 'youtube_get_channel_video_urls', which might retrieve similar content but from different sources or in different formats.
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 guidance is provided on when to use this tool versus alternatives. With siblings like 'youtube_get_playlist_videos' and 'youtube_get_playlist_info', the description lacks context on whether this tool is preferred for URLs only, batch processing, or specific use cases, leaving the agent to infer usage from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_get_transcriptC
Extract transcript from a YouTube video URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL (youtube.com/watch?v=... or youtu.be/...) | |
| language | No | Language code for transcript (e.g., "en", "es", "fr") | en |
| format | No | Output format for the transcript | json |
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. While 'Extract transcript' implies a read operation, it doesn't mention potential limitations like availability of transcripts (some videos may not have them), authentication requirements, rate limits, or error handling. The description is minimal and lacks crucial operational context.
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 a single, efficient sentence that directly states the tool's function without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly. Every word earns its place in conveying the core 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?
For a tool with 3 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns (transcript content, error messages, etc.), doesn't mention behavioral constraints, and provides no usage context relative to sibling tools. The description leaves too many unanswered questions for effective tool selection and invocation.
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 100%, with all parameters well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema (e.g., it doesn't clarify URL formats beyond what's in the schema description, or explain language/format choices). Baseline score of 3 is appropriate when the schema does the heavy lifting.
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 action ('Extract transcript') and target resource ('from a YouTube video URL'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its siblings like 'youtube_batch_transcripts' or 'youtube_get_channel_transcripts', which also extract transcripts but from different sources or in different modes.
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 no guidance on when to use this tool versus alternatives. With multiple sibling tools for transcript extraction (e.g., 'youtube_batch_transcripts' for multiple videos, 'youtube_get_channel_transcripts' for channel-wide extraction), there's no indication of when this single-video extraction is preferred or what its limitations might be.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_search_transcriptC
Search for specific text within a YouTube video transcript
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL | |
| query | Yes | Text to search for in the transcript | |
| contextWindow | No | Seconds of context to include before/after matches | |
| caseSensitive | No | Whether search should be case sensitive | |
| language | No | Language code for transcript | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the search function but doesn't cover aspects like rate limits, authentication needs, error handling, or what the output format might be (e.g., list of matches with timestamps). This leaves significant gaps for a tool that likely interacts with external APIs.
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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action ('search for specific text') and resource ('within a YouTube video transcript'), making it easy to parse quickly.
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 complexity of searching transcripts (likely involving API calls) and the lack of annotations and output schema, the description is insufficient. It doesn't explain what the search returns (e.g., matches with context), potential limitations (e.g., transcript availability), or integration details, leaving the agent under-informed for effective use.
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 no parameter-specific information beyond what's already in the schema, which has 100% coverage with clear descriptions for all 5 parameters. Since the schema fully documents the inputs, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract from the schema's completeness.
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 verb ('search') and resource ('within a YouTube video transcript') with specificity about the search target ('specific text'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'youtube_get_transcript' or 'youtube_transcript_summary', which might also involve transcript retrieval or processing.
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 no guidance on when to use this tool versus alternatives, such as 'youtube_get_transcript' for full transcripts or 'youtube_transcript_summary' for summaries. It mentions the action but lacks context about prerequisites, limitations, or comparisons to sibling tools, leaving the agent to infer usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_transcript_summaryB
Get a formatted summary of transcript content
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube video URL | |
| summaryType | No | Type of summary to generate | brief |
| language | No | Language code for transcript | en |
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 of behavioral disclosure. It states the tool 'gets' a summary, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, or how it handles errors (e.g., missing transcripts). For a tool with no annotation coverage, this is a significant gap in describing operational behavior.
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 a single, efficient sentence that front-loads the core purpose ('Get a formatted summary of transcript content') with zero wasted words. It's appropriately sized for a tool with a straightforward function, making it easy for an agent to parse quickly.
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 tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, and output format. Without an output schema, the description should ideally hint at the return value (e.g., 'summary text'), but it doesn't, leaving gaps in completeness.
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 input schema has 100% description coverage, with clear documentation for all parameters (url, summaryType, language), including enums and defaults. The description adds no additional parameter semantics beyond what's in the schema, such as format details or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to.
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 as 'Get a formatted summary of transcript content', which specifies the verb ('get'), resource ('transcript content'), and output format ('formatted summary'). However, it doesn't explicitly differentiate from sibling tools like 'youtube_get_transcript' or 'youtube_search_transcript', which might handle raw transcripts or search within them rather than generating summaries.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'youtube_get_transcript' for raw transcripts or 'youtube_search_transcript' for searching within transcripts, nor does it specify prerequisites or exclusions (e.g., video must have captions). This leaves the agent with minimal context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes targeting different YouTube resources (videos, channels, playlists) and actions (get transcripts, get videos, get URLs, search, summarize). However, youtube_get_channel_videos and youtube_get_channel_video_urls could potentially be confused as both retrieve video information from channels, though one provides lists and the other URLs.
All tools follow a consistent snake_case naming pattern with a clear youtube_ prefix followed by verb_noun structure (e.g., youtube_get_transcript, youtube_search_transcript, youtube_transcript_summary). The naming convention is predictable and readable throughout the entire set.
With 11 tools, the count is reasonable for a YouTube transcript-focused server. It covers multiple aspects of the domain (videos, channels, playlists) but might be slightly heavy with some overlapping functionality (e.g., multiple channel and playlist tools that could potentially be consolidated).
The tool set provides comprehensive coverage for YouTube transcript operations, including extraction from individual videos, batches, channels, and playlists, plus search and summarization capabilities. There are no obvious gaps for the stated purpose of transcript handling, with good lifecycle coverage from retrieval to analysis.
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
Clean YouTube transcripts for agents: single videos, channels, playlists, plus AI caption cleanup.
Extract YouTube transcripts, search what was said, and read on-screen frames with cited timestamps.
Fetch transcripts, subtitles, chapters, metadata and frames from YouTube and 10+ video platforms
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
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/emit-ia/youtube-transcript-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server