YouTube Outlier MCP
Provides tools for analyzing YouTube channels, including finding outlier videos that outperform a channel's median views, resolving channel overviews, listing recent videos with raw metrics, searching channels, and getting trending videos by region.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YouTube Outlier MCPfind outlier videos for the MKBHD channel"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
// add to your MCP config
{ "mcpServers": { "outliertube": { "url": "https://mcp.outliertube.shop/mcp" } } }Related MCP server: YouTube Content Management MCP Server
Tools
Tool | What it does |
| Videos whose views are N× the channel's recent median. The killer feature. |
| Channel overview: subs, total views, video count. |
| Recent videos with raw YouTube fields (views/likes/comments/duration). |
| Find channels by keyword. |
| 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)
// 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:
npm install
node test/smoke.mjs # lists tools
node test/smoke.mjs @mkbhd # runs find_outlier_videosCompliance (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
Data layer (
src/yt.mjs) — channels / videos / outliers / trendingMCP server (
src/server.mjs, stdio, 5 tools)Protocol smoke test
Real-data run (blocked on YouTube API key → GCP 2SV)
Remote deployment (HTTP transport)
Product page + pricing
Available Tools
5 toolsfind_outlier_videosFind channel outlier videosA
★ Find videos that overperformed vs the channel's own median views (outlier detection). Use it to reverse-engineer which topics/formats worked. Returns raw YouTube fields plus a derived multiplier (marked as non-YouTube data).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | how many recent videos to analyze (default 50) | |
| channel | Yes | @handle, UC... channel id, or URL | |
| min_age_days | No | ignore videos younger than N days to avoid low-view bias (default 7) | |
| min_multiplier | No | minimum view multiple vs channel median (default 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It clearly states what the tool does and what it returns: 'Returns raw YouTube fields plus a derived multiplier (marked as non-YouTube data).' The 'find' language implies a read-only operation, and the return behavior is transparently described, including the notable caveat about derived data provenance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, each earning its place: the core function, the recommended use case, and the return-value shape. The key discriminating concept is front-loaded, and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, no output schema, and no annotations, the description covers purpose, use case, and output shape well. It leaves little ambiguity about what the tool is for or how to interpret its results. It could be more complete by describing pagination or rate-limit implications, but those are not essential for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter, so the baseline is 3. The description adds useful interpretive context for the domain—median views and derived multiplier—but it does not substantially elaborate on parameter behaviors beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find'), a specific resource ('videos'), and a precise criterion ('overperformed vs the channel's own median views'). It clearly distinguishes itself from sibling tools like get_channel_videos or get_trending by focusing on outlier detection relative to the channel's own baseline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit use case: 'Use it to reverse-engineer which topics/formats worked.' This gives clear context for when to invoke the tool, though it does not explicitly name alternatives or state when not to use it. The purpose is specific enough that an agent can route to it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channel_videosGet channel recent videosA
List a channel's most recent videos with raw YouTube fields (views, likes, comments, duration, publishedAt). Newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | how many recent videos (default 50) | |
| channel | Yes | @handle, UC... channel id, or URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It does disclose useful behavior: 'Newest first' and the raw YouTube fields returned. However, it does not mention failure behavior, authentication needs, rate limits, or what happens for invalid or missing channels.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence. It front-loads the action, then adds output fields and ordering without filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list operation, the schema covers inputs and the description partially compensates for the missing output schema by naming the fields and ordering. It still lacks explicit guidance on errors, the meaning of 'recent' beyond sorting, and sibling routing, but the core is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both `channel` and `limit` with descriptions and defaults. The tool description adds value by framing the result as 'most recent videos', but it does not provide parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'List a channel's most recent videos', and adds the output fields ('views, likes, comments, duration, publishedAt') and ordering ('Newest first'). This clearly distinguishes it from siblings like resolve_channel or get_trending, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the channel-specific framing, but the description does not explicitly say when to use this tool versus alternatives such as get_trending or find_outlier_videos. It provides no exclusions or routing hints, so an agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trendingGet YouTube trendingB
Get YouTube's most-popular videos for a region (raw YouTube data).
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | default 25 | |
| region_code | No | ISO country code, default US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It adds only the phrase 'raw YouTube data', which hints at no post-processing, but it does not mention auth requirements, rate limits, return shape, pagination, or the fact that results are not personalized or curated. This is a significant gap for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler. The core purpose is front-loaded and the parenthetical 'raw YouTube data' adds useful nuance without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional parameters and no output schema, the description gives enough to know what resource is returned and that region is a factor. However, missing behavioral details like return structure or data-source caveats leave the description merely adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents max_results and region_code including defaults and constraints. The description's 'for a region' reinforces region_code's semantics but adds no new parameter meaning beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get YouTube's most-popular videos for a region'. It clearly identifies what the tool returns and distinguishes it from channel-focused or search-oriented siblings, though it does not explicitly name a comparable alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'for a region' clause implies the primary use case and ties to the region_code parameter, but there is no explicit guidance on when to choose this over sibling tools like search_channels or get_channel_videos. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_channelResolve YouTube channelA
Get a YouTube channel overview: title, handle, subscribers, total views, video count. Accepts @handle, UC... channel id, or channel URL.
| Name | Required | Description | Default |
|---|---|---|---|
| channel | Yes | @handle, UC... channel id, or full channel URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. 'Get' implies a read-only operation and the field list scopes the response, but authentication needs, failure behavior, rate limits, or whether partial data can be returned are not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: it front-loads the purpose and output fields, then specifies accepted input formats. Every sentence adds value with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only lookup, the description and schema together cover the input and the expected output fields, even without an output schema. Minor additions like not-found behavior or exact return format could improve completeness, but they are not critical at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'channel' parameter. The description largely restates the accepted input formats rather than adding new semantic details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('YouTube channel overview'), and enumerates the returned fields (title, handle, subscribers, total views, video count). This clearly differentiates it from sibling tools like get_channel_videos or search_channels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context is given: use this when you already have a channel identifier and need an overview. The accepted input forms (@handle, UC... channel id, or channel URL) are explicit, though it doesn't explicitly contrast with search_channels or other alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_channelsSearch YouTube channelsA
Search YouTube channels by keyword. NOTE: the search endpoint has a separate low daily quota, so results are cached.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | keyword, e.g. 'ai tools', 'faceless channel' | |
| max_results | No | default 10 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it delivers a genuinely useful caveat: the separate low daily quota and caching of results. An agent needs this to manage rate-limit expectations. It does not disclose staleness implications or failure behavior when the quota is exhausted, but it surfaces the key operational trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The purpose is front-loaded, and the critical quota/caching caveat is placed in a clearly marked NOTE sentence. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool, the description together with the fully covered schema is mostly sufficient: it covers the key operational risk (low quota, cached results). Minor gaps remain: no indication of what the result set looks like, and no clarification that cached results may be stale, but these are secondary for a read-only discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The schema already fully documents query (with examples) and max_results (range and default). The description adds no parameter meaning beyond what the schema provides; only the word 'keyword' loosely maps to query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (search), resource (YouTube channels), and scope (by keyword). This clearly differentiates it from siblings like get_channel_videos and get_trending, which target a different resource or purpose, so an agent can immediately tell which tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The keyword-search framing implies this is the tool for finding channels by keyword discovery, but the description never names alternatives or states when not to use it (e.g., when resolving an existing channel ID with resolve_channel). Usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
find_outlier_videos - First observed
get_channel_videos - First observed
get_trending - First observed
resolve_channel - First observed
search_channels
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.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
Find YouTube outliers, daily viral Shorts, and analyze video performance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI language models to interact with YouTube content through a standardized interface, providing tools for retrieving video information, transcripts, channel analytics, and trend analysis.398 npm65MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to search YouTube for videos, channels, and playlists while retrieving detailed analytics and metrics through the YouTube Data API v3. Supports advanced filtering options and provides comprehensive statistics for content discovery and analysis.1MIT
- AlicenseCqualityBmaintenanceEnables AI agents to search, analyze, and extract insights from YouTube videos including transcripts, visual frames, and benchmarks without requiring API keys. Supports semantic search across playlists, sentiment analysis, and visual content indexing with automatic fallback chains for reliable access.4151 npm35MIT
- FlicenseAqualityCmaintenanceEnables AI assistants to analyze YouTube channels, videos, transcripts, and content strategy through structured tool calls.1717 npm-