mcpField
Y
youtube-organic-mcp

youtube-organic-mcp

Local
github.com/lanternrowSocial Media0Updated 17w ago

About youtube-organic-mcp

youtube-organic-mcp is a read-only MCP server for channel owners and teams tracking organic YouTube performance. It provides channel, video, watch-time, engagement, and date-range analytics through YouTube APIs.

Key features

  1. 01Channel profiles and lifetime stats
  2. 02Paginated video performance data
  3. 03Channel and video analytics
  4. 04Date-range and daily trends
  5. 05Multi-account channel support

Use cases

  1. 01Review subscriber and view totals
  2. 02Compare engagement across uploaded videos
  3. 03Track watch time over a date range

MCP support

It exposes read-only YouTube channel and video analytics tools to MCP clients, using the YouTube Data API v3 and YouTube Analytics API v2.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"lanternrow-youtube-organic": {
"command": "npx",
"args": [
"-y",
"youtube-organic-mcp"
],
"env": {
"YOUTUBE_CLIENT_ID": "<YOUTUBE_CLIENT_ID>",
"YOUTUBE_CLIENT_SECRET": "<YOUTUBE_CLIENT_SECRET>",
"YOUTUBE_REFRESH_TOKEN": "<YOUTUBE_REFRESH_TOKEN>"
}
}
}
}
Run commandnpx -y youtube-organic-mcp
Environment variables to set
YOUTUBE_CLIENT_IDGoogle OAuth client ID for the YouTube Data + Analytics APIs
YOUTUBE_CLIENT_SECRETSecretGoogle OAuth client secret
YOUTUBE_REFRESH_TOKENSecretGoogle OAuth refresh token (offline access) for the channel owner

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmyoutube-organic-mcp1.0.0

Tools

6

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

youtube-organic-mcp

MCP server for YouTube organic analytics — channel stats, video performance, watch time, and audience engagement via the YouTube Data API v3 and YouTube Analytics API v2.

Built for Claude Code and any MCP-compatible AI tool. Gives your AI assistant direct, read-only access to your own channel's organic data — subscribers, views, watch time, per-video engagement, and day-by-day trends.

Part of The SEO Engine toolkit by Rex Jones — AI-powered SEO and social media tooling for agencies and businesses.

Why this exists

  • No good open-source YouTube organic MCP existed. Plenty of ad MCPs; organic channel analytics, nobody.
  • YouTube has the richest organic API of the major platforms. Watch time, average view duration, subscribers gained/lost, traffic sources — none of it gated behind a multi-week review.
  • Reuses your existing Google OAuth. If you already run the GA4 / GSC / Google Ads MCPs, the same OAuth client works here.

Tools

ToolDescription
list_accountsList configured channels and the default
get_channel_infoChannel profile + lifetime stats (subscribers, total views, video count, uploads playlist)
get_videosPaginated uploads with per-video views, likes, comments, duration
get_video_detailsDetails for specific video IDs (batch up to 50)
get_channel_analyticsChannel analytics over a date range: views, watch time, avg view duration/%, subs gained/lost, likes, comments, shares — optionally by day
get_video_analyticsThe same metrics for a single video over a date range

All tools accept an optional account parameter for multi-account setups.

Getting connected

Step 1: Enable the APIs

In Google Cloud Console (any project — you can reuse an existing one), enable YouTube Data API v3 and YouTube Analytics API.

Step 2: Get a refresh token

Create an OAuth client of type Desktop app and download its client_secret JSON. Then run the helper (needs pip install google-auth-oauthlib):

python3 scripts/get_youtube_token.py /path/to/client_secret.json my-channel

Authorize with the Google account that owns the channel (pick the Brand Account if prompted). It prints the three YOUTUBE_* values to drop into your config and writes them to .youtube_account.json (gitignored).

Step 3: Configure

Add to your Claude Code MCP settings:

{
  "mcpServers": {
    "youtube-organic": {
      "command": "node",
      "args": ["/path/to/youtube-organic-mcp/dist/index.js"],
      "env": {
        "YOUTUBE_CLIENT_ID": "your_client_id.apps.googleusercontent.com",
        "YOUTUBE_CLIENT_SECRET": "your_client_secret",
        "YOUTUBE_REFRESH_TOKEN": "1//your_refresh_token"
      }
    }
  }
}

Or set YOUTUBE_ACCOUNTS to a JSON array for multiple channels (see .env.example).

Architecture

src/
  index.ts          # MCP server entry point, tool registration
  accounts.ts       # Multi-account resolution (client_id/secret/refresh_token)
  client.ts         # OAuth token minting + Data/Analytics API HTTP client
  types.ts          # TypeScript interfaces for API responses
  tools/
    channel.ts      # get_channel_info + uploads-playlist resolver
    videos.ts       # get_videos, get_video_details
    analytics.ts    # get_channel_analytics, get_video_analytics
  • Zero external HTTP dependencies — native fetch (Node 18+)
  • Auto-refreshing auth — access tokens minted from the refresh token, cached per process
  • Multi-account support — monitor multiple channels from one server

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.