YouTube Transcript + YouTube Search MCP
REMOTE · GETYOUTUBETRANSCRIPT.COM
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
Available components
Last scanned (13 hours ago)
Scores higher than 99% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Entertainment and Games
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security97
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1780 tokens (~136/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Oct 26 0
- Tool “list_channel_videos” rewrote its description, which is the text the model reads security
- Schema quality: 1162 → 1780 ▼ functional
- New tool “get_channel_banner” functional
- New tool “get_related_videos” functional
- New tool “get_video_dislikes” functional
- New tool “list_channel_playlists” functional
- New tool “list_channel_posts” functional
- “list_channel_videos” added an optional parameter “sort” cosmetic
- “list_channel_videos” added an optional parameter “tab” cosmetic
- 25 Oct 26 +2
- HSTS header: fail → pass ▲ security
- 18 Oct 26 0
- Tool “get_channel_latest_videos” rewrote its description, which is the text the model reads security
- Schema quality: 1017 → 1162 ▼ functional
- New tool “get_transcript_languages” functional
- 16 Oct 26 +1
- Stability: 0.97 → pass security
- 15 Oct 26 0
- “get_youtube_transcript” added an optional parameter “translate” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 13 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 80. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://getyoutubetranscript.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=getyoutubetranscript.com | CN=WE1,O=Google Trust Services,C=US | 15 Sept 2026 | 14 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 917b3c678337d49613f5e4dc5740d9ae |
| SANs: getyoutubetranscript.com, *.getyoutubetranscript.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of getyoutubetranscript.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| getyoutubetranscript.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://getyoutubetranscript.com/.well-known/oauth-protected-resource"
Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://getyoutubetranscript.com/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
| content-security-policy | frame-ancestors 'self' |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), usb=() |
Protected resource metadata
| Document | https://getyoutubetranscript.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://getyoutubetranscript.com/api/mcp |
| Authorisation server | https://getyoutubetranscript.com/api/auth |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://getyoutubetranscript.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://getyoutubetranscript.com/api/mcp | HTTPS enforced | 301 | https://getyoutubetranscript.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_channel_banner Get Channel Banner ~98
Use this when the user wants a YouTube channel's banner or profile picture, for example to download the artwork or check how a channel presents itself. Accepts an @handle, channel URL, or UC... ID. Returns the uncropped banner URL, every crop size YouTube serves, and the avatar; has_banner is false when the channel has none.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | Channel @handle, URL, or UC... id |
No output schema declared.
No examples provided.
get_channel_latest_videos Get Channel Latest Videos ~105
Use this when the user asks what a YouTube channel has posted recently, or wants a channel's details (name, handle, description, subscribers) with its 15 newest uploads. Accepts an @handle, channel URL, or UC... ID. For a channel's full upload history use list_channel_videos; to find a topic inside one channel use search_channel_videos.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | Channel @handle, URL, or UC... id |
No output schema declared.
No examples provided.
get_credits Get Credits ~58
Use this when the user asks how many credits their getyoutubetranscript.com account has left, or after another tool reports the account has no credits remaining. Returns plan and top-up credit balances. Calling it does not use credits.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_related_videos Get Related Videos ~103
Use this when the user wants videos similar to one they shared, or asks 'what else should I watch' after a video. Returns the videos YouTube suggests next to it, each with title, video ID, link, channel, views, age and length. Pass a result's video ID to get_youtube_transcript for what it says.
| Name | Type | Req | Description |
|---|---|---|---|
| video_url | string | yes | YouTube URL (full or short) or an 11-character video ID |
No output schema declared.
No examples provided.
get_transcript_languages Get Transcript Languages ~141
Use this when the user asks which caption or subtitle languages a YouTube video has, or before requesting a transcript in a non-English language when you don't know whether the video offers it. Returns each language with its code (pass it as `language` to get_youtube_transcript), whether it is creator-uploaded or auto-generated, and the default language. An empty list means the video has captions turned off. Costs 1 credit. Not needed for an ordinary transcript request: get_youtube_transcript already reports which language it returned.
| Name | Type | Req | Description |
|---|---|---|---|
| video_url | string | yes | YouTube URL (full or short) or an 11-character video ID |
No output schema declared.
No examples provided.
get_video_dislikes Get Video Dislikes ~92
Use this when the user asks how many dislikes a YouTube video has, or how well liked it is. YouTube no longer publishes dislikes, so this returns estimates from Return YouTube Dislike: likes, dislikes, a star rating and the view count. Say that the numbers are estimates.
| Name | Type | Req | Description |
|---|---|---|---|
| video_url | string | yes | YouTube URL (full or short) or an 11-character video ID |
No output schema declared.
No examples provided.
get_youtube_transcript Get YouTube Transcript ~309
Use this when the user shares a YouTube video link or ID, or asks to summarize, explain, quote, translate, take notes on, or chat about a specific YouTube video, lecture, podcast, or talk. Returns the full spoken text (captions) as one block, plus the title and channel. Set timestamps to true when the user wants timestamps, wants to find or quote where something is said, or wants a timeline or chapter breakdown: each caption line then starts with its [m:ss] time. Accepts watch, youtu.be, Shorts, and live URLs. Do not use for non-YouTube videos or for files the user uploads. If a video has no captions, this returns an error: tell the user instead of guessing what the video says.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | Language code, e.g. 'en', 'es'. Defaults to 'en'. |
| send_metadata | boolean | – | Include title/author/thumbnail metadata. Defaults to true. |
| timestamps | boolean | – | One line per caption, each starting with its [m:ss] start time. Defaults to false (one block of text). |
| translate | string | – | Language code to machine-translate the transcript into, e.g. 'es', 'zh-CN'. Timestamps stay aligned. Use when the user wants the video's text in another language. |
| video_url | string | yes | YouTube URL (full or short) or an 11-character video ID |
No output schema declared.
No examples provided.
list_channel_playlists List Channel Playlists ~132
Use this when the user wants to see the playlists a YouTube channel has published, for example a creator's course series or show seasons. Returns each playlist's id, title, link and video count, one page at a time. Pass a playlist's id to list_playlist_videos to see its videos. Pass `continuation` from a previous response for the next page.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Channel @handle, URL, or UC... id. Required unless `continuation` is set. |
| continuation | string | – | Opaque token from a previous response - fetches the next page. |
No output schema declared.
No examples provided.
list_channel_posts List Channel Posts ~116
Use this when the user wants a YouTube channel's community posts: announcements, polls and updates a creator posts outside of videos. Returns each post's text, links, likes, comments and attached image, one page at a time. Pass `continuation` from a previous response for the next page.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Channel @handle, URL, or UC... id. Required unless `continuation` is set. |
| continuation | string | – | Opaque token from a previous response - fetches the next page. |
No output schema declared.
No examples provided.
list_channel_videos List Channel Videos ~201
Use this when the user wants to browse a YouTube channel's uploads beyond its latest videos, for example to see a creator's older episodes, its most popular videos, its Shorts, or its past live streams. Returns the channel's uploads one page at a time. `tab` picks Videos (default), Shorts or Live; `sort` picks latest (default), popular or oldest. Both apply to the first page only. Pass `continuation` from a previous response for the next page.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Channel @handle, URL, or UC... id. Required unless `continuation` is set. |
| continuation | string | – | Opaque token from a previous response - fetches the next page. |
| sort | string | – | 'latest' (default), 'popular', or 'oldest'. |
| tab | string | – | 'videos' (default), 'shorts', or 'streams' (the Live tab). |
No output schema declared.
No examples provided.
list_playlist_videos List Playlist Videos ~116
Use this when the user shares a YouTube playlist, or wants to work through a course, lecture series, or podcast playlist video by video (for example to build study notes for each lecture). Returns the videos in playlist order, one page at a time. Pass `continuation` from a previous response for the next page.
| Name | Type | Req | Description |
|---|---|---|---|
| continuation | string | – | Opaque token from a previous response - fetches the next page. |
| playlist | string | – | Playlist URL or id. Required unless `continuation` is set. |
No output schema declared.
No examples provided.
search_channel_videos Search Channel Videos ~140
Use this when the user wants videos from one specific YouTube channel about a topic, for example 'what has @hubermanlab said about sleep' or 'find the MIT OpenCourseWare videos on recursion'. Searches only inside that channel. Pass `continuation` from a previous response for the next page.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Channel @handle, URL, or UC... id. Required unless `continuation` is set. |
| continuation | string | – | Opaque token from a previous response - fetches the next page. |
| query | string | – | Query to search within the channel. Required unless `continuation` is set. |
No output schema declared.
No examples provided.
search_youtube Search YouTube ~169
Use this when the user wants to find YouTube videos or channels on a topic, for example 'find lectures on linear algebra' or 'popular videos about the Apollo missions', before reading or comparing them. Returns each result's title, video ID, link, channel, views, length, and upload date. Pass `continuation` from a previous response for the next page. Does not return what a video says: call get_youtube_transcript with a result's video ID for that.
| Name | Type | Req | Description |
|---|---|---|---|
| continuation | string | – | Opaque token from a previous response - fetches the next page. Do not construct this yourself. |
| query | string | – | Search query. Required unless `continuation` is set. |
| search_type | string | – | 'video' (default) or 'channel'. |
No output schema declared.
No examples provided.
How do I install the YouTube Transcript + YouTube Search MCP server?
YouTube Transcript + YouTube Search MCP is a hosted endpoint at https://getyoutubetranscript.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · getyoutubetranscript.com
claude mcp add --transport http com-getyoutubetranscript-youtube-transcript-and- 'https://getyoutubetranscript.com/api/mcp'
What is the YouTube Transcript + YouTube Search MCP server?
YouTube Transcript + YouTube Search MCP is listed in the public MCP registry as com.getyoutubetranscript/youtube-transcript-and-youtube-sea…. YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP. This page covers its hosted endpoint (https://getyoutubetranscript.com/api/mcp).
Is the YouTube Transcript + YouTube Search MCP server safe to use?
YouTube Transcript + YouTube Search MCP scores 95 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the YouTube Transcript + YouTube Search MCP server expose?
YouTube Transcript + YouTube Search MCP exposes 13 tools: get_youtube_transcript, get_transcript_languages, search_youtube, get_channel_latest_videos, search_channel_videos, and 8 more. Their descriptions and schemas cost roughly 1,780 tokens of context every time the server is loaded.
Does the YouTube Transcript + YouTube Search MCP server require authentication?
Yes. YouTube Transcript + YouTube Search MCP asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the YouTube Transcript + YouTube Search MCP server still maintained?
YouTube Transcript + YouTube Search MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.