Skip to main content
Glama

yt-analytics-mcp

MCP server for YouTube channel deep analytics. Extracts transcripts, computes quantitative metrics (WPM, profanity, humor taxonomy, rhetoric fingerprint, title formula, posting schedule), and generates multi-creator comparison dashboards.

Dashboard overview

Charts detail

Tools

Tool

Description

yt_analyze_channel

Analyze a channel: download transcripts, compute metrics, cache results

yt_list_analyses

List all cached channel analyses

yt_get_analysis

Retrieve full cached analysis JSON for a channel

yt_remove_analysis

Remove a cached analysis

yt_compare_creators

Build a tabbed HTML comparison dashboard from cached analyses

Related MCP server: YouTube MCP

Quick Start

# Install
cd yt-analytics-mcp
npm install

# Add to Claude Code settings
# ~/.claude/settings.json → mcpServers

Claude Code Config

{
  "mcpServers": {
    "yt-analytics": {
      "command": "node",
      "args": ["/path/to/yt-analytics-mcp/src/index.js"],
      "env": {
        "YT_ANALYTICS_DATA": "/path/to/yt-analytics-mcp/data"
      }
    }
  }
}

Usage

Analyze a single channel

Analyze @BennJordan's channel (20 videos, tech niche)
→ calls yt_analyze_channel with channel="@BennJordan", limit=20, niche="tech"

Returns structured JSON with per-video and aggregate metrics:

  • WPM (words per minute) with niche baseline comparison

  • Profanity density per minute

  • Humor taxonomy (crude, self-deprecating, confrontational, hyperbolic, absurd)

  • Rhetoric fingerprint (connector word frequencies: but, so, because, if you, etc.)

  • Title formula (CAPS usage, exclamation marks, parentheticals)

  • Posting schedule (day-of-week distribution, monthly activity, cadence gaps)

Build a comparison dashboard

Compare all analyzed channels in a tabbed dashboard
→ calls yt_compare_creators

Generates a self-contained HTML file with:

  • Sticky tab bar for switching between creators

  • KPI cards (videos, words, runtime, median WPM, profanity, avg length)

  • WPM horizontal bar chart with niche average line

  • Video structure timeline

  • Humor taxonomy doughnut chart

  • Profanity density bar chart

  • Rhetoric radar chart

  • Video length vs. speech rate bubble chart

  • Posting schedule — day-of-week bar chart, monthly activity line chart, cadence stats

  • Title formula badges

  • Opening line pattern breakdown

  • Connector language grid

  • Per-video data table

  • Written analysis

Workflow

1. yt_analyze_channel → analyze @Creator1 (cached)
2. yt_analyze_channel → analyze @Creator2 (cached)
3. yt_analyze_channel → analyze @Creator3 (cached)
4. yt_compare_creators → build tabbed dashboard from all cached analyses

The companion /yt-analytics skill adds Gemini qualitative analysis on top — editing mechanics, humor quotes, video structure timelines, energy modulation — then merges with the MCP's quantitative data.

Filtering by date

Analyze @RyanHumiston — last 2 years only, 20 videos
→ yt_analyze_channel with channel="@RyanHumiston", limit=20, max_age_days=730

The --max-age-days flag filters out videos older than N days before analysis.

Niche Baselines

Niche

Avg WPM

Fitness

~170

Tech

~160

Commentary

~190

Educational

~150

Gaming

~180

News

~175

Woodworking

~175

Music

~165

Requirements

  • Node.js 18+

  • Python 3.10+ with yt-dlp and youtube-transcript-api installed

  • No API keys needed

Data Storage

Analyses are cached as JSON files in the data/ directory (configurable via YT_ANALYTICS_DATA env var). Transcript files are stored in data/transcripts/.

Architecture

yt-analytics-mcp/
├── src/
│   └── index.js          # MCP server + HTML generator
├── scripts/
│   └── analyze_channel.py # Transcript extraction + quantitative analysis
├── docs/                  # Example screenshots
├── data/                  # Cached analyses (JSON) + transcripts
├── package.json
└── README.md

The MCP server wraps the Python analysis script and adds:

  • Result caching and management

  • Multi-creator comparison HTML generation

  • Structured tool interfaces for Claude Code

Available Tools

5 tools
yt_analyze_channelA

Analyze a YouTube channel: download transcripts and compute quantitative metrics (WPM, profanity, humor taxonomy, rhetoric fingerprint, title formula). Returns structured JSON. Results are cached for use in comparisons.

Inputs: channel (required), limit, niche.

yt_compare_creatorsA

Build or update a tabbed HTML comparison dashboard from cached analyses. Specify which channels to include, or omit to include all cached analyses. Returns the HTML file path.

Inputs: title, channels, output_path.

yt_get_analysisB

Retrieve the full cached analysis JSON for a specific channel.

Inputs: channel (required).

yt_list_analysesA

List all cached channel analyses. Returns channel names, video counts, and analysis dates.

Inputs: no named parameters.

yt_remove_analysisB

Remove a cached channel analysis.

Inputs: channel (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: analyzing a channel, comparing creators, retrieving cached analyses, listing them, and removing them. No overlap exists.

    Naming Consistency5/5

    All tools follow a consistent 'yt_verb_noun' pattern (e.g., yt_analyze_channel, yt_compare_creators), making the naming predictable and uniform.

    Tool Count5/5

    With 5 tools, the server is well-scoped for managing YouTube channel analyses. The count is appropriate for the domain without being excessive or insufficient.

    Completeness5/5

    The tool set covers the full lifecycle: create analysis, retrieve (list/get), update (compare dashboard), and delete. No obvious gaps for the intended purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.
      -
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that enables users to retrieve YouTube transcripts and perform video or channel searches without requiring Google API keys. It supports transcript chunking and provides tools for detailed video content analysis and channel metadata extraction.
      5
      30 npm
      4
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      An MCP server for intelligent YouTube video analysis that provides token-optimized summaries, sentiment analysis, and entity extraction from transcripts. It enables AI assistants to perform video reporting, channel monitoring, and comprehensive YouTube searches through structured data tools.
      10
      53
      Apache 2.0