Back to Blog
Analysis

YouTube MCP Servers Compared: 20 Public Servers, Verified

September 19, 2026•9 min read•By Prepublish Team

Twenty public MCP servers connect an AI client to YouTube. Eighteen fetch transcripts of videos that already exist, fourteen return metadata, nine list channel videos, eight return comments. Every server that reads YouTube data takes a video ID or a URL, so none reviews a script before it is recorded.

An MCP server is a process or an HTTP endpoint that exposes tools to an AI client over the Model Context Protocol. The client lists the tools, chooses one, and passes arguments. A YouTube server adds tools that take a video ID, a channel handle, or a watch URL.

Two transports dominate. A stdio server runs as a child process on your machine and dies when the client exits. A Streamable HTTP server runs elsewhere and is reached by URL. Eight of the twenty servers below offer HTTP. Twelve are stdio only. A stdio transcript server reads the caption path from your own IP address; a hosted one sees every URL you send it.

Every public YouTube MCP server, verified

The twenty rows below are the most-starred repositories returned by a GitHub search for youtube mcp on 19 September 2026, filtered to projects that expose an MCP server. One hosted-only server is included because it publishes its identity in a public registry. Stars and commit dates were read from the GitHub API the same day, and last commit means the newest commit on the default branch.

ServerRepositoryWhat it exposesTransportAPI keyLast commitStars
yutueat-pray-ai/yutuChannel management for the account you sign in with: uploads, playlists, comments, caption download and insert, channel branding, analyticsstdio and HTTPYes, Google OAuth client secret and token2026-09-14637
mcp-server-youtube-transcriptkimtaeyoon83/mcp-server-youtube-transcriptget_transcript, plus an optional analyze_video that sends a direct video URL to TwelveLabsstdioNo. A TwelveLabs key is needed only for analyze_video2026-07-21595
youtube-mcp-serverZubeidHendricks/youtube-mcp-server10 tools: videos_getVideo, videos_searchVideos, transcripts_getTranscript, channel lookup and creator search, playlistsstdioYes, Data API key. Up to three keys rotate when one exhausts quota2026-08-08574
mcp-youtubeanaisbetts/mcp-youtubeOne tool, download_youtube_url, which returns subtitles through yt-dlpstdioNo, but yt-dlp has to be installed2026-08-16546
mcp-youtube-transcriptjkawamoto/mcp-youtube-transcript4 tools: get_transcript, get_timed_transcript with a next_cursor, get_video_info, get_available_languagesstdioNo2026-09-17481
mcptube0xchamin/mcptube25 or more tools over a local knowledge base: add_video, wiki_search, wiki_ask, get_frame, classify_videostdio and Streamable HTTP on 127.0.0.1:9093No. LLM keys are needed only for the CLI agent mode2026-04-13158
fetch-mcpegoist/fetch-mcpTwo tools: fetch_url for pages, fetch_youtube_transcript for captionsstdio, SSE and Streamable HTTPNo2025-04-04156
ytt-mcpcottongeeks/ytt-mcpOne tool, get_youtube_transcriptstdioNo2025-10-1574
youtube-connector-mcpShellyDeng08/youtube-connector-mcp7 tools: youtube_search, youtube_get_video, youtube_get_channel, youtube_get_transcript, youtube_get_comments, playlist readsstdioYes, Data API key2026-03-1771
mcp-video-analyzerguimatheus92/mcp-video-analyzer8 tools: transcript, metadata, key frames, OCR text, moment analysis. Reads YouTube, Instagram, TikTok, Loom, X, Vimeo and local filesstdioNo. An OpenAI key is needed only for the Whisper API transcription path2026-09-1367
mcpsupadata-ai/mcp10 tools: supadata_transcript, supadata_metadata, supadata_extract, supadata_scrape, supadata_map, supadata_crawl, plus status checksstdio and hosted Streamable HTTPYes, Supadata key2026-09-1563
mcp-youtube-intelligenceJangHyuckYun/mcp-youtube-intelligence9 tools: get_video, get_transcript, get_comments with sentiment, monitor_channel, search_transcripts, topic and entity extractionstdioNo. LLM provider keys are optional2026-09-0852
mcp-youtubeadhikasp/mcp-youtubeOne tool: transcripts with timestampsstdioNo2025-12-0250
youtube-mcp-serverpauling-ai/youtube-mcp-server40 tools across the Data API, Analytics API and Reporting API: uploads, thumbnails, comments, transcripts, audience, revenue, retentionstdioYes, Google OAuth plus a Data API key2026-09-0421
transcriptor-mcpsamson-art/transcriptor-mcp8 tools: transcript, raw subtitles as SRT or VTT, chapters, frames, playlist transcripts, search. Accepts links from 11 platformsstdio and Streamable HTTPNo. Whisper is optional for videos with no captions2026-09-1721
youtube-mcp-servercoyaSONG/youtube-mcp-serverresearch-video and research-videos return timestamp-linked quotable evidence, plus transcript search, segments, key moments, comments, statsstdio and Streamable HTTP at /mcpNo for transcripts. A Data API key enables search, comments and stats2026-07-1720
claude-code-youtube-mcpwynandw87/claude-code-youtube-mcp15 tools: transcript, transcript search, chapters, most-replayed, SponsorBlock clean transcript, comments, engagement, trendingstdioYes for 10 of the 15 tools, Data API key2026-03-2812
youtube-research-mcplee-s-dev/youtube-research-mcp9 tools: get_transcript, analyze_videos, analyze_channel, comment collection, search, quota readoutstdioNo for transcripts. A Data API key enables comments and search2026-05-199
youtube-mcpHasData/youtube-mcp4 hosted tools: search results, video data, channel data, transcript, all served from one endpointStreamable HTTP, with an npm and PyPI stdio launcherYes, HasData key. Each call costs 10 credits2026-09-146
script-auditprepublish.ai/mcp6 tools that take script text rather than a video: audit_script, get_audit, audit_hook, check_authenticity, policy_preflight, script_runtimeStreamable HTTP and an npx prepublish-mcp bridgeNo. Anonymous audits need an email address for the free resultPrivate sourceNot applicable

Two rows carry a qualification. yutu's caption tools are the Data API caption resource, which operates on videos the signed-in account owns, so it is not a public transcript fetcher. The script-audit row has no transcript tool, so it does not substitute for any other row.

Tool counts are each README's own account of what a server exposes. I installed none of these servers and called none of their tools, so a count is a documentation claim rather than a runtime measurement. The exception is the script-audit row, whose six tool names came from a tools/list call to its live endpoint on 19 September 2026 and match prepublish-fe/lib/mcp/tools.ts.

Which YouTube MCP servers need an API key

Eleven of the twenty require no credential. Six require a key or an OAuth grant before any tool runs: yutu, ZubeidHendricks's youtube-mcp-server, youtube-connector-mcp, supadata-ai/mcp, pauling-ai's youtube-mcp-server and HasData's youtube-mcp. Three more, coyaSONG's youtube-mcp-server, claude-code-youtube-mcp and youtube-research-mcp, work without a key for transcripts and need one for search, comments or statistics.

The credential carries Google's quota. A Data API key is tied to a Cloud project, and Google publishes the default allocation: 100 search.list calls, 100 videos.insert calls, and 10,000 units per day combined for all other endpoints. One search costs 100 units, so the search cap binds first. That is why two servers here ship multi-key rotation.

Transcripts sit outside that system. Measured on 18 September 2026: fetching captionTracks[].baseUrl returned HTTP 200 with a body of length 0, and so did the same URL fetched from the page's own origin with cookies. The player's own request carries a proof-of-origin token, and refetching it with &fmt=json3 returned 46,010 bytes on a 19-minute video. Any server advertising keyless transcripts reads the player's captured request, calls a downloader such as yt-dlp, or pays a vendor to do one of those. The transcript path breaks whenever YouTube changes that token, which is why the last commit date matters more here than the star count.

Where the category clusters

Six capabilities separate these servers. Five of the six are crowded.

CapabilityServers with itWhich ones
Transcript fetch18 of 20Every row except yutu, whose caption tools serve the account's own videos, and the script-audit row, which has none
Video metadata14 of 20yutu, ZubeidHendricks, jkawamoto, mcptube, ShellyDeng08, guimatheus92, supadata-ai, JangHyuckYun, pauling-ai, samson-art, coyaSONG, wynandw87, lee-s-dev, HasData
Channel video listing9 of 20yutu, ZubeidHendricks, ShellyDeng08, JangHyuckYun, pauling-ai, coyaSONG, wynandw87, lee-s-dev, HasData
Comments8 of 20yutu, ShellyDeng08, guimatheus92, JangHyuckYun, pauling-ai, coyaSONG, wynandw87, lee-s-dev
Script analysis before recording1 of 20script-audit
Published-policy check on a script1 of 20script-audit

Read the transcript row against the script row. Eighteen projects compete on one job, and the differences between them are mechanical: pagination, timestamps, language selection, frames, caching, transport. They share an input. Every one needs a video that already exists, which makes the category a review tool for something published.

The job nothing in the category does

GitHub repository search is a rough instrument, but it shows the shape of the supply. On 19 September 2026, youtube transcript mcp returned 415 repositories, youtube script analysis mcp returned 1, and youtube policy check mcp returned 0. The single script-analysis hit, Mohit-5899/mindframe, lists its MCP server as an unchecked phase in its own README, so it is a plan rather than a server. The search matches names and descriptions, so it misses servers that describe themselves differently and includes projects that are not servers. It is a screen, not a census.

The gap it points at is the draft. A script exists before a video does. The checks worth running then are not transcript checks: hook strength, whether the script delivers the title's promise, where attention is most likely to leak, whether the script touches an advertiser-friendly policy category, and how long the narration will run.

The six tools that take script text are audit_script, audit_hook, check_authenticity, policy_preflight, script_runtime and get_audit. The server states its own limit inside every result. It is a text-only check of an unrecorded script that maps relative attention risk inside the draft. It does not measure or predict published retention, and it cannot account for delivery, editing, thumbnail, topic or distribution.

Nothing in the table covers the other direction either. No server here verifies the language of the transcript it returns. None of the eighteen READMEs I read mentions tlang, a proof-of-origin token, or TLS impersonation, and those three decide whether a pull returns the right language at all.

How to choose a YouTube MCP server

Match the server to the job, then check the last commit date.

  • •A transcript in the chat, no setup. jkawamoto/mcp-youtube-transcript, kimtaeyoon83/mcp-server-youtube-transcript, cottongeeks/ytt-mcp or adhikasp/mcp-youtube. All keyless.
  • •Long videos that exceed the context window. jkawamoto's get_timed_transcript paginates with a cursor, which the single-tool servers cannot do.
  • •Frames and on-screen text as well as speech. guimatheus92/mcp-video-analyzer or samson-art/transcriptor-mcp. Both extract frames and OCR text from platforms other than YouTube.
  • •A local library you can search later. 0xchamin/mcptube builds an FTS5 index over ingested videos instead of re-reading each one.
  • •Comments and channel data. ShellyDeng08/youtube-connector-mcp, lee-s-dev/youtube-research-mcp or coyaSONG/youtube-mcp-server. All three need a Data API key.
  • •Your own channel's analytics, uploads and comment replies. pauling-ai/youtube-mcp-server or eat-pray-ai/yutu. Both need OAuth, the right credential for anything that writes.
  • •A hosted server with no local process. HasData/youtube-mcp or supadata-ai/mcp. Both charge per call and hold your key server-side.
  • •A script you have not recorded yet. The script-audit row. The hook check scores an opening paragraph, and the full audit takes a finished draft.

What to check before installing any MCP server

  • •Where the process runs. A stdio server runs on your machine as your user, with your file permissions. An HTTP server receives whatever you send it. Read a stdio server's source first, and read the vendor's own current privacy policy before sending a hosted server a private video URL.
  • •What the tool list actually contains. The README is marketing. The tools/list response is the surface your model can call. MCP tool annotations include a destructive hint, worth checking on any server that can write to your channel.
  • •What the credential can do. A Data API key reads public data. An OAuth token on a channel-management server can upload, edit and delete. Scope a key to the YouTube Data API in the Cloud console, and treat a stored refresh token as a write credential.
  • •The maintenance signal. yt-dlp's fifteen most recent PyPI releases had a median gap of 1.5 days (PyPI release index, read 18 September 2026), and a caption path can break between releases. A server whose last commit is a year old is not tracking that. Three servers in the table were last committed to in 2025.
  • •What it stores, and how it reports failure. A server that caches transcripts has a retention question as well as a privacy one, and the answer should be a sentence in the documentation. The useful failure signal is a server that reports a caption pull of zero characters instead of returning an empty transcript as success.

Limits of this survey

I verified the repositories, not the runtime behaviour. Star counts and commit dates are single-day readings from 19 September 2026 and will move. Tool counts come from each README, so a server may expose more than it documents or fail to deliver what it documents. Two servers looked unmaintained, and I kept them because the survey is about what is public rather than what is good.

The capability matrix records what a server advertises, not what it returns correctly. On 19 September 2026, one video carried 31 caption tracks, and the player listed them alphabetically rather than by spoken language. A viewer whose interface language was Turkish was served English >> Turkish. That request keeps lang=en and adds tlang=tr, so the body is Turkish while the language field says English. I did not test each server for that behaviour, so treat every transcript language field as unverified until you read the text.

FAQ

What is a YouTube MCP server?

A YouTube MCP server exposes YouTube tools to an AI client over the Model Context Protocol. The client lists the tools and calls them with a video ID or a channel handle. Most servers here wrap one of three data paths: the YouTube Data API, a downloader such as yt-dlp, or a vendor scraping API.

Do YouTube MCP servers need an API key?

Six of the 20 servers here need a key or an OAuth grant before any tool runs, three need one only for search, comments or analytics, and eleven need no credential. The split follows the data path. Transcripts come from the player or a downloader. Metadata, comments and uploads come from the YouTube Data API, which needs a Cloud project and a key.

Can a YouTube MCP server fetch a transcript without an API key?

Yes, and eighteen of the 20 servers in the table do that. Transcript fetching does not use the YouTube Data API, whose captions endpoints serve videos the caller owns. Public transcripts come from the player's caption tracks or from a downloader. That path is fragile: YouTube serves caption bodies only to requests carrying a proof-of-origin token minted inside the player.

Is there an official YouTube MCP server?

No. Google publishes a list of its official MCP servers at github.com/google/mcp, covering BigQuery, Cloud Run, Google Maps and Workspace, and YouTube is not on it. Every YouTube MCP server in the table is a community or vendor project. The ones returning metadata and comments wrap the official YouTube Data API v3.

Can an MCP server read YouTube comments?

Eight of the 20 servers return comments. Five need a Data API key or an OAuth grant for that tool, which brings the quota with it, 10,000 units per day combined for all endpoints other than search.list and videos.insert. Two read comments through a downloader with no Google credential, mcp-video-analyzer and mcp-youtube-intelligence. yutu uses OAuth because it manages the account's own channel.

Can a YouTube MCP server review a script before I record it?

One of the 20 does. The script-audit server listed last in the table has six tools that take script text rather than a video ID. GitHub repository search on 19 September 2026 returned one repository for youtube script analysis mcp, and that project lists its MCP server as an unfinished phase. The other nineteen servers need a video that already exists.

Which YouTube MCP server should I use?

Match the server to the job rather than the star count. For a transcript with no setup, mcp-youtube-transcript returns timestamps and paginates long videos. For frames and on-screen text as well as speech, mcp-video-analyzer or transcriptor-mcp. For a searchable local library, mcptube. For comments and channel data, youtube-connector-mcp. For your own channel's analytics and uploads, pauling-ai's youtube-mcp-server or yutu.

Try it on your own script

Paste your draft below. You get your hook, structure, and pacing scores, a script-level attention-risk map, and the single biggest issue quoted from your own lines. Free, no login.

Free · No login · See a sample audit first if you prefer.

Frequently asked questions

What is a YouTube MCP server?

A YouTube MCP server exposes YouTube tools to an AI client over the Model Context Protocol. The client lists the tools and calls them with a video ID or a channel handle. Most servers here wrap one of three data paths: the YouTube Data API, a downloader such as yt-dlp, or a vendor scraping API.

Do YouTube MCP servers need an API key?

Six of the 20 servers here need a key or an OAuth grant before any tool runs, three need one only for search, comments or analytics, and eleven need no credential. The split follows the data path. Transcripts come from the player or a downloader. Metadata, comments and uploads come from the YouTube Data API, which needs a Cloud project and a key.

Can a YouTube MCP server fetch a transcript without an API key?

Yes, and eighteen of the 20 servers in the table do that. Transcript fetching does not use the YouTube Data API, whose captions endpoints serve videos the caller owns. Public transcripts come from the player's caption tracks or from a downloader. That path is the fragile one, because YouTube serves caption bodies only to requests carrying a proof-of-origin token minted inside the player, and a direct fetch of the caption URL returns an empty body.

Is there an official YouTube MCP server?

No. Google publishes a list of its official MCP servers at github.com/google/mcp, covering BigQuery, Cloud Run, Google Maps and Workspace, and YouTube is not on it. Every YouTube MCP server in the table is a community or vendor project. The ones returning metadata and comments wrap the official YouTube Data API v3.

Can an MCP server read YouTube comments?

Eight of the 20 servers return comments. Five need a Data API key or an OAuth grant for that tool, which brings the quota with it, 10,000 units per day combined for all endpoints other than search.list and videos.insert. Two read comments through a downloader with no Google credential, mcp-video-analyzer and mcp-youtube-intelligence. yutu uses OAuth because it manages the account's own channel.

Can a YouTube MCP server review a script before I record it?

One of the 20 does. The script-audit server listed last in the table has six tools that take script text rather than a video ID. GitHub repository search on 19 September 2026 returned one repository for "youtube script analysis mcp", and that project's README lists its MCP server as an unfinished phase. The other nineteen servers in the table need a video that already exists.

Which YouTube MCP server should I use?

Match the server to the job rather than the star count. For a transcript with no setup, mcp-youtube-transcript returns timestamps and paginates long videos. For frames and on-screen text as well as speech, mcp-video-analyzer or transcriptor-mcp. For a searchable local library, mcptube. For comments and channel data, youtube-connector-mcp. For your own channel's analytics and uploads, pauling-ai's youtube-mcp-server or yutu.

Want to analyze your own scripts?

Start Script Analysis