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
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
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/youtube-data-mcp-server-kirbahDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended 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 commentsMCP
- Transport
- stdio
- Authentication
- key is optional
Environment variables
YOUTUBE_API_KEYsecret- YouTube Data API v3 key; without it only transcripts work
MDB_MCP_CONNECTION_STRINGsecret- 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.
Related
MCP serversYouTube 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 server for YouTube transcripts: an agent gets a video transcript by URL, with timestamps and metadata
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
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
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
MCP Music Forge: track download and processing
MCP Music Forge
A Redis-backed queue MCP server that downloads tracks from SoundCloud, YouTube, Yandex Music and Spotify, transcodes them and tags them with cover art
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| YouTube Data MCP (kirbah) (this entry) | no | key is optional | 32 | |
| YouTube MCP (Zubeid) | no | API key | 588 | another Data API server: ten tools, creator search by subscriber count and three fallback keys when the quota runs out |
| YouTube Transcript MCP Server | no | not required | 492 | transcripts only: plain text, a timestamped variant, metadata and a language list, with no YouTube key |
| yutu | no | 703 | a 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.