Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YOUTUBE_API_KEY | Yes | YouTube Data API v3 key required for channel resolution, listing videos, playlists, searching, and comments. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_yt_video_info | Fetch YouTube video information and transcript. Tip: You can pass either a raw video id (11 chars) or a full YouTube URL. |
| resolve_youtube_channel | Resolve a YouTube channel reference into a concrete channelId. What this tool does:
- Converts a user-facing channel identifier into a YouTube Supported input formats (examples):
- Handle: Parameters:
channel_ref:
Channel identifier in one of the supported formats.
resolution_mode:
- Returns (structured JSON): - channelId: string | null - title: string | null - handle: string | null - uploadsPlaylistId: string | null - warnings: string[] - candidates: {channelId,title,handle}[] Failure modes: - Missing API key: raises error "YOUTUBE_API_KEY not configured". - Ambiguous/unsupported input (strict): raises ValueError with guidance. Safety notes: - Does not perform destructive actions. - Does not access private channel data. |
| list_youtube_channel_videos | List videos for a channel (public data), with safe defaults. Default behavior (safe + complete):
- Uses the channel's uploads playlist ( Parameters:
channel_ref:
Same formats as Returns (structured JSON): - items: video[] (YouTube API video resources) - nextPageToken: string | null - next_page_token: string | null (alias of nextPageToken for agent friendliness) - quotaEstimate: {estimatedUnits,strategy,notes[]} - truncated: bool - appliedMaxVideos: int - appliedOrder: {strategy, by} Quota/performance notes: - Search API calls are expensive (quota ~100/unit per call) and may be capped for channels. - local_sort is bounded by max_videos and max_pages. Safety notes: - Public data only; no private playlists/videos. - No file/network access except YouTube Data API endpoints. |
| list_youtube_channel_playlists | List public playlists for a channel. Parameters:
channel_ref:
Same formats as Returns: - items: playlist[] (YouTube API playlist resources) - nextPageToken: string | null - quotaEstimate: {estimatedUnits,strategy,notes[]} Notes: - Public playlists only. - This tool does not list "private" playlists. |
| list_youtube_playlist_videos | List videos in a playlist (public data). Parameters:
playlist_id:
YouTube playlist ID (e.g. Returns: - items: video[] - nextPageToken: string | null - quotaEstimate: {estimatedUnits,strategy,notes[]} Notes: - Playlist ordering is YouTube's playlist ordering. |
| search_youtube_channel_videos | Search for videos within a channel by keyword (public data). When to use: Use this tool when you want to find videos by keyword without enumerating the full uploads playlist. Important:
- This tool uses the YouTube Search API ( Pagination:
- Read Returns:
- items: hydrated video resources ( |
| list_youtube_video_comments | List comment threads for a YouTube video (public comments). Notes:
- Uses Pagination:
- Response returns Returns: - items: commentThread[] (includes top-level comment; replies optional) - nextPageToken / next_page_token - quotaEstimate Common failure: - If comments are disabled, YouTube may return 403 (commentsDisabled). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |