YouTube MCP Server
Enables searching for videos, retrieving full transcripts with timestamps, browsing channel information, and performing searches across a creator's entire video library.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YouTube MCP Server Find what @AlexHormozi said about lead magnets and provide timestamps."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YouTube MCP Server
A zero-config MCP server for YouTube. Search videos, get transcripts, browse channels, and search across a creator's entire content. No API keys needed.
Quick Start
uvx yt-mcp-serverOr install with pip:
pip install yt-mcp-serverRelated MCP server: YouTube MCP
Setup
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"youtube": {
"command": "uvx",
"args": ["--from", "yt-mcp-server", "youtube-mcp-server"]
}
}
}Claude Code
claude mcp add youtube -- uvx yt-mcp-serverCursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"youtube": {
"command": "uvx",
"args": ["--from", "yt-mcp-server", "youtube-mcp-server"]
}
}
}Tools
Tool | Description |
| Search across ALL videos of a channel — find what any creator said about any topic |
| Search within a single video's transcript |
| Get full transcript with timestamps |
| Search YouTube for videos |
| Get video details — title, description, stats, chapters |
| Get channel info — subscribers, description, video count |
| List videos from a channel, sorted by date or popularity |
| Get video comments sorted by relevance |
Example Prompts
"Find me the best videos on how to scale a B2B SaaS from 0 to $1M ARR"
→ search_videos
"Show me everything @AlexHormozi posted this month"
→ get_channel_videos
"Summarize this interview with Sam Altman: https://youtube.com/watch?v=..."
→ get_transcript
"What exactly did @AlexHormozi say about making offers? Give me the timestamps"
→ search_channel_transcripts — searches all videos, returns exact passages with links
"Compare how @ycombinator and @AlexHormozi think about product-market fit"
→ search_channel_transcripts on both channelsHTTP Transport
Run as a standalone HTTP server:
yt-mcp-server --transport streamable-http --port 8000Requirements
Python 3.10+
yt-dlp (installed automatically)
No API keys or authentication required
Note
Transcript features (get_transcript, search_transcript, search_channel_transcripts) use YouTube's internal API, which may rate-limit after many requests in a short period. Normal usage (a few queries per session) works fine.
Acknowledgments
Built with the assistance of Claude by Anthropic.
License
MIT
Available Tools
8 toolsget_channel_infoB
Get information about a YouTube channel.
Args: channel: Channel URL or @handle (e.g. "@mkbhd" or "https://youtube.com/@mkbhd")
Inputs: channel (required). Returns: result
get_channel_videosB
Get videos from a YouTube channel.
Args: channel: Channel URL or @handle (e.g. "@mkbhd") limit: Maximum number of videos (default 20, max 100) sort: Sort order — "date" (newest first) or "popular" (most viewed)
Inputs: channel (required), limit, sort. Returns: result
get_commentsB
Get comments from a YouTube video.
Args: video_url: YouTube video URL limit: Maximum number of comments (default 20, max 100)
Inputs: video_url (required), limit. Returns: result
get_transcriptA
Get the full transcript of a YouTube video with timestamps.
Args: video_url: YouTube video URL language: Preferred language code (default "en", tries auto-generated fallback)
Inputs: video_url (required), language. Returns: result
get_video_infoB
Get detailed information about a YouTube video including title, description, stats, tags, and chapters.
Args: video_url: YouTube video URL (e.g. "https://youtube.com/watch?v=xxx")
Inputs: video_url (required). Returns: result
search_channel_transcriptsA
Search for specific content across all videos of a YouTube channel. This is the power feature: find what a creator said about any topic.
Args: channel: Channel URL or @handle (e.g. "@hormozi") query: Text to search for across all transcripts language: Preferred language code (default "en") max_videos: Maximum number of recent videos to search (default 10, max 50)
Inputs: channel (required), query (required), language, max_videos. Returns: result
search_transcriptB
Search for specific content within a video's transcript. Returns matching passages with timestamps and direct links.
Args: video_url: YouTube video URL query: Text to search for in the transcript language: Preferred language code (default "en")
Inputs: video_url (required), query (required), language. Returns: result
search_videosB
Search YouTube for videos.
Args: query: Search query (e.g. "how to price a SaaS") limit: Maximum number of results (default 10, max 30)
Inputs: query (required), limit. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: get_channel_info, get_channel_videos, get_comments, get_transcript, get_video_info, search_channel_transcripts, search_transcript, and search_videos. There is no overlap in functionality—tools target specific resources (channel, video, comments, transcripts) and actions (get, search), making misselection unlikely.
All tools follow a consistent verb_noun pattern using snake_case: get_channel_info, get_channel_videos, get_comments, get_transcript, get_video_info, search_channel_transcripts, search_transcript, search_videos. The naming is predictable and readable throughout.
With 8 tools, the count is well-scoped for a YouTube server, covering core functionalities like retrieving channel/video info, comments, transcripts, and searching. Each tool earns its place without being overwhelming or insufficient.
The toolset covers key YouTube operations: retrieving info (channel, video, comments, transcripts) and searching (videos, transcripts, channel transcripts). Minor gaps include no update/delete actions (e.g., posting comments or managing playlists), but these are less critical for a read/search-focused server, and agents can work around this.
Maintenance
Related MCP Connectors
YouTube search, whole channels, video stats, comments and full transcripts with timestamps.
Read YouTube transcripts and search what people say across 425k videos. Free API key.
YouTube transcripts, video search, chapters and extractive summaries. No YouTube API key, no LLM.
YouTube transcripts, search, and channel and playlist listings for any AI app. Hosted.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables searching YouTube videos, retrieving and storing transcripts, and performing semantic search over video content without using the official YouTube API.45MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables users to retrieve YouTube transcripts and perform video or channel searches without requiring Google API keys. It supports transcript chunking and provides tools for detailed video content analysis and channel metadata extraction.548 npm4MIT
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server that provides YouTube data access without API keys or quotas. It enables agents to search videos, retrieve transcripts and metadata, and perform full-text search across cached content for AI context retrieval.3 npm-
- AlicenseAqualityBmaintenanceEnables AI agents to search YouTube like a database, retrieve transcripts and channel data, and mine videos for claims, numbers, and demand signals — without needing an API key.650 npmMIT