# Youtube

MCP server for YouTube Data API v3 with OAuth 2.0 authentication.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add node2flow/youtube

# Browse available tools
npx -y @smithery/cli@latest tool list node2flow/youtube

# Get full schema for a tool
npx -y @smithery/cli@latest tool get node2flow/youtube youtube_search

# Call a tool
npx -y @smithery/cli@latest tool call node2flow/youtube youtube_search '{}'
```

## Direct MCP Connection

Endpoint: `https://youtube--node2flow.run.tools`

**Required config:**
- `YOUTUBE_CLIENT_ID` (query) — OAuth 2.0 Client ID from https://console.developers.google.com/credentials
- `YOUTUBE_CLIENT_SECRET` (query) — OAuth 2.0 Client Secret from https://console.developers.google.com/credentials
- `YOUTUBE_REFRESH_TOKEN` (query) — OAuth 2.0 Refresh Token from https://developers.google.com/oauthplayground (scope: youtube)

**Optional config:**
- `YOUTUBE_TIMEOUT` (query) — Request timeout in milliseconds (default: 30000)

## Tools (20)

- `youtube_search` — Search YouTube for videos, channels, or playlists. Costs 100 quota units per request. Use filters to narrow results. Re…
- `youtube_get_video` — Get detailed information about one or more videos by ID. Returns snippet (title, description, thumbnails), statistics (…
- `youtube_get_channel` — Get channel information by ID or username. Returns snippet (name, description, avatar), statistics (subscribers, views,…
- `youtube_list_playlists` — List playlists by channel ID or playlist IDs. Returns playlist title, description, item count, and privacy status. Cost…
- `youtube_list_playlist_items` — List videos in a playlist. Returns video titles, descriptions, positions, and video IDs. Costs 1 quota unit.
- `youtube_list_comments` — List top-level comment threads on a video or channel. Returns comment text, author, likes, reply count, and optionally …
- `youtube_list_comment_replies` — List replies to a specific comment. Provide the parent comment ID to get all replies. Costs 1 quota unit.
- `youtube_list_video_categories` — List available video categories for a region. Returns category ID, title, and whether it is assignable. Costs 1 quota u…
- `youtube_list_subscriptions` — List subscriptions for a channel. Returns subscribed channel names, descriptions, and item counts. Costs 1 quota unit.
- `youtube_get_popular_videos` — Get trending/most popular videos for a region. Optionally filter by video category. Returns video details with statisti…
- `youtube_post_comment` — Post a new top-level comment on a video. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRESH_TOKEN). Costs …
- `youtube_reply_comment` — Reply to an existing comment. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRESH_TOKEN). Costs 50 quota un…
- `youtube_update_comment` — Edit an existing comment. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRESH_TOKEN). Costs 50 quota units.
- `youtube_delete_comment` — Delete a comment. This action is irreversible. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRESH_TOKEN). …
- `youtube_create_playlist` — Create a new playlist. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRESH_TOKEN). Costs 50 quota units.
- `youtube_update_playlist` — Update a playlist title, description, or privacy status. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRES…
- `youtube_delete_playlist` — Delete a playlist. This action is irreversible. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRESH_TOKEN).…
- `youtube_add_playlist_item` — Add a video to a playlist. Optionally specify position (0-based). Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET…
- `youtube_remove_playlist_item` — Remove a video from a playlist by playlist item ID (not video ID). Use youtube_list_playlist_items to find the item ID.…
- `youtube_rate_video` — Like, dislike, or remove rating from a video. Requires OAuth credentials (CLIENT_ID + CLIENT_SECRET + REFRESH_TOKEN). C…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get node2flow/youtube <tool-name>
```

## Resources

- `youtube://server-info` — Connection status and available tools for this YouTube MCP server

## Prompts (2)

- `search-and-analyze` — Guide for searching and analyzing YouTube content — videos, channels, comments
- `manage-content` — Guide for managing YouTube content — comments, playlists, ratings (requires OAuth)

---

License: MIT
