YouTube Outlier MCP
# 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
Scored across 5 tools
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.
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.
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.
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.