Labsco
MCP SERVER

YouTube MCP

by mrsknetwork

Pull a word-for-word transcript with no credentials at all, then add a Google API key for search, metadata, comments, trending and captions.

Speech Synthesis & Transcription
Summary
The most useful tool is the one that needs no key.

Transcripts are what most people actually want from YouTube in a conversation, and here they come out of yt-dlp rather than the Data API — so there is no project to create, no quota to watch, and no credential to rotate before the first useful answer. The other two tiers are additive rather than required: a key turns on search and metadata, and OAuth only matters if you are asking about your own subscriptions or your channel's members. Credentials are passed as environment variables rather than written to files, and revoking them is a tool call.

What it is

A YouTube client with three access tiers stacked on one server: transcripts work with nothing configured, an API key unlocks the public data tools, and OAuth adds the parts that belong to your own account.

What you get
  • A full spoken transcript pulled with yt-dlp and no credentials, in the language you name, preferring manual or auto-generated captions and returning source metadata alongside the text (get_video_transcript).
  • Search across videos, channels and playlists, filtered by order, published-before and published-after dates, duration, definition and region, with pagination (search_content).
  • Video and channel detail: title, description, tags, duration and stats for one or many video IDs, and a channel's profile, subscriber count, video count and uploads playlist — addressable by ID or by @handle (get_video_metadata, get_channel_metadata).
  • The most popular videos for a region and optional category, with the category names and IDs available so the filter uses real values (list_trending_videos, list_video_categories).
  • Playlists for a channel or by ID, and every video inside a playlist in order with its position (list_playlists, list_playlist_items).
  • Comment threads for a video or channel, filterable by keyword, and the replies under any one thread (list_video_comments, list_comment_replies).
  • Channel surface detail: the recent activity feed of uploads and playlist additions, and the shelf sections shown on the channel page in order (list_channel_activities, list_channel_sections).
  • Caption tracks listed with their language code and whether they are manual or auto-generated, plus the supported languages and regions as lookup tables (list_video_captions, list_supported_languages, list_supported_regions).
  • Account-scoped reads behind OAuth: your own subscriptions, your channel's current paying members, and the membership tiers you have configured — with a tool to revoke the stored credentials and sign out (list_subscriptions, list_channel_members, list_membership_levels, revoke_oauth_token).
Requirements

Nothing for transcripts — `npx -y @mrsknetwork/ytmcp@latest` and the transcript tool works, because it goes through yt-dlp rather than the API. Everything else needs a Google API key with YouTube Data API v3 enabled, passed as GOOGLE_API_KEY. The account-scoped tools need an OAuth 2.0 client with the redirect URI http://localhost:31415/oauth2callback registered and your address added as a test user, with GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET in the environment; the first tool call returns a login link and the session persists after that.

Setup effort

One command — npx -y @mrsknetwork/ytmcp@latest