get_video_transcriptLABSCO 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
USE CASES
Reading a video instead of watching it
The transcript comes back word for word with no credentials configured at all.
Finding videos on a topic within a date range
Filter by publication window, duration and region rather than scrolling results.
Sizing up a channel before working with it
Look it up by @handle, read the subscriber and video counts, then see what it has posted recently.
Finding out what an audience is saying
Pull the comment threads, filter them by keyword, and open the replies that matter.
Seeing what is trending in a specific market
Take the category IDs for that region first, then request the popular videos in one of them.
Working through a playlist in order
List its items with positions, then pull each transcript in sequence.
19 tools
Listed in project docs. Your client may show a different list.
search_contentget_video_metadataget_channel_metadatalist_trending_videoslist_playlistslist_playlist_itemslist_video_commentslist_comment_replieslist_video_captionslist_video_categorieslist_channel_activitieslist_channel_sectionslist_supported_languageslist_supported_regionslist_subscriptionslist_channel_memberslist_membership_levelsrevoke_oauth_tokenBEFORE YOU INSTALL
What to know first
Tools you get
19 tools named in the project's documentation.
Requires
npx on PATH
Where it runs
All 3 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @mrsknetwork/ytmcp@latestMCP Clients
Any MCP client — Guest
{
"mcpServers": {
"youtube-mcp": {
"command": "npx",
"args": [
"-y",
"@mrsknetwork/ytmcp@latest"
]
}
}
}Guest mode, no credentials: only get_video_transcript works (it uses yt-dlp). The other 18 tools need the API key or OAuth setup in the next tabs.
Any MCP client — API Key
With a Google API key (recommended): enable YouTube Data API v3 in the Google Cloud Console, create an API key under Credentials, and pass it in env. This unlocks search, metadata, comments, trending and the other public-data tools.
{
"mcpServers": {
"youtube-mcp": {
"command": "npx",
"args": [
"-y",
"@mrsknetwork/ytmcp@latest"
],
"env": {
"GOOGLE_API_KEY": "<YOUR_GOOGLE_API_KEY>"
}
}
}
}Any MCP client — OAuth
With OAuth, for your own subscriptions, channel members and membership tiers: create an OAuth 2.0 Client ID (Web application) with the redirect URI http://localhost:31415/oauth2callback, and add your Gmail address under OAuth Consent Screen > Test Users.
{
"mcpServers": {
"youtube-mcp": {
"command": "npx",
"args": [
"-y",
"@mrsknetwork/ytmcp@latest"
],
"env": {
"GOOGLE_CLIENT_ID": "<YOUR_CLIENT_ID>.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "<YOUR_GOOGLE_CLIENT_SECRET>"
}
}
}
}On the first tool call the AI shares a login link; authorize in the browser and the session is saved. Ask it to call revoke_oauth_token to sign out.