Skip to main content
Glama
huangtony2025-ship-it

YouTube Outlier MCP

README.md
# YouTube Outlier MCP

> Find **outlier videos** on any YouTube channel β€” videos that massively overperformed the channel's own median views. Reverse-engineer what topics/formats actually worked, instead of guessing.

Built for creators, growth teams, and channel researchers who use AI agents (Claude, Cursor, ChatGPT, opencode…).

## Live

- 🌐 Product page: **https://outliertube.shop**
- πŸ”Œ Remote MCP (no install): **https://mcp.outliertube.shop/mcp**
- 🧩 Smithery listing: https://smithery.ai/servers/huangtony2025/youtube-outlier

```jsonc
// add to your MCP config
{ "mcpServers": { "outliertube": { "url": "https://mcp.outliertube.shop/mcp" } } }
```

## Tools

| Tool | What it does |
|---|---|
| `find_outlier_videos` β˜… | Videos whose views are NΓ— the channel's recent median. The killer feature. |
| `resolve_channel` | Channel overview: subs, total views, video count. |
| `get_channel_videos` | Recent videos with raw YouTube fields (views/likes/comments/duration). |
| `search_channels` | Find channels by keyword. |
| `get_trending` | YouTube most-popular by region. |

## Why outlier detection

A channel's **median** view count is its baseline. A 5Γ— video tells you the format/topic that broken out. That's the signal worth copying β€” and it's invisible if you only look at raw view counts.

## Setup (stdio, local)

```jsonc
// Claude Desktop / Cursor / opencode mcp config
{
  "mcpServers": {
    "youtube-outlier": {
      "command": "node",
      "args": ["/absolute/path/to/mcp/youtube-outlier/src/server.mjs"],
      "env": { "YOUTUBE_API_KEY": "YOUR_KEY" }
    }
  }
}
```

Self-test:
```bash
npm install
node test/smoke.mjs                 # lists tools
node test/smoke.mjs @mkbhd          # runs find_outlier_videos
```

## Compliance (see COMPLIANCE.md)

- Public API data cached **≀ 30 days** (YouTube Developer Policies III.E.4.d).
- Derived metrics (multiplier/outlier) are **clearly marked as our own, not YouTube official**.
- This is a **tool**, not a resale of YouTube API access.
- Positioned as analysis software; no scraping; official API only.

## Status

- [x] Data layer (`src/yt.mjs`) β€” channels / videos / outliers / trending
- [x] MCP server (`src/server.mjs`, stdio, 5 tools)
- [x] Protocol smoke test
- [ ] Real-data run (blocked on YouTube API key β†’ GCP 2SV)
- [ ] Remote deployment (HTTP transport)
- [ ] Product page + pricing

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct resource/action: channel metadata, channel videos, outlier detection on those videos, channel search, and global trending. No two tools could be confused for one another; purposes are clearly separated.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: resolve_channel, get_channel_videos, find_outlier_videos, search_channels, get_trending. The verbs are specific and the nouns are descriptive, making the pattern predictable and easy to scan.

Tool Count5/5

Five tools is well within the ideal 3–15 range and aligns nicely with the server's focused purpose (YouTube outlier detection). Each tool covers a necessary step without redundancy or bloat.

Completeness4/5

The core workflow is covered: resolve a channel, list its videos, detect outliers, and optionally search channels or check trending. Minor gaps exist (e.g., no way to manually define outlier thresholds or fetch video-level comments), but these don't break the primary use case.

Maintenance

ActivityMaintained
ResponsivenessNo issues