youtube-channel-mcp
MCP server to run your whole YouTube channel from Claude, Hermes, Cursor, Codex: uploads, scheduling, metadata, comments, playlists, captions, channel branding and analytics. Official YouTube APIs, one-command setup.
Install / Use
claude mcp add joinhackyard -- npx -y github:joinhackyard/youtube-channel-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Data & AnalyticsSupported Platforms
Our assessment of youtube-channel-mcp
youtube-channel-mcp scores 74/100 on our quality scale, 545th of 596 Data & Analytics skills we index.
Its MCP Server is 25 KB long, well organised into 16 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so youtube-channel-mcp is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
youtube-channel-mcp compared with similar skills
All 4 of these similar skills score higher than youtube-channel-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| youtube-channel-mcp (this skill)by joinhackyard | 74 | 3 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 109.7k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 98.8k | 1d ago | MCP Server |
Frequently asked questions
- How do I install youtube-channel-mcp?
- Run
claude mcp add joinhackyard -- npx -y github:joinhackyard/youtube-channel-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does youtube-channel-mcp work with?
- It is written for Claude Code, Claude Desktop, Cursor and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is youtube-channel-mcp safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is youtube-channel-mcp still maintained?
- The repository was last updated today, so youtube-channel-mcp is actively maintained.
Skill content
View source on GitHubYouTube Channel MCP
Run and grow your whole YouTube channel from Claude, Hermes, Cursor, Codex, Windsurf or any MCP client. Upload and schedule videos, A/B test titles and thumbnails, diagnose why a video under-performs, find outliers and breakout topics, cut Shorts, design thumbnails, write metadata, answer comments, and manage playlists, captions and the channel profile.
“Upload
~/Videos/ep12.mp4with chapters from the transcript, add it to the Podcast playlist and schedule it for Friday 6 pm.” “Which videos brought in the most subscribers this month, and where did the views come from?” “Show me comments held for review and reply to the questions.”
It runs on your own computer, talks only to the official YouTube Data API v3 and YouTube Analytics API, and keeps your Google sign-in in your OS keychain. No browser automation, no cookies, no third-party server.
npx @joinhackyard/youtube-channel-mcp setup
Setup takes about five minutes: it walks you through creating your Google credentials, connects your channel, and adds itself to the AI apps it finds on your machine.
What it covers
| Area | |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Publishing | Upload local files or public URLs with resumable 16 MB chunks, checkpointed to disk: a dropped connection or closed app resumes from the last byte YouTube confirmed. Private, unlisted, public or scheduled (publish_at). Thumbnail, playlists and captions in the same call. |
| Videos | List everything on the channel (including private and scheduled), edit title, description, tags, category, languages, audience and AI-content disclosure, translate titles and descriptions, publish, unlist, schedule, delete. |
| A/B testing | Test up to 3 alternative titles, thumbnails or descriptions against the live version: daily rotation in balanced random order, trend-adjusted significance test, winner applied automatically. Start one from upload_video or on any live video. |
| Growth | Per-video diagnosis (outlier score vs your usual, hook retention at 30 s, retention curve, traffic sources, search terms, SEO score), channel outliers, topic research with breakout videos, best publish time, content ideas from your own data. |
| Shorts & thumbnails | Find the best Short-sized moments in a long video and cut vertical 1080x1920 clips; grab frames; generate thumbnails with an image model; have a vision model rank them. |
| AI providers | Optional: Claude, OpenAI, Azure OpenAI, Gemini, OpenRouter, Groq, Ollama or any OpenAI-compatible API, with a model per job (writing, vision, images, transcription). Without one, tools hand your AI app the data and a brief. |
| Metadata | generate_metadata hands your AI the transcript with timestamps plus YouTube's rules; it writes the copy. preview_metadata checks limits and chapter rules before anything is sent. Templates add your standard footer, links, tags and naming. |
| Channel | Profile and stats, description, keywords, country, language, trailer for non-subscribers, translations, banner, video watermark. |
| Comments | Read comments per video or across the channel, including held for review and likely spam; reply as the channel; publish, hold or remove; ban authors; delete your own comments. |
| Analytics | Overview, daily trend, top videos, traffic sources, YouTube search terms, geography, devices, age and gender, audience retention for a video, subscribed vs not, or any custom metrics and dimensions. |
| Playlists | List, create, edit, delete, add, remove, reorder. Name a playlist and it is found (or created). |
| Captions | Upload .srt / .vtt, replace, download, delete; transcription of local videos with OpenAI, Azure OpenAI, Groq, Gemini or any OpenAI-compatible Whisper. |
| Several channels | Connect any number of channels, including brand accounts; pick a default or name one per call. |
| Quota-aware | Tracks the daily budget, stops on quotaExceeded instead of hammering the API, and resumes stopped uploads after the midnight Pacific reset. |
Install
Requirements: Node.js 22.13+. Optional: ffmpeg, only for transcription.
npx @joinhackyard/youtube-channel-mcp setup
Setup does four things:
-
Google credentials (one time). YouTube only allows this through an OAuth client you own, so setup opens the right Google Cloud pages and you click through:
- Create a project.
- Enable the YouTube Data API v3 and the YouTube Analytics API.
- Configure the OAuth consent screen: External, then under Audience either add your Google account as a test user, or click Publish app so sign-ins don't expire every 7 days (Google shows an “unverified app” notice you can click through for your own app).
- Create an OAuth client of type Desktop app and download the JSON.
Then drag that JSON file into the terminal. The client ID and secret go into your keychain.
-
Connect a channel. Your browser opens Google sign-in; choose the account and the channel.
-
AI providers (optional): add Claude, OpenAI, Azure OpenAI, Gemini, OpenRouter, Groq, Ollama or a custom endpoint, then pick a model per job from each provider's live model list.
-
Add to your AI apps. It detects and configures Claude Desktop, Claude Code, Cursor, Windsurf, Codex and Hermes Agent. Your original config is kept as
*.before-youtube-channel-mcp.bak, and an existing server namedyoutubeis never touched. Restart the app afterwards. -
Background service (recommended): keeps uploads going and A/B tests rotating when no AI app is open (launchd on macOS, systemd on Linux, Task Scheduler on Windows).
Prefer a global install? npm i -g @joinhackyard/youtube-channel-mcp && youtube-channel-mcp setup.
Manual configuration
npx @joinhackyard/youtube-channel-mcp config prints snippets for your machine. The general shape:
{
"mcpServers": {
"youtube-channel": {
"command": "npx",
"args": ["-y", "@joinhackyard/youtube-channel-mcp@latest"]
}
}
}
Hermes Agent (~/.hermes/config.yaml), where tools appear as mcp_youtube_channel_*:
mcp_servers:
youtube-channel:
command: "npx"
args: ["-y", "@joinhackyard/youtube-channel-mcp@latest"]
timeout: 180
Claude Code: claude mcp add youtube-channel --scope user -- npx -y @joinhackyard/youtube-channel-mcp@latest
Try it
- “Check my YouTube connection.”
- “Upload ~/Videos/launch.mp4 as private with the title ‘We shipped v2’, then show me the upload status.”
- “Transcribe ~/Videos/episode-12.mp4, write three title options, a description with chapters and tags using my podcast template, and schedule it for Friday 18:00 IST with ~/Videos/ep12.jpg as the thumbnail.”
- “How did the channel do in the last 28 days compared with the month before? Which five videos drove it?”
- “What are people searching on YouTube to find us?”
- “List comments held for review, publish the genuine ones and remove the spam.”
- “Reply to the unanswered questions on my latest video.”
- “Rewrite the channel description and keywords around hackathons and founders.”
- “Add Hindi titles and descriptions to my five most viewed videos.”
- “Make every video in the ‘Drafts’ playlist unlisted.”
- “Why did my last video under-perform? Suggest three titles and A/B test them for two weeks.”
- “Upload ~/Videos/demo.mp4 publicly with ab_test thumbnails ~/thumbs/b.jpg and ~/thumbs/c.jpg.”
- “Find my outliers and research what is breaking out on ‘hackathon India’ this quarter, then give me 10 video ideas.”
- “Find 5 Shorts in ~/Videos/talk.mp4 and cut the best two.”
- “Design three thumbnails for ‘We built a robot in 24 hours’ and tell me which one wins.”
Tools
| Tool | What it does |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| auth_status · connect_channel · list_channels · set_default_channel · disconnect_channel | Connection, sign-in health, quota, known limits |
| upload_video · get_upload_status · list_uploads · cancel_upload · resume_upload | Background uploads from a file or URL, with progress and resume |
| list_my_videos · get_video · update_video · set_visibility · set_thumbnail · set_video_localizations · delete_video · list_categories | Videos |
| get_channel · update_channel · set_channel_banner · set_watermark
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
109.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
98.8k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
