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 "Install 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., "@TubePilotwhat 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 Server
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube Short video ID or URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds behavioral context by specifying the analysis extracts hook timing, CTA patterns, etc., and notes the video must be a Short. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a bullet point. Front-loaded with 'SHORTS-SPECIFIC TOOL'. Every sentence adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool, the description provides purpose, usage, and output details. Lacks explicit mention of return format but the listed extraction items give sufficient context. Could be improved with a brief note on response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter videoId. Description adds value by clarifying that the video ID must be for a Short, which is not explicit in the schema description. However, it doesn't elaborate on format or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it's for YouTube Shorts (<60 sec) and lists specific analysis outputs (hook timing, CTA patterns, words-per-second, hashtags, visual frame). Differentiates from sibling deep_analyze_video by instructing to use this instead for Shorts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this instead of deep_analyze_video for Shorts' and provides a complementary tool (get_shorts) for discovery. Provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| question | Yes | The question to answer from the video content | |
| language | No | Transcript language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds behavioral transparency by stating the tool finds relevant segments and returns context, which is beyond what annotations provide. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a COMBINE line, all front-loaded with essential info. Every sentence adds value: purpose, usage, and combination tips. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could clarify what 'context' includes (e.g., timestamps, text snippets). It effectively covers purpose, usage, and combinations, but lacks output format details and potential limitations (e.g., language support). Still fairly complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description does not add extra parameter details beyond schema context (e.g., videoId is a video, question is the query). Baseline 3 is appropriate since schema already explains parameters sufficiently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches a video transcript to answer a question and returns context. It distinguishes from siblings like get_transcript (full transcript) and search_in_transcript (search only), and uses specific verb 'search' and resource 'video transcript'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use when user asks does the video mention X?' and provides combination advice with get_video_moment and create_clip_url for context. This gives clear guidance on when and how to use alongside alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoIds | Yes | Array of video IDs or URLs (2-5 videos) | |
| timestamp | No | Timestamp to compare (e.g., "1:30") | 0:30 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it returns 'transcript + visual frames side by side', adding detail beyond annotations that declare readOnlyHint=true. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each essential. Front-loaded with 'MULTI-VIDEO TOOL' label, and no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes what the tool does and output type, but lacks details on limits (e.g., video duration) or frame resolution. Adequate for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions; tool description reiterates '2-5 videos' but adds no new meaning beyond schema. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Compare the same timestamp across 2-5 videos' with specific verb and resource, and distinguishes from sibling tools like 'get_video_moment' which handles single videos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context with 'Great for comparing tutorials, reactions, or coverage of same event' but does not explicitly state when not to use or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
| includeTimestamps | No | Include timestamp links |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds behavioral context by explaining it combines transcript analysis, code extraction, and structure detection, without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly worded sentences: first states purpose, second lists outputs, third describes composition and usage. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a tool with full schema coverage and clear annotations. It hints at output (markdown notes) but doesn't detail format; still sufficient for selecting and using the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents parameters. The description adds no further parameter-specific details beyond overall tool behavior, meeting baseline expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts a video transcript into structured markdown notes, highlighting key points and code snippets. It distinguishes itself from siblings by positioning as a comprehensive power tool for tutorial documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this for comprehensive tutorial documentation' and implies composition of multiple operations, but does not explicitly state when not to use or mention simpler alternatives like get_transcript.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_clip_urlARead-only
Generate a shareable YouTube URL that starts at a specific timestamp. Perfect for sharing specific moments in videos.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| startTime | Yes | Start timestamp like "1:02" or "1:30:45" or seconds "62" | |
| endTime | No | Optional end timestamp for clip range |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, implying safety. The description 'Generate a shareable YouTube URL' aligns with this by indicating a non-destructive, read-like operation. It does not add significant behavioral detail beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, no wasted words. It is front-loaded with the core action in the first sentence and the use case in the second.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, three parameters with full schema coverage, and annotations present, the description adequately covers purpose and use case. It does not explain the return format (a URL string), but this is obvious from the tool name and description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having clear descriptions. The tool description does not add extra information about parameters beyond what the schema provides, so it meets the baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Generate' and the resource 'shareable YouTube URL that starts at a specific timestamp'. It differentiates from all sibling tools, which are about analysis, extraction, or retrieval, not URL generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use it ('Perfect for sharing specific moments in videos'), providing clear context. However, it does not mention when not to use or suggest alternative tools, which would be beneficial given the large set of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false. Description adds context about it being a power tool combining multiple analyses and returning metadata, transcript, chapters, links, and a frame. Does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Front-loaded with 'POWER TOOL' and purpose. Lists components efficiently. Perfectly sized for a combined tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description clearly states what the tool returns (metadata, transcript stats, chapters, links, mid-video frame). Usage guidance and behavioral context are sufficient for an AI agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema for parameters; it only lists combined tools implicitly requiring videoId and language. No added detail on parameter formatting or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it performs complete video analysis in one call, lists combined sub-tools, and explicitly tells agents to use this first for thorough analysis before specific tools. Differentiates from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this tool first for thorough analysis, then use specific tools for deep dives. Provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.).
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, destructiveHint, openWorldHint) are non-contradictory. The description adds value by listing return fields (confidence score, artist, song title, music type), supplementing structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words. Every statement earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description lists returned fields, making output understandable. Provides usage context relative to siblings. Sufficient for agent to invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers videoId with description 'YouTube video ID or URL' (100% coverage). Description does not add further parameter details but meets baseline for well-documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool detects music videos and parses artist/song info, using specific verbs 'detect' and 'parse'. It distinguishes from siblings by advising use before 'get_transcript' due to lyric captions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('before get_transcript') and why (music videos have lyrics as captions). Provides clear context for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds value beyond annotations by specifying that it extracts from a transcript and listing detectable content types. Annotations already indicate readOnlyHint and destructiveHint, so the description complements well. However, it could mention prerequisites like transcript availability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise two-sentence description plus a bulleted list of detectable items and combination suggestions. Front-loaded with main purpose. Slightly more structured formatting could improve scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two parameters fully covered by schema, no output schema, and no nested objects, the description adequately explains the tool's function and suggests complementary tools. It could clarify output format, but overall sufficient for an extraction tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, so the description doesn't need to add much. It does not elaborate on videoId or language beyond what schema provides, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it extracts code snippets, CLI commands, and programming content from video transcripts, specifically for developer tutorials. It lists detectable content types, distinguishing it from siblings like extract_links_mentions and find_github_links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly suggests combining with find_tech_stack, find_github_links, get_tutorial_steps, and for complete dev notes use convert_to_notes. Provides clear guidance on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, but the description adds context about searching through description and transcript, and the types of entities extracted, which goes beyond the minimal annotation information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary purpose, no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is sufficiently complete. It explains what the tool does and what data it uses, though it could mention the output format for added clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal meaning beyond the schema (e.g., that it searches description and transcript), but does not provide additional detail on parameter format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'extract' and the resource 'video', and lists specific items (URLs, product mentions, brand names, resources). It distinguishes from sibling tools like 'extract_code_snippets' and 'find_github_links' by being more general.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (extract links from video) but does not explicitly state when to use this tool versus alternatives, nor does it provide boundaries or when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's additional detail about returning 'clickable links' and searching transcript/description adds value. It does not contradict annotations and discloses the scope of search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter, no output schema, and clear annotations, the description sufficiently covers purpose, scope, and return type. Could mention handling of different GitHub link formats, but it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (one parameter 'videoId' with a clear description). Description does not add extra meaning beyond the schema, meeting baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('extract') and resource ('GitHub repositories, gists, and code resource links'). It distinguishes from sibling tools like 'extract_links_mentions' (general links) and 'extract_code_snippets' (code samples not necessarily links).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description specifies the context: 'Searches both transcript and video description.' It implies when to use (when needing GitHub links from a video) but does not explicitly mention when not to use or alternatives, which keeps it clear but not fully elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| topic | Yes | Topic or phrase to search for | |
| maxResults | No | Max matches to return (1-20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds value by stating the tool 'searches transcript' and 'returns timestamps with context', aligning with safe, read-only behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: first states purpose, second gives usage context, third describes output. No redundancy, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given full schema coverage and no output schema, the description adequately describes the output as 'timestamps with context' and 'surrounding text'. However, it does not specify the format of timestamps (e.g., seconds) or what 'context' includes, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the schema already documents their meaning. The description adds no additional parameter-level detail beyond the schema; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and resource ('moment by topic'), explains the method ('searches transcript'), and describes the output ('timestamps with context', 'multiple matches with surrounding text'). It also provides a usage example ('when do they talk about X?'). This clearly distinguishes it from sibling tools like 'search_in_transcript' or 'get_video_moment'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit context for use: 'Use when user asks "when do they talk about X?"'. While it does not explicitly state when not to use or list alternatives, the clear usage cue is sufficient for most scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint (true) and destructiveHint (false), so the description is not required to restate safety. The description adds value by specifying the scope of detection (programming languages, frameworks, databases, etc.) and the context (tech talks/tutorials), which are not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the purpose, and contains no superfluous information. Every word contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool finds and typical use cases. However, it does not describe the return format or any limitations (e.g., language support, accuracy). With no output schema, a brief note on output would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (videoId and language). The tool description does not add further parameter-level meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and identifies the resource ('technologies, frameworks, libraries, and tools mentioned in a video'). It distinguishes from sibling tools like extract_code_snippets (which extracts code) and find_github_links (which finds URLs) by focusing on tech stack detection from any mention in the video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for tech talks and tutorials but does not explicitly state when to use this tool versus alternatives like extract_code_snippets or search_in_transcript. No 'when not to use' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| timestamp | Yes | Timestamp like "1:02" or "1:30:45" or seconds "62" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as readOnly (safe) and not destructive. The description adds that it returns an image URL suitable for vision analysis by Claude, which is useful behavioral context beyond annotations. No contradictions. It does not detail potential errors (e.g., invalid timestamp) but given readOnly annotations, the core transparency is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two succinct sentences: the first states the core purpose, the second gives a usage example and return value. No extraneous words; critical information is front-loaded. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no output schema), the description covers purpose, usage, and return type. Annotations cover safety. It could mention that the video must exist or that the timestamp should be within video duration (implicit in schema), but overall it is fairly complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already fully described in the input schema (videoId and timestamp with formats). The description does not add any new parameter-level information (e.g., relationship between parameters or constraints). At baseline 3, the description's lack of additional parameter insight is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a video frame at a specific timestamp, using specific verb-phrase 'Get a video frame/screenshot' and resource 'at a specific timestamp'. It explicitly ties to a user query ('what happens at 1:02?'), distinguishing it from siblings like 'get_video_frames' (multiple frames) or 'get_video_moment' (a moment, not necessarily a frame).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit trigger: 'when user asks what happens at 1:02?'. This clearly indicates when to use the tool. However, it does not provide when-not-to-use guidance or mention alternatives like 'get_video_frames' or 'get_video_moment' for broader frame retrieval needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| quality | No | Thumbnail quality | maxres |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by specifying the URL formats returned (maxres, sd, hq, etc.) and that it provides multiple quality options. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action and resource. Every sentence adds value; no redundant or extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description gives a reasonable expectation of the return (URLs per quality option). Could be more precise about the structure, but sufficient for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage for both parameters. The description adds some detail (quality dimensions) but not additional meaning beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves high-resolution thumbnail URLs for a video, specifying the resource and action. Mentions quality options and comparison to storyboard frames, but does not explicitly differentiate from sibling tools like get_video_frames.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides vague guidance by claiming 'Better than storyboard frames,' implying use this over frames for thumbnails. Lacks explicit when-to-use, when-not, or alternatives beyond that one comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Language code (e.g., en, es, fr) | en |
| withTimestamps | No | Include timestamps for each segment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read operation. The description adds useful behavioral context: only works for videos with captions enabled and suggests checking available languages. However, it doesn't specify error behavior for missing captions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences with clear structure: action statement, use cases, combination suggestions, tip, and note. Every sentence adds value without redundancy. Information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain return format. It mentions 'full transcript/captions' but doesn't describe structure (plain text, segments with timestamps). Error handling (e.g., no captions) is incomplete. Sibling count is high, so missing details reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation covers 100% of parameters. The description adds value beyond schema by advising to use list_caption_languages first for language selection and implying timestamps are per-segment. This extra guidance justifies above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it extracts full transcript/captions from YouTube videos. It distinguishes from siblings by mentioning combination with other tools (get_video_frames, search_in_transcript) and suggests using list_caption_languages first. The verb 'Extract' and resource 'transcript/captions' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly says when to use: to understand video content, summarize, or answer questions. It provides context on combining with sibling tools for different needs. The note about only working with captions enabled implies limitations, but lacks explicit when-not or alternatives for non-caption cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description need not cover safety. It adds context about pattern identification but omits details on response format or edge cases (e.g., no steps found).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a structured 'COMBINE WITH' list. No redundant information, front-loaded with purpose, every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool without output schema, the description covers the basic extraction purpose and usage context. It lacks explicit mention of return format but is adequate for common use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (videoId and language). The description does not add significant meaning beyond what the schema provides, staying at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'extract' and resource 'step-by-step instructions from a tutorial video', specifying patterns like 'numbered steps, first/then/next'. This distinctly separates it from siblings like get_video_summary or get_video_outline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The COMBINE WITH section explicitly advises when to use other tools for code (extract_code_snippets), links (find_github_links), or visuals (get_video_frames). It implies this tool is for instructions, providing clear context for alternative usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool works without an API key and parses specific timestamp formats, providing useful extra context. No contradictions, but could mention limitations like missing chapters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that get straight to the point with no unnecessary words. The first sentence states the action, the second adds key differentiator and format. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description covers the core functionality and unique value. It could mention return format or behavior when no chapters found, but remains adequate for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with the parameter described as 'YouTube video ID or URL'. The description does not add additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Extract' and resource 'chapters from video description' with specific detail about parsing timestamp markers. It explicitly distinguishes itself from the sibling 'get_video_chapters' by being free, establishing clear purpose and differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description mentions it's a free alternative to get_video_chapters, implying when to use it (no API key). However, it does not provide explicit when-not guidelines or compare with other siblings like get_video_outline, but the context is sufficient for a focused tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| count | No | Number of frames to extract (1-10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by explaining the 'regular intervals' behavior and use-case context. No contradictions, but could disclose more about output format or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with 4 sentences, front-loaded with purpose, then usage guidelines, then alternatives. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains what is returned (visual frames/screenshots). It covers purpose, usage, alternatives, and combinations, which is complete for a tool with 2 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers both parameters (videoId, count) with descriptions, achieving 100% coverage. The description does not add significant new meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get visual frames/screenshots from a video at regular intervals' with a specific verb and resource. It distinguishes from siblings by mentioning alternatives like get_video_moment and video_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('understand video content visually, especially for videos without captions') and provides both alternatives (get_video_moment, video_timeline) and a combination suggestion (get_transcript for text+visual analysis).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds value by noting it 'Works without API key' and implies no side effects, though it doesn't detail rate limits or other constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences: first defines purpose, second adds key benefit (no API key) and positioning, third guides next steps. Every sentence serves a purpose with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description effectively lists the return fields (title, description, channel, duration, keywords) and provides complete context for a simple info-retrieval tool, including workflow integration with sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description for videoId (ID or URL). The tool description doesn't add additional parameter semantics beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves basic video info (title, description, channel, duration, keywords) and distinguishes itself as the starting point for video analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'START HERE' and then directs to get_transcript for content, get_video_frames for visuals, or deep_analyze_video for complete analysis, providing clear when-to-use and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| timestamp | Yes | Timestamp like "1:02" or "1:30:45" or seconds "62" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that the tool returns both transcript and visual frame, which is useful behavioral context. No contradictions. Could be slightly more detailed about return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with purpose. No wasted words. Could be slightly more structured but very clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given high schema coverage and annotations, the description adds usage guidelines and return type. It doesn't explain output format but that's acceptable. Provides sufficient context for agent selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are well-described in the schema. The description reinforces their purpose but adds no new semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a combo tool returning both transcript and frame, uses a specific verb-resource pair ('Get video moment'), and explicitly distinguishes from siblings like compare_moments and video_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when user asks...' and provides alternatives: 'For comparing same moment across videos, use compare_moments. For full video overview, use video_timeline.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context about output structure (hierarchical with timestamps) but does not disclose other behavioral traits like rate limits or auth needs. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and contains no fluff. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description provides sufficient context about the output (hierarchical structure with timestamps) and use case (long videos/lectures). Minor gaps in output format details but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description does not add additional meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool auto-detects topic structure and creates a hierarchical outline with timestamps, distinguishing it from sibling tools like get_transcript and get_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Great for long videos and lectures' but does not explicitly state when to use vs alternatives or when not to use, leaving the agent without clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| language | No | Transcript language code | en |
| style | No | Summary style | bullet-points |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and non-destructive. The description adds that it generates key points and timestamps, but does not disclose any additional behavioral traits like input limits or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first defines purpose, second gives usage guidance. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description effectively covers purpose and usage guidelines. However, it does not describe the output format beyond 'structured summary', which would be helpful given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are fully described in the input schema (videoId, language, style with enum). The description does not add any extra meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Generate') and resource ('structured summary of a video') and distinguishes from siblings like get_video_outline and answer_from_video by specifying complementary use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to combine with other tools (get_video_outline, answer_from_video, video_timeline) and provides a clear alternative (deep_analyze_video) for complete analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkARead-only
Check TubePilot server health and status. Returns API key status, cache stats, and available features. Use this for debugging connectivity issues.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, openWorldHint. Description adds operational detail (returns specific stats) and usage intent. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and results. Every sentence adds value; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health check with no params and no output schema, the description fully covers what the tool does and returns. Complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so description has no param info to add. Baseline 4 for 0-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Check TubePilot server health and status'. Specifies returned data: API key status, cache stats, available features. Uniquely differentiates from sibling tools which focus on video analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this for debugging connectivity issues', providing clear context. No when-not or alternatives but sufficient for a health check tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, but description adds value by stating it shows auto-generated vs manual captions and notes manual quality, aiding agent in selecting the right tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences, front-loaded with purpose, then usage guidance, then additional context; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description fully covers tool's functionality, usage context, and output quality indication; no gaps given simplicity and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description does not add parameter-level details; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'List all available caption/subtitle languages for a video', specifies the resource (video), and distinguishes from get_transcript by advising to use it first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises 'USE THIS FIRST before get_transcript' and provides context about auto-generated vs manual captions and necessity for non-English videos.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoIds | Yes | Array of video IDs or URLs (2-10 videos) | |
| language | No | Transcript language code | en |
| includeSeparators | No | Add video title separators |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's safe. Description adds the 2-10 video constraint and combining hints, but no other behavioral details like output format or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with key action front-loaded. No wasted words. Includes a helpful 'COMBINE WITH' hint. Extremely concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose and use cases well, but lacks description of output format (e.g., how separators work, document structure). With no output schema, more detail on return value would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds minor clarity (e.g., videoIds can be IDs or URLs, 2-10 videos) but doesn't significantly enhance beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it merges transcripts from 2-10 videos, uses 'MULTI-VIDEO TOOL' and provides use cases like course playlists and tutorial series. It distinguishes from siblings like compare_moments and get_playlist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context on when to use: course playlists, tutorial series, comparing coverage. Mentions tools to combine with. Lacks explicit exclusions or when not to use, but sufficient for most agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_in_transcriptARead-only
Search for specific words or phrases within a video transcript. Returns matching segments with timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| query | Yes | Text to search for in the transcript | |
| language | No | Language code | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, which the description aligns with. The description adds minimal behavioral context beyond the return format; it does not disclose search behavior (e.g., case sensitivity, handling of large transcripts). With annotations covering safety, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is composed of two concise sentences with no superfluous information. It front-loads the action and result, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no nested objects, no output schema), the description adequately states the purpose and return type. It could elaborate on whether segments are time-ranges or single timestamps, but it is largely complete for a straightforward search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no additional meaning beyond what the schema provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and identifies the resource ('video transcript'). It explicitly states what it returns ('matching segments with timestamps'), clearly distinguishing it from siblings like 'get_transcript' or 'list_caption_languages'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of contexts where this tool is preferred, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | YouTube video ID or URL | |
| intervals | No | Number of timeline points (3-10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by noting it returns multiple images with text context, but does not elaborate on potential limitations or return format beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words: the first states purpose and output, the second adds context and alternative suggestion. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description adequately explains the output (multiple images with text) and usage context. Minor gaps remain about exact return format, but overall complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation coverage is 100%, so the baseline is 3. The description does not add significant new meaning to the parameters beyond what is in the schema (e.g., intervals default and range already documented).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a timeline with frames and transcript, specifies it's for long videos, and explicitly contrasts with separate calls to get_video_frames and get_transcript, distinguishing it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context ('Perfect for long videos, lectures, documentaries') and suggests using it instead of the two-call alternative, but does not explicitly mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
YouTube public video, comment, reply, channel, search, and speech-to-text transcript tools.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI assistants to research YouTube videos by collecting captions, comments, and channel information for analysis and comparison.109MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI models to search, retrieve, and analyze YouTube videos, channels, playlists, and transcripts via the YouTube Data API, with automatic API key failover.391MIT
- AlicenseAqualityDmaintenanceEnables AI tools to access YouTube content, including transcript extraction, video/channel info, and search.427MIT
- FlicenseAqualityCmaintenanceEnables AI assistants to analyze YouTube channels, videos, transcripts, and content strategy through structured tool calls.1757
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ixex/tubepilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server