TubePilot
Provides tools for fetching video info, transcripts, frames, summaries, searching, channel analysis, playlist insights, comment sentiment analysis, and comparison of videos and channels via the YouTube Data API.
Provides specialized analysis for YouTube Shorts, including extracting frames and analyzing short-form video content.
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., "@TubePilot what is this video about? https://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.
TubePilot
Your AI Co-Pilot for YouTube
TubePilot is an MCP server that lets AI assistants fetch and analyze YouTube data. Get video info, extract transcripts, analyze channels, compare videos, and more.
Installation
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"tubepilot": {
"command": "npx",
"args": ["-y", "tubepilot"]
}
}
}Other MCP Clients
npx tubepilotOr add to any MCP-compatible client config with the command npx and args ["-y", "tubepilot"].
No API key required for basic video info and transcripts!
Related MCP server: youtube-mcp
What You Can Do
Video Analysis (No API Key)
Get info about any video:
"What is this video about? https://youtube.com/watch?v=dQw4w9WgXcQ"Summarize or get an outline:
"Summarize this video for me" | "Give me an outline of this lecture"Find specific moments:
"When do they talk about pricing?" | "Find where they mention React"Analyze what happens at a timestamp:
"What happens at 1:05?" → Gets transcript + visual frame together for full contextDeveloper-focused analysis:
"Extract all code snippets and commands from this tutorial"
"What tech stack is used in this video?"Comparison & Analytics (Requires API Key)
Compare multiple videos:
"Compare these 3 videos - which performed best and why?"
→ Side-by-side: views, likes, engagement rate, commentsCompare YouTube channels:
"Compare @mkbhd vs @LinusTechTips - subscriber counts, posting frequency, engagement"Analyze a channel:
"Analyze @veritasium - posting patterns, avg views, top videos"Playlist insights:
"Summarize this course playlist - total duration, topics covered, key videos"Comment sentiment:
"What's the sentiment in the comments? Are people happy with this video?"Tools
Free Tools (No API Key) - 27 Tools
Tool | Description |
| Check server health, API status, cache stats |
| Get video title, description, channel, duration, keywords |
| Extract full video transcript (requires captions enabled) |
| Find specific words/moments by timestamp |
| Get visual frames/screenshots at regular intervals |
| Get a video frame at a specific timestamp |
| List all available caption/subtitle languages |
| Generate shareable timestamped URLs |
| Power tool: Get transcript + visual frame at a timestamp together |
| Find when a topic is discussed, with clickable timestamps |
Developer Tools | |
| Find CLI commands, code patterns, file paths in tutorials |
| Auto-extract step-by-step instructions from tutorials |
| Detect technologies, frameworks, libraries mentioned |
| Convert video transcript to structured markdown notes |
| Extract GitHub repos, npm packages, code resource links |
Content Analysis | |
| Generate key points and structured summary |
| Q&A - find relevant segments to answer questions |
| Find URLs, @mentions, products, books referenced |
| Auto-detect topic structure and create outline |
Enhanced/Combo Tools | |
| POWER TOOL: Complete analysis (info + transcript + chapters + frame) |
| Visual timeline with frames at intervals |
| Compare same timestamp across 2-5 videos |
| Combine transcripts from multiple videos |
| Specialized YouTube Shorts analysis |
| Detect if video is a music video, parse artist/song |
| Get high-res thumbnail URLs (up to 1280x720) |
| Extract chapters from description (no API) |
Extended Tools (Requires API Key) - 22 Tools
Tool | Description |
Search & Discovery | |
| Search YouTube for videos, channels, playlists |
| Find similar videos |
| Find videos with a specific hashtag |
| Trending videos by region/category |
| List YouTube categories |
Video Analysis | |
| Full stats: views, likes, comments, tags |
| Extract chapter markers from description |
| Get current stats with performance metrics |
| Check if video is live, upcoming, or regular |
| Get metadata for up to 50 videos in one call |
| Side-by-side stats comparison (2-10 videos) |
Channel Analysis | |
| Channel subscribers, video count, description |
| List videos from a channel |
| Get YouTube Shorts from a channel |
| Deep analytics: posting frequency, avg views, top content |
| Compare stats of 2-5 channels side by side |
Playlists | |
| Get playlist contents |
| Export playlist to JSON format |
| Full analysis: duration, topics, key videos |
Comments | |
| Fetch top/recent comments |
| Get replies to a specific comment |
| Analyze positive/negative comment sentiment |
Limitations
TubePilot is a data reader, not a downloader or uploader:
Cannot Do | Can Do |
❌ Download full videos/audio files | ✅ Extract storyboard frames (screenshots) |
❌ Upload, like, comment, subscribe | ✅ Read public comments and stats |
❌ Access private videos | ✅ Access unlisted videos (with URL) |
❌ Get transcripts without captions | ✅ List available caption languages first |
❌ Access creator revenue data | ✅ Get public view/like/comment counts |
❌ Bypass age restrictions | ✅ Get thumbnails at all quality levels |
Optional: Enable All Features
For search, detailed stats, and analytics, add a YouTube API key:
{
"mcpServers": {
"tubepilot": {
"command": "npx",
"args": ["-y", "tubepilot"],
"env": {
"YOUTUBE_API_KEY": "your_api_key"
}
}
}
}Get a free API key:
Go to Google Cloud Console
Create a project
Enable "YouTube Data API v3"
Create credentials → API Key
Development
npm install # Install dependencies
npm run dev # Run in development
npm run build # Build for production
npm test # Run tests (113 tests)
npm run format # Format codeDocumentation
Tool Reference - Detailed documentation for all 49 tools
Usage Examples - Real-world workflows and examples
Troubleshooting - Common issues and solutions
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT
Available Tools
27 toolsanalyze_shortARead-only
SHORTS-SPECIFIC TOOL: Specialized analysis for YouTube Shorts (<60 sec). Extracts hook timing, CTA patterns, words-per-second, hashtags, + visual frame. Use this instead of deep_analyze_video for Shorts. COMBINE WITH: get_shorts (API) to find Shorts from a channel first.
Inputs: videoId (required).
answer_from_videoARead-only
Search a video transcript to answer a specific question. Finds relevant segments and returns context. Use when user asks "does the video mention X?" COMBINE WITH: get_video_moment to see the visual at that timestamp, create_clip_url to share the exact moment.
Inputs: videoId (required), question (required), language.
compare_momentsARead-only
MULTI-VIDEO TOOL: Compare the same timestamp across 2-5 videos. See what different creators show/say at the same moment. Returns transcript + visual frames side by side. Great for comparing tutorials, reactions, or coverage of same event.
Inputs: videoIds (required), timestamp.
convert_to_notesARead-only
POWER TOOL: Convert a video transcript into structured markdown notes. Extracts key points, code snippets, and creates a developer-friendly summary. This combines transcript analysis + code extraction + structure detection. Use this for comprehensive tutorial documentation.
Inputs: videoId (required), language, includeTimestamps.
create_clip_urlARead-only
Generate a shareable YouTube URL that starts at a specific timestamp. Perfect for sharing specific moments in videos.
Inputs: videoId (required), startTime (required), endTime.
deep_analyze_videoARead-only
POWER TOOL: Complete video analysis in ONE call. Combines: get_video_info + get_transcript + get_video_chapters_free + extract_links_mentions + visual frame. Returns metadata, transcript stats, chapters, links, and a mid-video frame. USE THIS FIRST for thorough analysis - then use specific tools for deep dives.
Inputs: videoId (required), language.
detect_musicARead-only
Detect if a video is a music video and parse artist/song info. Use this BEFORE get_transcript - music videos often have lyrics as captions. Returns confidence score, artist, song title, and music type (official video, lyric video, live, cover, etc.).
Inputs: videoId (required).
extract_code_snippetsARead-only
Extract code snippets, CLI commands, and programming content from a video transcript. Perfect for developer tutorials. Detects: npm/yarn/pip commands, git commands, code patterns, file paths, URLs. COMBINE WITH: find_tech_stack for technologies used, find_github_links for repos, get_tutorial_steps for instructions. For complete dev notes, use convert_to_notes.
Inputs: videoId (required), language.
extract_links_mentionsARead-only
Extract all URLs, product mentions, brand names, and resources referenced in a video. Searches description and transcript for links, @mentions, product names, books, courses, and tools mentioned.
Inputs: videoId (required), language.
find_github_linksARead-only
Extract GitHub repositories, gists, and code resource links mentioned in a video. Searches both transcript and video description. Returns clickable links to repos, code samples, and resources.
Inputs: videoId (required).
find_moment_by_topicARead-only
Find when a specific topic is discussed in a video. Searches transcript and returns timestamps with context. Use when user asks "when do they talk about X?" Returns multiple matches with surrounding text.
Inputs: videoId (required), topic (required), maxResults.
find_tech_stackARead-only
Find technologies, frameworks, libraries, and tools mentioned in a video. Detects programming languages, frameworks (React, Vue, Django, etc.), databases, cloud services, and dev tools. Great for tech talks and tutorials.
Inputs: videoId (required), language.
get_frame_at_timeARead-only
Get a video frame/screenshot at a specific timestamp. Use this when user asks "what happens at 1:02?" Returns an image URL that Claude can analyze with vision.
Inputs: videoId (required), timestamp (required).
get_hd_thumbnailARead-only
Get high-resolution thumbnail URLs for a video. Returns maxres (1280x720), sd (640x480), hq (480x360), and other quality options. Better than storyboard frames.
Inputs: videoId (required), quality.
get_transcriptARead-only
Extract the full transcript/captions from a YouTube video. Use this to understand video content, summarize videos, or answer questions about what was said. COMBINE WITH: get_video_frames for visual context, search_in_transcript to find specific moments, or get_video_info for metadata. TIP: Use list_caption_languages first to check available languages. Note: Only works for videos with captions enabled.
Inputs: videoId (required), language, withTimestamps.
get_tutorial_stepsARead-only
Extract step-by-step instructions from a tutorial video. Identifies numbered steps, "first/then/next" patterns, and instructional segments. COMBINE WITH: extract_code_snippets for code commands, find_github_links for source code, get_video_frames to see what they're doing visually.
Inputs: videoId (required), language.
get_video_chapters_freeARead-only
Extract chapters from video description without API key. Parses timestamp markers (0:00, 1:30, etc.) and their titles. Free alternative to get_video_chapters.
Inputs: videoId (required).
get_video_framesARead-only
Get visual frames/screenshots from a video at regular intervals. Use this to understand video content visually, especially for videos without captions (gameplay, music, documentaries). COMBINE WITH: get_transcript for text+visual analysis. For a specific timestamp, use get_video_moment instead (gets frame + transcript together). For a full timeline view, use video_timeline.
Inputs: videoId (required), count.
get_video_infoARead-only
Get basic information about a YouTube video: title, description, channel, duration, and keywords. Works without API key. START HERE for any video analysis - then use get_transcript for content or get_video_frames for visuals. For complete analysis in one call, use deep_analyze_video instead.
Inputs: videoId (required).
get_video_momentARead-only
COMBO TOOL: Get what's happening at a specific moment in a video. Returns BOTH the transcript text AND a visual frame together. Use this when user asks "what happens at 1:05?" For comparing same moment across videos, use compare_moments. For full video overview, use video_timeline.
Inputs: videoId (required), timestamp (required).
get_video_outlineARead-only
Auto-detect topic structure and create an outline of a video. Identifies main sections, topic transitions, and creates a hierarchical structure with timestamps. Great for long videos and lectures.
Inputs: videoId (required), language.
get_video_summaryARead-only
Generate a structured summary of a video with key points, timestamps, and main takeaways. COMBINE WITH: get_video_outline for structure, answer_from_video for specific questions, video_timeline for visual overview. For complete analysis, use deep_analyze_video instead.
Inputs: videoId (required), language, style.
health_checkARead-only
Check TubePilot server health and status. Returns API key status, cache stats, and available features. Use this for debugging connectivity issues.
Inputs: no named parameters.
list_caption_languagesARead-only
List all available caption/subtitle languages for a video. USE THIS FIRST before get_transcript to check language availability. Shows auto-generated vs manual captions (manual = better quality). Essential for non-English videos.
Inputs: videoId (required).
merge_transcriptsARead-only
MULTI-VIDEO TOOL: Merge transcripts from 2-10 videos into one document. Perfect for course playlists, tutorial series, or comparing coverage of same topic. COMBINE WITH: compare_moments to see same timestamp across videos, get_playlist (API) to get video IDs from a playlist first.
Inputs: videoIds (required), language, includeSeparators.
search_in_transcriptARead-only
Search for specific words or phrases within a video transcript. Returns matching segments with timestamps.
Inputs: videoId (required), query (required), language.
video_timelineARead-only
VISUAL OVERVIEW TOOL: Generate a timeline with frames + transcript at regular intervals. Perfect for long videos, lectures, documentaries. Returns multiple images with text context. Use instead of calling get_video_frames + get_transcript separately.
Inputs: videoId (required), intervals.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 27 tools
The tools have clearly distinct purposes, with detailed descriptions that guide when to use each. Combination tools like deep_analyze_video and video_timeline reduce overlap, and specialized tools like analyze_short and extract_code_snippets target specific use cases. No two tools appear to do the same thing.
All tools use snake_case and follow a verb_noun pattern (e.g., get_video_info, extract_code_snippets, detect_music). Even 'health_check' and 'video_timeline' are consistent with the pattern. No mixing of conventions or chaotic naming.
At 27 tools, the count is on the higher side but the broad scope of YouTube video analysis justifies it. The tools are well-organized, and combination tools help reduce the need for many separate calls. Slightly over but still reasonable.
The toolset covers nearly all aspects of video analysis: metadata, transcripts, frames, moments, summaries, outlines, code/tech extraction, links, tutorials, shorts, and health checks. Missing features like playlist management are minor and the core analysis surface is very complete.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
YouTube for AI agents: transcripts, comments, video stats, channel monitor, Shorts captions.
YouTube research for AI assistants: channel and video stats, transcripts and comments, outlier videos that beat their channel's average, viral title formats, keyword ideas, similar thumbnails and channels, YouTube rankings and competitor tracking.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to search, retrieve, and analyze YouTube videos, channels, playlists, and transcripts via the YouTube Data API, with automatic API key failover.530 npmMIT
- AlicenseAqualityDmaintenanceEnables AI tools to access YouTube content, including transcript extraction, video/channel info, and search.423 npmMIT
- FlicenseAqualityDmaintenanceEnables AI assistants to analyze YouTube channels, videos, transcripts, and content strategy through structured tool calls.1718 npm-
- AlicenseBqualityCmaintenanceProvides comprehensive access to YouTube Data, Analytics, and Reporting APIs, enabling AI assistants to manage videos, analyze performance, handle comments, and extract transcripts.40MIT