YouTube Transcripts
Server Details
Transcripts from YouTube videos, whole channels and playlists for AI agents, with bulk ZIP export.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- fbetteo/youtube-channel-to-gpt
- GitHub Stars
- 0
TDQS
Scored across 8 tools
Most tools target distinct resources and actions (single video, channel job, playlist job, job lifecycle). However, get_download_url and get_job_status both can return a ZIP download URL, creating slight overlap that descriptions mitigate but do not fully eliminate.
All tool names follow a consistent snake_case verb_noun pattern: cancel_, get_, list_, start_. The convention is predictable and no deviations exist.
Eight tools are well-scoped for a YouTube transcript downloader, covering single-video, channel, and playlist workflows plus essential async job management. No tool feels redundant or missing from a count perspective.
The surface covers the core lifecycle: start channel/playlist jobs, poll, cancel, download, and get single transcripts, plus channel metadata and video listing. A notable asymmetry is the lack of equivalent playlist info or video listing tools, which could hinder previewing playlist jobs, but agents can work around this by starting a job directly.
Available Tools
8 toolscancel_jobBInspect
Cancel an async transcript job and refund unprocessed videos.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Transcript job ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description must carry behavioral burden. It usefully discloses a side effect (refund of unprocessed videos), but omits permissions, irreversibility, and handling of already-processed videos.
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?
One front-loaded sentence with no wasted words. Efficient.
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 simple one-parameter mutation with no output schema, the description adequately conveys the action and its refund side effect. Additional behavioral details would help but are not essential to invoke correctly.
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 coverage for the single job_id parameter is 100%, and the description adds no further meaning beyond what the schema already states. Baseline 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?
States a specific verb ('Cancel') and resource ('async transcript job'), plus a side effect ('refund unprocessed videos'). It is clearly distinct from sibling read/start tools like get_job_status or start_channel_job, though it does not name them explicitly.
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 on when to use this tool versus alternatives such as checking job status first (get_job_status). No prerequisites or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channel_infoBInspect
Return metadata for a YouTube channel before starting a job.
| Name | Required | Description | Default |
|---|---|---|---|
| channel | Yes | Handle, name, or ID. |
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. 'Return metadata' implies a read operation, but it says nothing about authentication requirements, rate limits, what metadata is returned, or whether the call has side effects or caching implications.
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?
A single tight sentence with no filler, and the resource is front-loaded before the contextual clause. Nothing is wasted, though there is little content to structure.
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 simple one-parameter read tool with no output schema, the description minimally covers what the tool does. Without annotations or an output schema, it should say more about return contents and the read-only nature to fully equip 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% and the single 'channel' parameter is documented as 'Handle, name, or ID', so the schema already carries the meaning. The description adds no further guidance on accepted identifier formats or required resolution.
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?
States a specific verb and resource ('Return metadata for a YouTube channel'), which is clearly distinguishable from the sibling job-control tools like get_job_status or cancel_job. It does not explicitly name a sibling to contrast against, but the resource is unambiguous.
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?
'before starting a job' implies a pre-flight context and hints at a relationship with start_channel_job, but it never states when to prefer this over list_channel_videos or start_channel_job directly, nor any exclusions. Usage is implied rather than instructed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_urlAInspect
Return the ZIP download URL for a completed job.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Transcript job ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the meaningful precondition that the job must be completed, but says nothing about URL expiry, authentication needs, or what happens if the job is still running or failed.
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?
A single, front-loaded sentence with the verb, resource, and precondition all present and no filler. Nothing could be removed without losing meaning.
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 simple one-parameter read tool with no output schema, the description adequately conveys the return value (a ZIP download URL) and the completion precondition. Minor gaps remain around URL lifetime and failure behavior, but the core is covered.
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% and the single job_id parameter is documented in the schema itself. The description only adds the implicit constraint that job_id should reference a completed job, so it earns the baseline 3 without adding substantial parameter detail.
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?
States a specific verb ('Return') and resource ('ZIP download URL for a completed job'), which clearly separates it from content-returning siblings like get_transcript and status-checking get_job_status. It stops short of an explicit sibling contrast, so a 4 rather than 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 phrase 'for a completed job' implies the precondition that the job must have finished, which is useful usage context. However, it names no alternative (e.g., use get_job_status to check completion first) and gives no when-not guidance, leaving usage partly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_statusAInspect
Poll an async transcript job and get a download URL when ready.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Transcript job ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the job is async and that a download URL appears only when the job is ready, but says nothing about terminal failure/cancelled states (relevant given cancel_job exists), polling cadence, or whether the call blocks.
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?
A single front-loaded sentence with no filler; the operation and its payoff are conveyed in under a dozen 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?
There is no output schema, so the description is the only source of return information, and it covers only the success case (download URL when ready). It omits the non-ready response shape, failure states, and what an agent should do while waiting, leaving a real gap for a polling 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?
One parameter with 100% schema description coverage, so the schema already defines job_id as the transcript job ID. The description adds no format, source, or lookup guidance beyond the name itself, so baseline 3 applies.
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?
Names a specific verb (poll) and resource (async transcript job) and states the outcome (download URL when ready). It does not explicitly distinguish itself from siblings like get_download_url or get_transcript, which an agent could conflate.
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?
"Poll" implies a repeated-call usage pattern and "when ready" hints at a state-dependent result, but the description names no alternatives (e.g., get_download_url, get_transcript) or conditions for choosing them. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptCInspect
Return the transcript for a single YouTube video URL or ID.
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | YouTube video URL or video ID. | |
| include_timestamps | No | Include transcript timestamps. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It does not mention authentication requirements, rate limits, error behavior, or what happens when a transcript is unavailable. Only minimal scoping ('single YouTube video') is given, which is already implied by the required parameter.
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, front-loaded sentence with zero waste. For a simple retrieval tool, this is appropriately sized and well structured.
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?
With no output schema and no annotations, the description should explain the return format (e.g., plain text, JSON, segmented cues) and how include_timestamps affects the output. It fails to do so, leaving the agent unclear about what to expect after 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%, so the schema fully documents both video_url and include_timestamps. The description adds no syntax, format, or behavioral meaning beyond what the schema already provides, which is the baseline expectation 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 states a specific verb and resource: 'Return the transcript' for a 'single YouTube video URL or ID'. This clearly distinguishes it from channel-level tools like get_channel_info and list_channel_videos. However, it does not explicitly differentiate from the similarly scoped sibling get_download_url, which also operates on a single video, so it falls short of 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 offers no when-to-use guidance, no prerequisites, and no alternatives. It simply states what it returns, leaving the agent to infer when this tool is appropriate versus other video-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_channel_videosAInspect
List a YouTube channel's videos with duration metadata, in the order channel jobs use (long-form, then Shorts, then livestreams; newest first). limit=N previews what start_channel_job with max_videos=N downloads; has_more tells if the channel has more.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum videos to return. | |
| channel | Yes | Handle, name, or ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It usefully discloses the ordering of results and the relationship between limit and start_channel_job's max_videos, plus the has_more signal. However, it does not state read-only safety, authentication needs, rate limits, or the full return shape beyond duration metadata, leaving gaps for a tool with zero annotation coverage.
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?
Two sentences, front-loaded with the core action and ordering, then the limit/has_more relation. Every clause earns its place; no redundancy.
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 two-parameter list tool with no output schema and no annotations, the description covers purpose, ordering, return signal (has_more), and a key cross-tool relation. It could be more complete by describing the return format beyond duration metadata or pagination behavior, but it is largely sufficient.
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 coverage is 100%, so the schema already documents both parameters. The description adds value by linking limit to start_channel_job's max_videos, clarifying that limit=N limits the preview rather than the download. It doesn't expand on the channel parameter beyond the schema's 'Handle, name, or ID'.
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 starts with a specific verb 'List' and resource 'a YouTube channel's videos', adds duration metadata and a precise ordering scheme (long-form, Shorts, livestreams; newest first). It also distinguishes itself from start_channel_job by framing limit as a preview. An agent can identify the tool's function without opening the schema.
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?
It tells the agent this tool previews what start_channel_job with max_videos=N would download, and that has_more indicates more content exists. This provides clear context for when to use it as a pre-download check, though it does not explicitly list other alternatives like get_channel_info or 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.
start_channel_jobCInspect
Start an async job that downloads channel transcripts.
| Name | Required | Description | Default |
|---|---|---|---|
| channel | Yes | Handle, name, or ID. | |
| max_videos | No | Optional maximum videos to process. | |
| concatenate_all | No | ||
| include_timestamps | No |
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 discloses one useful trait, that the operation is asynchronous, but says nothing about what handle or result is returned, whether authorization or quota limits apply, or what happens if a job is started twice for the same channel.
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?
A single front-loaded sentence with zero filler. It is appropriately sized, but the brevity is achieved by omission rather than by tight editing of richer content.
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 that kicks off an async job with four parameters, no output schema, and no annotations, the description omits the essential lifecycle information: what the call returns and how to retrieve or cancel the job. An agent cannot call this correctly without guessing at the follow-up flow.
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 coverage is only 50%: concatenate_all and include_timestamps have no descriptions at all, and the description adds no meaning to any of the four parameters. It does not explain what 'channel' accepts beyond the schema's own hint, nor what concatenation or timestamps do to the resulting transcripts.
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?
States a specific verb plus resource and outcome: 'Start an async job that downloads channel transcripts.' An agent can tell it apart from get_transcript and list_channel_videos, though it does not explicitly distinguish itself from the very similar sibling start_playlist_job.
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?
There is no when-to-use guidance, no prerequisites, and no mention of the async follow-up path (get_job_status, cancel_job). The word 'async' hints at a polling workflow but nothing tells the agent when this is preferable to a synchronous alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_playlist_jobCInspect
Start an async job that downloads playlist transcripts.
| Name | Required | Description | Default |
|---|---|---|---|
| playlist | Yes | YouTube playlist URL or ID. | |
| max_videos | No | Optional maximum videos to process. | |
| concatenate_all | No | ||
| include_timestamps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full behavioral burden. It does disclose the one important trait that the operation is asynchronous, implying a job handle and polling workflow, but says nothing about required auth, rate limits, or what the call returns.
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?
A single tight sentence with the action front-loaded and no wasted words. It is efficient, though arguably too terse given the undisclosed parameters.
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 4-parameter job-starting tool with no annotations and no output schema, the description is thin: it omits the return shape (job ID), the polling workflow, and half the parameters. An agent must open the schema and guess the rest.
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 coverage is only 50%: concatenate_all and include_timestamps have no descriptions anywhere, and the description does not compensate for them or clarify max_videos semantics. It adds no meaning beyond the two parameters the schema already documents.
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?
Specific verb ('Start') + resource ('async job') + scope ('downloads playlist transcripts'), so the agent knows exactly what it does. It does not, however, distinguish itself from the near-identical sibling start_channel_job, which is the main ambiguity risk.
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 when-to-use guidance, no exclusions, and no mention of siblings. The agent is not told to use this for playlists vs start_channel_job for channels, nor that get_job_status should be used to poll the resulting job.
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.
8 tool updates
- First observed
cancel_job - First observed
get_channel_info - First observed
get_download_url - First observed
get_job_status - First observed
get_transcript - First observed
list_channel_videos - First observed
start_channel_job - First observed
start_playlist_job
Related MCP Connectors
Transcripts of YouTube videos, playlists and channels with timestamps; SRT or WebVTT too.
Bulk YouTube transcripts from videos, channels, playlists or search: text, RAG chunks, SRT, VTT.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Transcripts of YouTube videos, channels, playlists and searches; AI transcription when no captions.
Related MCP Servers
AlicenseAqualityBmaintenanceEnables AI agents to retrieve YouTube transcripts from individual videos, channels, and search results, supporting multiple output formats such as plain text, SRT, and VTT.321 npmMIT- FlicenseBqualityNot gradedmaintenanceEnables extraction and processing of YouTube video transcripts from individual videos, channels, and playlists. Supports transcript search, batch processing, multiple output formats (JSON, text, SRT, VTT), and bulk operations across multiple videos.1134 npm-
- FlicenseNot gradedqualityDmaintenancePay-per-success YouTube transcript extractor for AI agents and RAG pipelines. Timestamps, SRT, plain text. Failed videos are never charged. $0.005/video.-
- AlicenseAqualityBmaintenanceExtract YouTube transcripts for AI agents, RAG pipelines, and LLM workflows. Supports any YouTube URL. Returns clean text or timestamped segments. No API keys required.14MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.