npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

youtube-channel-mcp

v2.1.0

Published

MCP server for YouTube — analytics, video metadata, SEO updates. Read your private channel data and update titles/descriptions/tags directly from Claude. OAuth2, 10 tools, works with Claude Desktop + Claude Code.

Readme

YouTube MCP Server

Connect Claude to your YouTube channel. Read analytics, fetch full video metadata (including unlisted/private/draft), search your uploads, and update titles/descriptions/tags — all from Claude Desktop, Claude Code, or any MCP client.

npm version npm downloads GitHub Stars License MIT Claude MCP Node.js


What Is This?

A Model Context Protocol (MCP) server that connects Claude to the YouTube Data API v3 and YouTube Analytics API via OAuth2.

Instead of copying data from YouTube Studio into AI tools, just ask Claude:

  • "Pull the full title, description and tags for this video"
  • "What are my top performing videos this month?"
  • "Update the title and tags on my latest upload"
  • "Where is my traffic coming from?"

Claude reads your real private channel data and can update video SEO directly.

Claude  →  YouTube MCP Server  →  YouTube APIs  →  Your Channel Data
(you)        (this repo)           (OAuth2)         (stays local)

Everything runs on YOUR machine. Read + Write access. Nothing sent to third parties.


Tools Available (10 total)

Video Metadata (Read + Write)

| Tool | What It Does | |------|-------------| | get_video_details | Full metadata for any video by ID or URL — title, full description, all tags, category, privacy status (public/unlisted/private/draft), stats, duration, thumbnail URL | | search_my_videos | Search your own channel's videos by keyword. Returns metadata + stats for matching videos | | update_video_seo | Update title, description, and/or tags on any video directly. Only changes fields you provide |

Channel Analytics

| Tool | What It Does | |------|-------------| | get_channel_overview | Subscribers, total views, video count, channel description, creation date | | get_all_videos | List all videos with stats (views, likes, comments, tags, privacy status). Sort by date or views | | get_analytics_over_time | Day-by-day views, watch time, subscribers gained/lost for any date range | | get_top_videos_analytics | Top performing videos ranked by views with retention %, watch time, subs gained | | get_audience_demographics | Audience breakdown: top countries, device types, age groups, gender | | get_traffic_sources | Where viewers come from: YouTube Search, Suggested, Browse, External, Direct | | analyze_and_suggest_topics | Pulls channel + top video data for AI-powered topic analysis |


Install

Option A: npx (Zero Install — just run it)

npx youtube-studio-mcp

Option B: Global Install

npm install -g youtube-studio-mcp

Option C: Clone + Run

git clone https://github.com/adityaarsharma/youtube-studio-mcp.git
cd youtube-studio-mcp
npm install

Option D: Download ZIP

  1. Click Code → Download ZIP above
  2. Unzip → open Terminal → cd into the folder
  3. Run npm install

Setup (15 minutes, one time)

Step 1 — Google Cloud Project

  1. Go to console.cloud.google.com
  2. Create a new project (name: YouTube MCP)
  3. Enable these 2 APIs:
    • YouTube Data API v3 (for video data + updates)
    • YouTube Analytics API (for private analytics)

Step 2 — OAuth Consent Screen

  1. Go to APIs & Services → OAuth consent screen
  2. Select External → Create
  3. Fill in app name (YouTube MCP), your email
  4. Skip scopes → Add your Gmail as test user → Save

Step 3 — Create OAuth Credentials

  1. Go to APIs & Services → Credentials
  2. Click + Create Credentials → OAuth client ID
  3. Select Desktop app → Create
  4. Download JSON → rename to credentials.json
  5. Move into this repo folder

Step 4 — Authenticate

node auth.js

Browser opens → log in with the Google account that owns your YouTube channel → Allow.

"This app isn't verified" warning is normal for personal apps. Click Advanced → Go to YouTube MCP (unsafe).

Step 5 — Connect to Claude

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "youtube-analytics": {
      "command": "node",
      "args": ["/full/path/to/youtube-studio-mcp/server.js"]
    }
  }
}

Or if installed via npm:

{
  "mcpServers": {
    "youtube-analytics": {
      "command": "npx",
      "args": ["-y", "youtube-studio-mcp"]
    }
  }
}

Claude Code (Terminal)

claude mcp add youtube-analytics node /full/path/to/youtube-studio-mcp/server.js

VS Code

Add to .vscode/settings.json:

{
  "mcp.servers": {
    "youtube-analytics": {
      "command": "npx",
      "args": ["-y", "youtube-studio-mcp"]
    }
  }
}

Restart Claude. Done!


Ready-to-Use Prompts

SEO Audit (any video)

Get the full details for this video: [paste URL or ID]
Check what keywords it's ranking for and suggest optimized title + tags

Channel Performance Report

Pull my channel overview, top 20 videos by watch time, 90-day analytics,
traffic sources and audience demographics. Give me a full performance report.

Video Topic Research

Get my top 20 videos by watch time. What patterns do you see —
topics, lengths, title styles? Suggest 10 new video ideas.

Update Video SEO

Search my videos for "elementor menu". Pull the full details.
Write an optimized title, description, and tags — then update it.

Audience Deep Dive

Show my full audience demographics — age, gender, countries, devices.
What content style and posting schedule fits my actual audience?

Underperformer Diagnosis

Get all my videos. Compare bottom 10 vs top 10 by views.
Why did the lower ones underperform? What would you change?

8 Bundled AI Skills for YouTube Creators

This repo includes ready-to-use AI skill files in the skills/ folder that supercharge your YouTube workflow. Each skill is a structured prompt that makes Claude act as a specialized team member.

Install any skill: Copy the .md file into your Claude skills directory and it activates automatically.

| Skill | What It Does | Trigger Phrases | |-------|-------------|-----------------| | SEO Optimizer | Optimizes titles, descriptions, tags. Protects existing ranking keywords. 3 title options + full description + 20 tags | "optimize this video", "write title", "write tags" | | Channel Audit | Full channel health report — views, subs, retention, traffic sources, audience demographics. Identifies problems and prescribes fixes | "audit my channel", "why am I not growing", "channel report" | | Topic Finder | 12 data-backed video topics with keyword volumes, SERP gaps, and competitor analysis. Tier 1/2/3 prioritization | "video ideas", "what should I make next", "find topics" | | Thumbnail Auditor | 20-point thumbnail scoring (66-point scale). Grades A-F with specific redesign instructions | "audit thumbnail", "review this thumbnail", "CTR is low" | | Script Writer | Full production-ready scripts with word-for-word narration, screen cues, timestamps, editor brief, and companion Short script | "write script", "video script", "tutorial script" | | Competitor Spy | Competitor channel analysis, SERP battle maps, 10 "steal-worthy" topics with differentiation angles | "competitor analysis", "who's beating me", "content gaps" | | Video Analyzer | Deep single-video analysis — SEO score (21-point), performance benchmarks, and optimized rewrite | "analyze this video", "why isn't this performing", "video audit" | | Shorts Repurposer | Turn any long-form video into 3-5 Shorts with hooks, text overlays, and posting strategy | "make shorts from this", "repurpose video", "extract shorts" |

How the Skills + MCP Work Together

You: "Optimize this video: youtube.com/watch?v=abc123"

Claude:
  1. youtube-seo-optimizer skill activates
  2. Calls get_video_details → pulls current title, description, tags
  3. Checks YouTube SERP for current rankings
  4. Lists PROTECTED keywords (won't remove)
  5. Writes 3 new title options + full description + 20 tags
  6. Can call update_video_seo to apply changes directly

The skills tell Claude what to do. The MCP tools give Claude access to your data. Together they create a complete YouTube AI workflow.

Install Skills

Claude Desktop / Claude Code:

# Copy a skill to your Claude skills directory
cp skills/youtube-seo-optimizer.md ~/.claude/skills/

Or install all 8:

cp skills/youtube-*.md ~/.claude/skills/

OAuth Scopes

| Scope | Purpose | |-------|---------| | youtube | Read + write video metadata (titles, descriptions, tags) | | youtube.readonly | Read video data, search, list | | yt-analytics.readonly | Read private analytics (views, watch time, subs, demographics) | | youtubepartner-channel-audit | Extended channel audit data |

To enable write access (update_video_seo), delete tokens.json and re-run node auth.js. The new auth flow requests the youtube write scope.


Privacy & Security

| Question | Answer | |----------|--------| | Does my data go to any server? | No — runs 100% on your machine | | Can it delete videos? | No — only reads data and updates metadata | | Is OAuth safe? | Yes — same system used by TubeBuddy, VidIQ | | Can I revoke access? | Yes — anytime at myaccount.google.com/permissions |

Never commit credentials.json or tokens.json to git.


Troubleshooting

| Problem | Fix | |---------|-----| | credentials.json not found | Download from Google Cloud Console → move to repo folder | | Not authenticated | Run node auth.js | | Port 3000 in use | lsof -ti:3000 \| xargs kill -9 then retry | | Claude doesn't show tools | Check JSON syntax in config, restart Claude fully | | "App isn't verified" | Click Advanced → Go to YouTube MCP (unsafe) | | update_video_seo fails | Delete tokens.json, re-run node auth.js for write scope | | Quota exceeded | YouTube API free limit: 10,000 units/day. Wait 24h |


What's New in v2.1

  • npm packagenpx youtube-studio-mcp for zero-install
  • 8 AI skills — bundled YouTube workflow skills for Claude
  • MIT License — free to use, modify, share

What's New in v2.0

  • get_video_details — Full metadata by video ID or URL. Works for public, unlisted, private, and draft videos
  • search_my_videos — Search your own uploads by keyword
  • update_video_seo — Update title, description, tags directly on YouTube
  • YouTube write scope — OAuth now requests youtube scope for SEO updates
  • URL parsing — Pass full YouTube URLs or just video IDs
  • Privacy status — All video listings now show public/unlisted/private status

Files

youtube-studio-mcp/
├── server.js          ← MCP server (10 tools)
├── auth.js            ← Run once to link YouTube account
├── package.json       ← Dependencies + npm config
├── skills/            ← 8 AI skills for YouTube creators
├── LICENSE            ← MIT
├── credentials.json   ← YOU add this (never commit!)
└── tokens.json        ← Auto-created after auth (never commit!)

Contributing

PRs welcome! Ideas:

  • Transcript extraction (YouTube captions API)
  • YouTube Shorts-specific analytics
  • Revenue/monetization data (YouTube Reporting API)
  • Playlist management tools
  • Comment management tools
  • Thumbnail upload

License

MIT — free to use, modify, share.


Built By

Aditya Sharma — Building AI tools for creators and marketers.

If this saved you time — star the repo and share with a creator friend!