YouTube MCP (Zubeid)

Zubeid YouTube MCP Server

YouTube MCP on a Data API key: an agent searches videos and channels with a subscriber-count filter and reads playlists, statistics and transcripts

  • 588 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • Every request spends the daily quota of your Google Cloud project's YouTube Data API keys
  • Channel replies include found email addresses and contact links: public data, but people's contact details
All reasons and checks

zubeidhendricks/youtube-mcp-server

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/zubeid-youtube-mcp-server

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Every request spends the daily quota of your Google Cloud project's YouTube Data API keys
  • Channel replies include found email addresses and contact links: public data, but people's contact details

This is third-party code. Review the repository files before installing.

What it does

YouTube MCP by the author Zubeid Hendricks gives an agent ten read tools over YouTube data. The server installs as the npm package `zubeid-youtube-mcp-server` and starts with `npx -y zubeid-youtube-mcp-server`. It needs at least one YouTube Data API key in the `YOUTUBE_API_KEY`, `YOUTUBE_API_KEY2` or `YOUTUBE_API_KEY3` variables. When a key runs out of quota the server repeats the request with the next one. For videos there are `videos_getVideo` and `videos_searchVideos` with filters by date, channel and the channel's subscriber count. For channels there are `channels_getChannel`, `channels_getChannels`, `channels_searchChannels` and `channels_listVideos`. The `channels_findCreators` tool finds channels by mentions in videos and selects them by audience size, last upload date and a creator-or-brand heuristic. For playlists there are `playlists_getPlaylist` and `playlists_getPlaylistItems`. `transcripts_getTranscript` returns a video's transcript; the language comes from a parameter or from `YOUTUBE_TRANSCRIPT_LANG`, English by default. A channel reply adds the last upload date and normalized data: country, default language, creation date, found email addresses and contact links. The Docker image starts the same server over HTTP on port 8088.

Who it is for. For marketers, producers and researchers who search YouTube through Claude Desktop or VS Code for videos, creators to work with and transcripts for notes, and for developers who need a simple server on a Data API key.

Good fit when

  • You need to find small channels on a topic and pick them by subscriber count and last upload date
  • An agent has to collect statistics for a video, channel or playlist and put it in a table
  • A video transcript is needed in a chosen language for a short summary or notes
  • Video search needs filters: publication date, channel, the channel's subscriber range
  • The server has to run as an HTTP service in a container with clients connecting to the /mcp address

Not a fit when

  • You need to upload videos, create Shorts or view your own channel analytics: all ten tools only read public data
  • You have no YouTube Data API key and do not want to get one: without a key only the transcript works
  • You only need transcripts: the youtube-transcript-mcp-server entry is simpler and asks for no key
  • You need replies compressed in tokens with a request cache: the youtube-data-mcp-server-kirbah entry describes those properties

Example request

Find videos about a home coffee shop from the last three months, keep channels under 50 thousand subscribers and send a table with titles, views and last upload date

MCP

Transport
stdio, http
Authentication
API key

Environment variables

YOUTUBE_API_KEY required, secret
Primary YouTube Data API key
YOUTUBE_API_KEY2 secret
Fallback key for when the quota is exhausted
YOUTUBE_API_KEY3 secret
Third fallback key
YOUTUBE_TRANSCRIPT_LANG
Default transcript language, en by default

Limitations

  • The server is unofficial: YouTube and Google did not release it.
  • The server spends Data API key quota on every request except transcripts. For that it holds up to three keys and moves to the next when the current one runs out.
  • The `creatorOnly` flag rests on a heuristic, not on YouTube data, so creator selection can be wrong.
  • Building the Docker image copies the `.env` file into the final image, and the keys stay inside it. Such an image must not be published.
  • The image listens on `0.0.0.0:8088` over stateless HTTP, and the documentation does not describe access control for the `/mcp` address.
  • Transcripts are requested in English by default: set another language with the `language` parameter or the `YOUTUBE_TRANSCRIPT_LANG` variable.
  • The license is MIT.

How to disable. Remove the youtube entry from the client config and restart the app. If you no longer need the keys, disable or delete them in the Google Cloud Console under the project's credentials.

FAQ

How do I connect YouTube MCP to Claude Desktop?

In `claude_desktop_config.json` add an `mcpServers` entry with the `npx` command, the arguments `-y` and `zubeid-youtube-mcp-server` and a `YOUTUBE_API_KEY` variable with your key. For installing without hand-editing the author offers `npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude`.

What can YouTube MCP do: only read, or upload videos too?

Only read. The ten tools search for and describe videos, channels and playlists and return transcripts. Video upload, Shorts creation and channel analytics are not among them.

Do I need a key to get a video transcript?

For transcripts the server uses the `youtube-transcript` package, and the code of that tool does not check a key. All other tools need at least one YouTube Data API key.

What happens when a key runs out of quota?

The server repeats the same request with the next key from `YOUTUBE_API_KEY2` and `YOUTUBE_API_KEY3`. If all three are exhausted, the request fails until the quota resets.

How do I find YouTube creators to work with through MCP?

Call `channels_findCreators` with a topic or mention, set the subscriber bounds `channelMinSubscribers` and `channelMaxSubscribers` and the last upload date. The `sampleVideosPerChannel` parameter shows sample matching videos, and `creatorOnly` keeps channels the server judged to be creators.

How do I run the server over HTTP?

Build the image with `docker build -t youtube-mcp-server .` and run `docker run --rm -p 8088:8088 youtube-mcp-server`. The server address is `http://localhost:8088/mcp` and the readiness check is `/ready`. Keys come from the `.env` file that was present at build time.

Discussion

No questions or reviews yet.

YouTube Data MCP (kirbah)

YouTube Data MCP Server (kirbah)

YouTube MCP with trimmed replies: transcripts without a key, video and channel statistics, trends, comments, a MongoDB cache and growing-channel search

MCP serverExtended access32Repository stars

MCP server for YouTube transcripts: an agent gets a video transcript by URL, with timestamps and metadata

MCP serverExtended access492Repository stars

yutu runs a YouTube channel from the terminal: videos, playlists, comments. Has an MCP server, a built-in agent and a skill for Claude Code and Codex

CLIBroad access703Repository stars

Claude Video Vision

claude-video-vision

An MCP server and Claude Code plugin that let the agent watch video: frames via ffmpeg and audio transcription via Gemini, local Whisper or OpenAI

MCP serverExtended access1.4KRepository stars
Russian stack

A Redis-backed queue MCP server that downloads tracks from SoundCloud, YouTube, Yandex Music and Spotify, transcodes them and tags them with cover art

MCP serverExtended access5Repository stars
Russian stack

An unofficial Yandex Music MCP server: likes, genre analysis, search and playlist management over HTTP or stdio

MCP serverExtended access2Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
YouTube MCP (Zubeid) (this entry)noAPI key588
YouTube Data MCP (kirbah)nokey is optional32another Data API server: replies compressed in tokens, with a MongoDB cache, trends, comments and outlier channel search
YouTube Transcript MCP Servernonot required492transcripts only: plain text, a timestamped variant, metadata and a language list, with no YouTube key
yutuno703a command-line program for managing your own channel: videos, playlists, comments and captions, with an MCP server

README in short

The documentation opens with a table of ten tools with required and optional parameters and a detailed description of each. Next come installation as a global package, through `npx` and Smithery, the list of environment variables, VS Code setup that asks for the key at launch, development commands and a Docker run with the `/mcp` and `/ready` addresses. The repository has a smoke test, an `llms.txt` file, a `.mcp.json` example, a Smithery configuration and a project page.

README badge

Report a problem

Foxx AIYouTube MCP (Zubeid)
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.