playwright
MCPDrives a real browser so the agent can open pages, click, fill forms and read what actually rendered.
Searches, retrieves and analyzes video content and metadata from a major video sharing site.
Claude Code
> /plugin marketplace add naveedharri/benai-skills
Codex
$ codex mcp add youtube --env YOUTUBE_API_KEY=YOUR_VALUE -- npx -y @kirbah/mcp-youtube
Cursor
{ "mcpServers": { "youtube": { "command": "npx", "args": [ "-y", "@kirbah/mcp-youtube" ], "env": { "YOUTUBE_API_KEY": "YOUR_VALUE" } } } }
Add it to mcp.json.
Gemini CLI
{ "mcpServers": { "youtube": { "command": "npx", "args": [ "-y", "@kirbah/mcp-youtube" ], "env": { "YOUTUBE_API_KEY": "YOUR_VALUE" } } } }
Add it to settings.json.
GitHub Copilot
$ copilot mcp add youtube --env YOUTUBE_API_KEY=YOUR_VALUE -- npx -y @kirbah/mcp-youtube
OpenCode
{ "mcp": { "youtube": { "type": "local", "command": [ "npx", "-y", "@kirbah/mcp-youtube" ], "environment": { "YOUTUBE_API_KEY": "YOUR_VALUE" } } } }
Add it to opencode.json.
Windsurf
{ "mcpServers": { "youtube": { "command": "npx", "args": [ "-y", "@kirbah/mcp-youtube" ], "env": { "YOUTUBE_API_KEY": "YOUR_VALUE" } } } }
Add it to mcp_config.json.
From the README
Optimized Video Information
Search videos with advanced filters.
Efficient Transcript Management
Fetch video captions/subtitles with multi-language support, perfect for content analysis by LLMs.
Insightful Channel Analysis
Get concise channel statistics (subscribers, views, video count) and discover a channel's top-performing videos without data bloat.
Lean Trend Discovery
Find trending videos by region and category, and get lists of available video categories, optimized for quick AI processing.
Structured for AI
All responses are designed to be easily parsable and immediately useful for language models.
Efficient Comment Retrieval
Fetch video comments with fine-grained control over the number of results and replies, optimized for sentiment analysis and feedback extraction.
Security report
Low risk
Known flaws
None known
Signed build
Yes
Build provenance published
Maintained
Oct 9, 2026
Last push
Licence
MIT
Runs as
npx
On your machine
Deprecated
No
Signals from public registries, not an audit. Checked Nov 11, 2026.
A production-grade YouTube Data MCP server engineered specifically for AI agents.
Unlike standard API wrappers that flood your LLM with redundant data, this server strips away YouTube's heavy payload bloat. It is designed to save you massive amounts of context window tokens, protect your daily API quotas via caching, and run reliably without breaking your workflows.
Most MCP servers are weekend projects. @kirbah/mcp-youtube is built for reliable, daily, cost-effective agentic workflows.
🎯 Want feedback on your own channel, not just raw data? Check out CreatorLens - a companion Claude Skill built on this MCP that diagnoses common growth problems (weak hooks, bad thumbnails, flatlined videos) using a real strategist's framework, not just numbers.
The raw YouTube API returns massive JSON payloads filled with nested eTags, redundant thumbnails, and localization data that LLMs don't need. This server structures the data to give your LLM exactly what it needs to reason, and nothing else.
%%{init: { "theme": "base", "themeVariables": { "xyChart": { "plotColorPalette": "#ef4444, #22c55e" } } } }%%
xychart-beta
title "Token Consumption (Lower is Better)"
x-axis ["getVideoDetails", "searchVideos", "getChannelStats"]
y-axis "Context Tokens" 0 --> 1200
bar "Raw YouTube API" [854, 1115, 673]
bar "MCP-YouTube (Optimized)" [209, 402, 86]
| API Method | Raw YouTube Tokens | MCP-YouTube Tokens | Token Savings | Data Size |
|---|---|---|---|---|
getChannelStatistics | 673 | 86 | ~87% Less | 1.9 KB ➔ 0.2 KB |
getVideoDetails | 854 | 209 | ~75% Less | 2.9 KB ➔ 0.6 KB |
searchVideos | 1115 | 402 | ~64% Less | 3.4 KB ➔ 1.2 KB |
(Curious? You can compare the raw API responses vs optimized outputs in the examples folder).
The YouTube Data API has strict daily limits (10,000 quota units). If your LLM gets stuck in a loop or re-asks a question, standard servers will drain your API limit in minutes. This server includes an optional MongoDB caching layer. If your agent requests a video details or searches the same trending videos twice, the server serves it from the cache - costing you 0 API quota points.
Tired of MCP tools crashing your AI client? This server is built to be a rock-solid dependency:
npm run lint passes 100%).Want to just fetch transcripts? You can use this server immediately without any configuration! Just install and go. Add a YouTube API key later to unlock deep search and analytics.
The easiest way to install this server is by clicking the "Add to Claude Desktop" button on the Glama server page.
If you are configuring manually (e.g., in Cursor), just add this bare-minimum setup:
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@kirbah/mcp-youtube"]
}
}
}
✨ Tip: In Zero-Config mode, you can ask your AI to simply "Read the transcript for youtube://transcript/{videoId}"!
If you prefer to configure your MCP client manually (e.g., Claude Desktop or Cursor), add the following to your configuration file:
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@kirbah/mcp-youtube"],
"env": {
"YOUTUBE_API_KEY": "YOUR_YOUTUBE_API_KEY_HERE",
"MDB_MCP_CONNECTION_STRING": "mongodb+srv://user:pass@cluster0.abc.mongodb.net/youtube_niche_analysis"
}
}
}
}
(Windows PowerShell Users: If npx fails, try using "command": "cmd" and "args": ["/k", "npx", "-y", "@kirbah/mcp-youtube"])
Once your server is connected, try CreatorLens - a Claude Skill built specifically for this MCP that turns raw YouTube data into growth diagnostics (weak hooks, packaging, niche doubt, format pivots).
The server provides the following MCP tools, each designed to return token-optimized data:
| Tool Name | Description | Parameters (see details in tool schema) |
|---|---|---|
getVideoDetails | Retrieves detailed, lean information for multiple YouTube videos including metadata, statistics, engagement ratios, and content details. | videoIds (array of strings) |
searchVideos | Searches for videos or channels based on a query string with various filtering options, returning concise results. | query (string), maxResults (optional number), order (optional), type (optional), channelId (optional), etc. |
getTranscripts | Retrieves token-efficient transcripts (captions) for multiple videos, with options for full text or key segments (intro/outro). | videoIds (array of strings), lang (optional string for language code), format (optional enum: 'full_text', 'key_segments' - default 'key_segments') |
getChannelStatistics | Retrieves lean statistics for multiple channels (subscriber count, view count, video count, creation date). | channelIds (array of strings) |
getChannelTopVideos | Retrieves a list of a channel's top-performing videos with lean details and engagement ratios. | channelId (string), maxResults (optional number) |
getTrendingVideos | Retrieves a list of trending videos for a given region and optional category, with lean details and engagement ratios. | regionCode (optional string), categoryId (optional string), maxResults (optional number) |
getVideoCategories | Retrieves available YouTube video categories (ID and title) for a specific region, providing essential data only. | regionCode (optional string) |
getVideoComments | Retrieves comments for a YouTube video. Allows sorting, limiting results, and fetching a small number of replies per comment. | videoId (string), maxResults (optional number), order (optional), maxReplies (optional number), commentDetail (optional string) |
findConsistentOutlierChannels | Identifies channels that consistently perform as outliers within a specific niche. Requires a MongoDB connection. | niche (string), minVideos (optional number), maxChannels (optional number) |
For detailed input parameters and their descriptions, please refer to the inputSchema within each tool's configuration file in the src/tools/ directory (e.g., src/tools/video/getVideoDetails.ts).
Note on API Quota Costs: Most tools are highly efficient.
getVideoDetails,getChannelStatistics, andgetTrendingVideoscost only 1 unit per call. ThegetTranscriptstool has 0 API cost. The newgetVideoCommentstool has a variable cost: the base call is 1 unit, but if you request replies (by settingmaxReplies > 0), it costs an additional 1 unit for each top-level comment it fetches replies for. The search-based tools are the most expensive:searchVideoscosts 100 units andgetChannelTopVideoscosts 101 units.
Drives a real browser so the agent can open pages, click, fill forms and read what actually rendered.
Ships with open-computer-use: open-computer-use is an open-source Computer Use service wrapped as MCP. Any AI agent or MCP client…