YouTube MCP
Provides tools for searching YouTube videos and channels, retrieving video transcripts with timestamps, and listing videos from specific channels.
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 Summarize the transcript for https://www.youtube.com/watch?v=dQw4w9WgXcQ"
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.
@inlustris/youtube-mcp
Ground your AI agents in YouTube's best content — no API keys, zero config.
YouTube is the world's largest library of expert knowledge — tutorials, talks, reviews, deep dives. But AI agents can't watch videos.
This MCP server bridges that gap. It gives your agent access to YouTube transcripts, search, channel data, and video screenshots through simple tools. No Google API keys. No OAuth. No setup.
Built with FastMCP and youtubei.js.
Why YouTube for AI grounding?
Web search is noisy. YouTube content is ranked, reviewed, and curated — videos with high view counts, reputable creators, and timestamped transcripts that make it ideal for LLM context. Instead of scraping forums or blogs, your agent can pull the exact transcript from a relevant video, search across channels, or capture a screenshot of a specific moment.
This isn't another "AI skill" you have to maintain. It's a single npm package that works immediately.
Related MCP server: youtube-mcp
What you get
Tool | Purpose |
| Video transcript with timestamps, or plain text via |
| Screenshot at any timestamp. Full quality when yt-dlp is available; falls back gracefully. |
| Search YouTube with sort by relevance, date, rating, view count. |
| Find channels by query. |
| List every video from a channel. |
Install
npm install -g @inlustris/youtube-mcpAdd to any MCP client:
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@inlustris/youtube-mcp@latest"]
}
}
}Works with Claude Desktop, Cursor, opencode, VS Code Copilot, and any MCP-compatible agent.
Full-quality screenshots (optional)
get_video_frame works out of the box using YouTube storyboards (320×180). For full-resolution captures (720p, 1080p, 4K), install the system tools:
brew install yt-dlp ffmpegThe tool detects yt-dlp automatically and upgrades itself — no config changes needed.
SponsorBlock
Pass skipSponsor: true to get_transcript. It fetches sponsor timestamps from the SponsorBlock API (no auth, free) and removes sponsored content from the transcript. Great for getting clean, ad-free video context.
Use cases
Research agents: Pull transcripts from expert talks, conference presentations, or technical deep-dives instead of skimming blog posts.
Content analysis: Search for relevant YouTube content by topic, then extract transcripts at scale.
Visual grounding: Capture screenshots at key moments alongside transcripts for multimodal understanding.
Learning tools: Let users ask questions about specific video timestamps and get grounded answers.
Development
npm install
npm run dev # hot-reload
npm test # 31 tests
npm run build # production bundlesrc/
├── index.ts
├── server/server.ts
├── core/
│ ├── tools.ts
│ ├── resources.ts
│ └── services/
│ ├── youtube-service.ts
│ ├── sponsorblock-service.ts
│ └── screenshot-service.ts
└── __tests__/License
MIT
Available Tools
5 toolsget_channel_videosA
Retrieves a list of videos from a specified YouTube channel. This tool is useful for getting all videos uploaded by a specific channel.
Inputs: channelId (required), maxResults.
get_transcriptB
Retrieves the full transcript of a specified YouTube video. This tool is useful for understanding video content without watching it, or for extracting textual information from videos. FORMATTING GUIDANCE (optional - user instructions override): When creating summaries, consider using: Key Points with Timestamps: Use [MM:SS] or [HH:MM:SS] inline references. Structure: Break into logical sections. Context: Include video title and channel. Example: 'The speaker explains TypeScript generics [05:30] and shows practical examples [08:15].' This formatting is optional - always follow any specific user instructions instead.
Inputs: videoUrl (required), chunkSize, plainText, skipSponsor, +2 more.
get_video_frameA
Captures a screenshot from a YouTube video at a specified timestamp. Requires yt-dlp for full-quality captures; falls back to lower-resolution YouTube storyboards (320x180 max) if yt-dlp is not installed.
Inputs: videoUrl (required), timestamp (required), quality.
search_channelsC
Searches YouTube for channels matching the specified query. You can specify a sort order for the results (default: rating).
Inputs: query (required), sortBy.
search_videosA
Searches YouTube for videos matching the specified query. Returns a list of video results with title, video ID, and channel information. Results are sorted by rating by default for better quality content.
Inputs: query (required), sortBy.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct resource and action: channel videos, video transcript, video frame, channel search, and video search. No overlap in purpose.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_transcript, search_channels). No mixing of styles.
Five tools is appropriate for a YouTube MCP server, covering core content retrieval and search without being excessive or insufficient.
The set covers content extraction well (videos, transcripts, frames, search) but lacks metadata operations like get_video_info or channel details, which are minor gaps.
Maintenance
Related MCP Connectors
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
Real-time YouTube transcripts, comments, channels & video search MCP. Local npx or hosted OAuth.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.-
- AlicenseAqualityDmaintenanceAn MCP server that enables the extraction of transcripts and detailed metadata from YouTube videos. It allows users to retrieve video information like titles and descriptions, as well as transcripts with optional timestamps and language selection.214 PyPIMIT
- AlicenseBqualityDmaintenanceAn MCP server designed to fetch transcripts for YouTube videos. It enables AI tools to access video text content for tasks like summarization, analysis, and key takeaway extraction.174MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables searching YouTube and retrieving high-accuracy video transcripts using local Whisper AI transcription without requiring an API key. It supports single or batch processing and provides transcripts in multiple formats including text, JSON, and SRT.35 PyPI3Apache 2.0