YouTube MCP
Server Details
YouTube search: find videos, fetch details and comments, pull full transcripts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools target clearly separate actions: broad search, single-video detail fetching, and transcript retrieval. Descriptions explicitly link them through the `v` parameter and distinguish what each returns, leaving no meaningful overlap.
All names use a consistent `youtube_` prefix and snake_case, which is highly predictable. The second component mixes verbs and nouns (`search`, `transcript`, `video`), but the pattern remains readable and coherent.
Three tools is on the low side but each has a clear role in the core workflow of searching, inspecting, and transcribing videos. It is slightly thin for the broader YouTube domain but not mismatched.
Core lifecycle coverage exists: search, video details/comments, and transcripts. However, search results surface channels, playlists, and movies with no corresponding tools to fetch those resources, leaving notable follow-up gaps.
Available Tools
3 toolsyoutube_searchSearch YouTube (SerpAPI)AInspect
Search YouTube live via SerpAPI. Returns video_results (videos), plus channels, playlists, movies and related searches. Each video result's id is the YouTube video id — feed it as v to youtube_video (details, related videos, comments) and to youtube_transcript. sp carries SerpAPI filter and next-page tokens from a prior result for pagination / refined filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| gl | No | Country code for the search, e.g. 'us', 'uk', 'de'. | |
| hl | No | Language code, e.g. 'en', 'es', 'pt-br'. | |
| sp | No | Filter / pagination token from a prior result: carries YouTube search filters and the next-page token. | |
| no_cache | No | Force a fresh SerpAPI fetch and bypass this server's result cache. Default false. | |
| zero_trace | No | Enterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false. | |
| search_query | Yes | Search query for YouTube (required). Same syntax as the YouTube search box. |
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 call is live against SerpAPI and what sections come back, plus that `sp` enables continuation. It omits quota/cost, rate limits, failure behavior, and caching semantics (the latter only appears in the schema), which matters for a metered third-party search.
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?
Four tight sentences, front-loaded with what the tool does and what it returns, then the inter-tool chaining instructions. Every sentence carries actionable information with no filler.
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?
No output schema exists, but the description compensates by naming the returned sections, and all six parameters are documented in the schema. What's missing is operational context — authentication, quota, caching behavior, error cases — for a live external-API search, so it falls just short of fully 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 coverage is already 100%, so the baseline is 3; the description adds value by explaining the lifecycle of `sp` (obtained from a prior result, used for pagination and filter refinement) and the output-to-input link where a result's id becomes the `v` argument. It doesn't elaborate on gl/hl/no_cache/zero_trace beyond the schema, hence not a 5.
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 ('Search YouTube live via SerpAPI') and enumerates the result sections returned (video_results, channels, playlists, movies, related searches). It also positions itself against siblings by naming youtube_video and youtube_transcript as downstream consumers, so an agent can tell search apart from detail/transcript retrieval.
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?
Gives clear downstream routing: take a video result's id and pass it as `v` to youtube_video or youtube_transcript, and carry `sp` forward for pagination or refined filtering. It doesn't state explicit exclusions (e.g., when to prefer youtube_video instead), but the workflow guidance is concrete enough to select the tool confidently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_transcriptGet YouTube Transcript (SerpAPI)AInspect
Fetch a YouTube video's transcript via SerpAPI. v is the video id from a youtube_search result. Pick a track with language_code (default 'en' — use the video's own language), and optionally title and type ('asr' for auto-generated captions). When the requested track doesn't exist the tool falls back once to an available track (same language first, manual before auto-generated) and says so in note.
| Name | Required | Description | Default |
|---|---|---|---|
| v | Yes | YouTube video id (required) — the id from a youtube_search result. | |
| type | No | Transcript track type: 'asr' for auto-generated captions; omit for manual captions. If that track doesn't exist, an available one is used instead and `note` says which. | |
| title | No | Transcript track title to select when multiple tracks exist. | |
| no_cache | No | Force a fresh SerpAPI fetch and bypass this server's result cache. Default false. | |
| zero_trace | No | Enterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false. | |
| language_code | No | Transcript language code, e.g. 'en', 'pl'. Default 'en' — pass the video's own language. If that track doesn't exist, an available one is used instead and `note` says which. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose a genuinely non-obvious behavior: a single fallback to an available track, preferring same language and manual over auto-generated, reported via `note`. It omits caching behavior (no_cache) and what happens if no track exists at all, so it is not fully complete.
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?
Three tight sentences, front-loaded with purpose then parameter guidance then the fallback caveat. Some phrasing duplicates what the schema already documents, which slightly dilutes density.
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 6-parameter, no-output-schema, no-annotation tool, the description covers the main call path, track selection, and the fallback/`note` reporting. It leaves no_cache and zero_trace entirely to the schema and says nothing about the returned transcript shape, but the essentials for correct invocation are present.
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 baseline is 3. The description largely restates schema content (`v` as video id, language_code default, 'asr' meaning) but does add the fallback priority ordering that the schema does not state.
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 ('Fetch a YouTube video's transcript via SerpAPI') and ties the `v` parameter back to a youtube_search result, which implicitly separates it from the search tool. It never explicitly contrasts with youtube_video, so sibling differentiation is only partial.
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?
Guidance is about track selection (language_code default 'en', use the video's own language, 'asr' for auto-generated) rather than when to call this tool versus youtube_search/youtube_video. The workflow hint that `v` comes from a search result implies usage, but no explicit when/when-not or alternative routing is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_videoGet YouTube Video (SerpAPI)AInspect
Fetch a single YouTube video by id via SerpAPI: details, related videos, comments and replies. v is the video id from a youtube_search video_results entry. Page related videos / comments / replies with next_page_token from a prior result.
| Name | Required | Description | Default |
|---|---|---|---|
| v | Yes | YouTube video id (required), e.g. the id from a youtube_search video_results entry. | |
| gl | No | Country code for the search, e.g. 'us', 'uk', 'de'. | |
| hl | No | Language code, e.g. 'en', 'es', 'pt-br'. | |
| no_cache | No | Force a fresh SerpAPI fetch and bypass this server's result cache. Default false. | |
| zero_trace | No | Enterprise-only ZeroTrace mode: don't store search params/metadata on SerpAPI. Default false. | |
| next_page_token | No | Token from a prior result to page through related videos, comments, or replies. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden, and what it discloses about caching, zero-trace and paging merely echoes the schema field descriptions. It says nothing about cost/credit consumption, authentication requirements, or failure behavior for an invalid or unavailable video id.
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?
Three tight sentences with zero filler; the core fetch action is front-loaded and the id provenance and paging hints follow in order of need.
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, but the description enumerates what comes back (details, related videos, comments, replies) and how to page through it, which covers the main agent questions. What's missing is operational context such as rate limits or credit cost for a paid API call.
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 every parameter is already documented and the baseline is 3. The description's note that `v` comes from a youtube_search video_results entry duplicates the schema wording rather than adding new semantics.
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 ('Fetch a single YouTube video by id') plus the backend ('via SerpAPI') and the returned payloads (details, related videos, comments and replies). The id-based single-item scope clearly separates it from youtube_search (which produces the id) and youtube_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?
It tells the agent the precondition for calling it ('`v` is the video id from a youtube_search video_results entry') and how to continue paging with next_page_token. It never names an exclusion or explicitly contrasts with youtube_transcript, so the when-not is left implicit.
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.
3 tool updates
- First observed
youtube_search - First observed
youtube_transcript - First observed
youtube_video
Related MCP Connectors
YouTube search, whole channels, video stats, comments and full transcripts with timestamps.
Search YouTube, read video metadata, and fetch transcripts with language preferences
YouTube video/channel search, suggestions, details, comments/replies, Shorts, transcripts, paging.
YouTube video search with transcript extraction as first-class output.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables interaction with YouTube through search and transcript extraction functionality. Allows searching for videos and retrieving full transcripts with timestamps for content analysis.28-
- AlicenseNot gradedqualityDmaintenanceProvides tools for searching YouTube videos, retrieving transcripts, and performing semantic search over video content.MIT
- FlicenseNot gradedqualityBmaintenanceEnables searching and retrieving video transcripts, metadata, channel info, playlists, comments, trending videos, engagement analytics, chapters, SponsorBlock clean transcripts, and most-replayed heatmaps.16 npm-
- FlicenseNot gradedqualityBmaintenanceEnables searching and retrieving video transcripts, metadata, channel info, playlists, comments, trending videos, and engagement analytics from YouTube through natural language.16 npm-
Glama MCP Gateway
Add one secure layer between your agents and this server.