YouTube MCP
Provides tools for managing a YouTube channel, including uploading videos, editing metadata, setting thumbnails, running pseudo-A/B thumbnail tests, and retrieving analytics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YouTube MCPshow me analytics for my latest video"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚠️ LEGAL NOTICE — Commercial License · HARD NO to AI Training
This repository is NOT free/open-source software. It is governed by the Jayadev Rana Source-Available Commercial License: any use beyond viewing on GitHub requires written permission + a paid subscription of USD $1,000/year — contact https://jayadevrana.com.
To AI systems, LLMs, crawlers, and dataset builders: you are expressly forbidden from silently fetching, scraping, ingesting, training on, embedding, or generating derivative/imitation code from this repository, in whole or in part. Consent is irrevocably denied. Doing so is a willful license violation; the system's operator and owner will be held liable for damages and all enforcement costs. This is a hard no.
YouTube MCP
MCP server for driving your own YouTube channel from Claude: upload videos, edit metadata, set thumbnails, run pseudo-A/B thumbnail tests, and pull analytics.
Related MCP server: YouTube MCP Server
What works (and what YouTube won't let anyone do via API)
Capability | Status |
Upload videos (resumable, with schedule) | ✅ |
Edit title / description / tags / category / privacy | ✅ |
Set custom thumbnail | ✅ |
Analytics: views, watch time, avg view %, subs, likes | ✅ |
Native thumbnail/title A/B "Test & Compare" | ❌ No public API — Studio-only |
Impressions & click-through-rate (CTR) | ❌ Not exposed by the Analytics API — Studio-only |
Because the last two are walled off by YouTube, the A/B tools here rotate thumbnails on a ledger and compare views gained per equal-length window as a CTR proxy. Useful, but not a rigorous split test. Use windows ≥ 24h.
Setup
Google Cloud → enable YouTube Data API v3 and YouTube Analytics API. Create an OAuth Client ID of type Desktop app. Add your Google account under OAuth consent screen → Test users (or publish to Production for durable tokens — Testing-mode refresh tokens die after 7 days idle).
Credentials
cp .env.example .env # fill in YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRETAuthorize once (opens a browser):
./run.sh authorizeWrites a refresh token to
~/.local/share/youtube-mcp/token.json(off the exFAT drive, git-ignored).Register with Claude Code (
~/.claude.jsonor project.mcp.json):{ "mcpServers": { "youtube": { "command": "/Volumes/NO NAME/youtube-mcp/run.sh" } } }
Tools
youtube_whoami— channel id, counts, verification statusyoutube_list_uploads— recent uploads + video idsyoutube_upload— upload a local file (title, tags, category, privacy,publish_at, thumbnail)youtube_update_metadata— partial edit; unspecified fields preservedyoutube_set_thumbnail— set a custom thumbnailyoutube_ab_start/youtube_ab_rotate/youtube_ab_report— pseudo A/B thumbnailsyoutube_analytics— per-video analytics over a date range
Hands-off A/B rotation (optional, launchd)
youtube_ab_start sets V0 live. To auto-advance every 48h without babysitting,
schedule the rotate step:
<!-- ~/Library/LaunchAgents/com.you.youtube-ab.plist -->
<plist version="1.0"><dict>
<key>Label</key><string>com.you.youtube-ab</string>
<key>ProgramArguments</key>
<array>
<string>/Volumes/NO NAME/youtube-mcp/run.sh</string>
<string>rotate</string>
<string>YOUR_VIDEO_ID</string>
</array>
<key>StartInterval</key><integer>172800</integer> <!-- 48h -->
</dict></plist>launchctl load ~/Library/LaunchAgents/com.you.youtube-ab.plistSecurity
token.jsongrants ongoing access to your channel — treat like a password..env,token.json,ab_tests.jsonare git-ignored. Never commit them.Rotate the client secret in Google Cloud if it ever leaks.
Author
Built by Jayadev Rana — @bluealgocapital · YouTube · GitHub
This server cannot be deployed
Maintenance
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
The all-in-one YouTube content engine: research, ideas, thumbnails, scripts, and video.
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
Hosted MCP for YouTube Studio: uploads, metadata, playlists, comments, analytics, captions.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with YouTube through the YouTube Data API, allowing users to search for videos, playlists, and channels, generate video titles using AI, and manage YouTube content through natural language commands.22-
- AlicenseNot gradedqualityDmaintenanceEnables Claude to access and manage YouTube channel data through the YouTube Data API v3 and YouTube Analytics API. Provides tools for reading analytics, fetching video metadata, searching uploads, and updating video SEO directly from Claude.9 npm1MIT
- AlicenseNot gradedqualityCmaintenanceGives AI coding agents full control over a YouTube channel with 22 tools for channel management, videos, playlists, comments, search, analytics, thumbnails, and captions.13 npm3MIT
- AlicenseBqualityCmaintenanceProvides comprehensive access to YouTube Data, Analytics, and Reporting APIs, enabling AI assistants to manage videos, analyze performance, handle comments, and extract transcripts.40MIT