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

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

Extended access

Why this level

  • The YouTube Data API key and the MongoDB string with a password sit in the client's environment variables
  • The server writes a reply cache and channel analysis data into your MongoDB
All reasons and checks

kirbah/mcp-youtube

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/youtube-data-mcp-server-kirbah

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.

  • The YouTube Data API key and the MongoDB string with a password sit in the client's environment variables
  • The server writes a reply cache and channel analysis data into your MongoDB

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

What it does

YouTube MCP by the author kirbah gives an agent YouTube data in a trimmed form: without nested eTags, duplicate thumbnails and localizations the model does not need. Comparisons of raw and trimmed replies are in the `examples/comparisons` folder. The server installs as the npm package `@kirbah/mcp-youtube` and runs through `npx` over stdio. With no setup it already returns transcripts, and a YouTube Data API v3 key in the `YOUTUBE_API_KEY` variable opens the rest. Nine tools. `getVideoDetails` and `getChannelStatistics` return metadata, statistics and engagement ratios for several videos or channels at once. `searchVideos` searches videos and channels with filters, `getChannelTopVideos` shows a channel's best videos, `getTrendingVideos` and `getVideoCategories` work by region and category, and `getVideoComments` reads comments with a cap on their number and replies. `getTranscripts` returns transcripts of several videos in full or as key intro and outro segments. One video's transcript can also be opened as the resource `youtube://transcript/{videoId}`. The ninth tool, `findConsistentOutlierChannels`, looks for channels whose videos consistently earn more views than they have subscribers. It runs in four phases: candidate search, filtering by channel age, calculating a viral factor for recent videos and ranking. It needs MongoDB. MongoDB can also cache the other replies so that a repeated request spends no quota. For niche analysis there is a ready `analyze-niche` prompt.

Who it is for. For channel creators, marketers and analysts who study YouTube niches, compare channels and go through comments and transcripts in Claude Desktop, Cursor or another MCP client, and for those who protect the model's context and the key's quota.

Good fit when

  • You need transcripts of several videos quickly, with no key and no setup
  • An agent compares statistics of a dozen videos or channels and should get short replies instead of raw JSON
  • You need growing channels in a niche: those whose videos consistently earn more views than they have subscribers
  • Trends for a region and category have to be collected for ideas or a report
  • Comments under a video are needed for sentiment analysis and feedback

Not a fit when

  • There is no Node.js 22 or newer: the package requires that version
  • You need outlier channel search and have no MongoDB: without a connection string that tool is unavailable
  • You need to manage your own channel: upload videos, edit descriptions, reply to comments. The server only reads; for management there is the yutu entry
  • A Data API key cannot be created and you need more than transcripts: without a key only `getTranscripts` works

Example request

Take the transcripts of these three videos, merge the main points and show which of them drew the most comments

MCP

Transport
stdio
Authentication
key is optional

Environment variables

YOUTUBE_API_KEY secret
YouTube Data API v3 key; without it only transcripts work
MDB_MCP_CONNECTION_STRING secret
MongoDB connection string for the cache and outlier channel search

Limitations

  • The server is unofficial: YouTube and Google did not release it.
  • The Data API quota is 10,000 units a day by default. `getVideoDetails`, `getChannelStatistics` and `getTrendingVideos` cost one unit per call, `getVideoComments` adds one more unit for each top-level comment whose replies are requested. `searchVideos` costs 100 units, `getChannelTopVideos` 101, and `getTranscripts` costs nothing.
  • Without a key the server returns only transcripts, and `findConsistentOutlierChannels` is unavailable without a MongoDB connection string.
  • By default `getTranscripts` returns key intro and outro segments, and the full text is requested with the `format` parameter set to `full_text`.
  • The outlier search tool names its parameters differently in the table and in the deep dive, so check the exact set of fields against the schema in `src/tools`.
  • For Windows users whose `npx` does not start, the documentation suggests the `cmd` command with the arguments `/k`, `npx`, `-y`.
  • The license is MIT.

How to disable. Remove the youtube entry from the client config and restart the app. Delete the Data API key in the Google Cloud Console if you no longer need it; the cache lives in your MongoDB and is erased together with its database.

FAQ

How do I connect YouTube MCP without an API key?

Add an `mcpServers` entry with the `npx` command and the arguments `-y` and `@kirbah/mcp-youtube`, with no `env` section. In this mode `getTranscripts` works, and one video's transcript can also be opened as the resource `youtube://transcript/{videoId}`. The other tools start working once you add `YOUTUBE_API_KEY`.

How much YouTube quota do this MCP's tools spend?

Videos, channel statistics and trends cost one unit per call, and comments with replies add one unit for each top-level comment. Video search costs 100 units, a channel's top videos 101, and transcripts cost nothing. The default daily quota is 10,000 units.

Why does YouTube MCP need MongoDB?

It enables a cache: a repeated request for a video or trends is served from the database and spends no quota. Without it `findConsistentOutlierChannels` does not work, since it stores and analyzes channel data. The connection string goes into `MDB_MCP_CONNECTION_STRING`.

How do I find growing channels in a niche?

Call `findConsistentOutlierChannels` with the niche topic. The `channelAge` (`NEW` or `ESTABLISHED`), `consistencyLevel` and `outlierMagnitude` parameters set the channel age, the share of outlier videos and how far views exceed subscribers. The ready `analyze-niche` prompt runs such an analysis for new channels with moderate consistency.

How do I get transcripts of several videos at once?

Pass an array of `videoIds` to `getTranscripts`, a language in `lang` if needed, and the `full_text` or `key_segments` format. Key segments are returned by default; they are shorter than the full text.

Which Node.js version is required?

Node.js 22 or newer: that value is set in the package's `engines` field.

Discussion

No questions or reviews yet.

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

MCP serverExtended access588Repository 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

yt-fts downloads subtitles of YouTube channels and playlists into SQLite and finds phrases with links to the exact second, plus semantic search and chat

CLIBroad access1.8KRepository 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

Comparison with similar tools

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

EntryOfficialAuthenticationRepository starsMain difference
YouTube Data MCP (kirbah) (this entry)nokey is optional32
YouTube MCP (Zubeid)noAPI key588another Data API server: ten tools, creator search by subscriber count and three fallback keys when the quota runs out
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 starts with a comparison of token use on raw and trimmed replies and an explanation of the cache, then comes installation without and with a key, the list of nine tools with parameters and quota cost, a detailed breakdown of outlier channel search, getting a Data API key and system requirements. The repository has tests with coverage, examples of raw and trimmed replies, CI and publishing configuration, an AGENTS.md file and a link to the CreatorLens skill, which builds channel recommendations on this data.

README badge

Report a problem

Foxx AIYouTube Data MCP (kirbah)
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.