youtube-organic-mcp

youtube-organic-mcp

Enables AI assistants to access YouTube organic analytics, including channel stats, video performance, watch time, and audience engagement, via the YouTube Data API v3 and Analytics API v2.

Category
Visit Server

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

Tool Description
list_accounts List configured channels and the default
get_channel_info Channel profile + lifetime stats (subscribers, total views, video count, uploads playlist)
get_videos Paginated uploads with per-video views, likes, comments, duration
get_video_details Details for specific video IDs (batch up to 50)
get_channel_analytics Channel analytics over a date range: views, watch time, avg view duration/%, subs gained/lost, likes, comments, shares — optionally by day
get_video_analytics The 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured