Real-time video transcripts, RAG captions, metadata, search & comments MCP. OAuth or API key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Resolve any YouTube channel handle (@handle), channel ID (UC...), or vanity URL to get subscriber count, video count, bio, avatar, and banner.
Full YouTube channel URL
Channel handle with or without @ (e.g. @MrBeast)
Canonical YouTube channel ID starting with UC...
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp-server https://api.videodataapi.com/mcp
Resolve any YouTube channel handle (@handle), channel ID (UC...), or vanity URL to get subscriber count, video count, bio, avatar, and banner.
| Argument | Type | Description |
|---|---|---|
| url | string | Full YouTube channel URL |
| handle | string | Channel handle with or without @ (e.g. @MrBeast) |
| channel_id | string | Canonical YouTube channel ID starting with UC... |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full YouTube channel URL"
},
"handle": {
"type": "string",
"description": "Channel handle with or without @ (e.g. @MrBeast)"
},
"channel_id": {
"type": "string",
"description": "Canonical YouTube channel ID starting with UC..."
}
}
}List a YouTube channel's uploaded Shorts feed sorted by newest or popular.
| Argument | Type | Description |
|---|---|---|
| token | string | Continuation token for pagination |
| handle | string | Channel handle with or without @ |
| sort_by | string | Sort order |
| channel_id | string | Canonical YouTube channel ID starting with UC... |
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Continuation token for pagination"
},
"handle": {
"type": "string",
"description": "Channel handle with or without @"
},
"sort_by": {
"enum": [
"newest",
"popular"
],
"type": "string",
"description": "Sort order"
},
"channel_id": {
"type": "string",
"description": "Canonical YouTube channel ID starting with UC..."
}
}
}List a YouTube channel's uploaded videos feed sorted by newest, popular, or oldest.
| Argument | Type | Description |
|---|---|---|
| token | string | Continuation token for pagination |
| handle | string | Channel handle with or without @ |
| sort_by | string | Sort order |
| channel_id | string | Canonical YouTube channel ID starting with UC... |
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Continuation token for pagination"
},
"handle": {
"type": "string",
"description": "Channel handle with or without @"
},
"sort_by": {
"enum": [
"newest",
"popular",
"oldest"
],
"type": "string",
"description": "Sort order"
},
"channel_id": {
"type": "string",
"description": "Canonical YouTube channel ID starting with UC..."
}
}
}Extract top or newest video comments with author channel info, upvote count, reply count, published time, and continuation token for pagination.
| Argument | Type | Description |
|---|---|---|
| token | string | Continuation token for pagination |
| sort_by | string | Sort comments by top or newest (default is top) |
| video_id* | string | 11-character YouTube video ID or full YouTube URL |
{
"type": "object",
"required": [
"video_id"
],
"properties": {
"token": {
"type": "string",
"description": "Continuation token for pagination"
},
"sort_by": {
"enum": [
"top",
"newest"
],
"type": "string",
"description": "Sort comments by top or newest (default is top)"
},
"video_id": {
"type": "string",
"description": "11-character YouTube video ID or full YouTube URL"
}
}
}Search YouTube videos, Shorts, channels, or playlists by query string with filters for type, duration, upload date, and sort order.
| Argument | Type | Description |
|---|---|---|
| type | string | Result type filter (default video) |
| query* | string | Search query keywords |
| token | string | Continuation token for pagination |
| sort_by | string | Sort order |
{
"type": "object",
"required": [
"query"
],
"properties": {
"type": {
"enum": [
"video",
"shorts",
"channel",
"playlist",
"all"
],
"type": "string",
"description": "Result type filter (default video)"
},
"query": {
"type": "string",
"description": "Search query keywords"
},
"token": {
"type": "string",
"description": "Continuation token for pagination"
},
"sort_by": {
"enum": [
"relevance",
"upload_date",
"view_count",
"rating"
],
"type": "string",
"description": "Sort order"
}
}
}Extract timed subtitle segments (offset_ms, duration_ms) and complete plain-text transcript for any YouTube video or Short. Supports auto-generated and manual caption tracks in all languages.
| Argument | Type | Description |
|---|---|---|
| lang | string | Preferred 2-letter subtitle language code (e.g. en, es, fr, de, ja). Defaults to en. |
| video_id* | string | 11-character YouTube video ID or full youtube.com/watch?v=... / youtu.be/... URL |
{
"type": "object",
"required": [
"video_id"
],
"properties": {
"lang": {
"type": "string",
"description": "Preferred 2-letter subtitle language code (e.g. en, es, fr, de, ja). Defaults to en."
},
"video_id": {
"type": "string",
"description": "11-character YouTube video ID or full youtube.com/watch?v=... / youtu.be/... URL"
}
}
}Fetch currently trending YouTube videos by country code and category.
| Argument | Type | Description |
|---|---|---|
| geo | string | 2-letter ISO country code (default US) |
| type | string | Trending category |
{
"type": "object",
"properties": {
"geo": {
"type": "string",
"description": "2-letter ISO country code (default US)"
},
"type": {
"enum": [
"now",
"music",
"gaming",
"movies"
],
"type": "string",
"description": "Trending category"
}
}
}Fetch full YouTube video metadata including title, description, viewCount, likeCount, duration_seconds, upload_date, tags, chapters, keywords, and channel details.
| Argument | Type | Description |
|---|---|---|
| video_id* | string | 11-character YouTube video ID or full YouTube URL |
{
"type": "object",
"required": [
"video_id"
],
"properties": {
"video_id": {
"type": "string",
"description": "11-character YouTube video ID or full YouTube URL"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 7, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.