Youtube-MCP
Provides specialized tools for YouTube analytics and automation, including channel intelligence, video performance metrics, SEO scoring, and audience comment analysis via the YouTube Data API v3.
YouTube MCP Server
Production-grade Model Context Protocol (MCP) server for YouTube intelligence. Extract, analyze, and automate insights from YouTube channels and videos using the official YouTube Data API v3.
Built for AI agents, automation pipelines, and content intelligence workflows.
What This Does
This MCP server exposes 16 specialized tools for YouTube analytics and automation:
Channel Intelligence — subscriber counts, video lists, upload patterns, topic analysis
Video Analytics — detailed metadata, engagement metrics, performance comparison
Content Optimization — SEO scoring, tag analysis, thumbnail evaluation
Audience Insights — comment extraction, keyword analysis, sentiment signals
Trend Discovery — trending video tracking, competitive benchmarking
Built with zero scraping — uses only official YouTube Data API v3 endpoints for reliability and quota efficiency.
Related MCP server: AI Agent MCP Server
Prerequisites
YouTube Data API Key
You must have a YouTube Data API v3 key to use this server.
Get your API key:
Go to Google Cloud Console
Create a new project (or select existing)
Enable YouTube Data API v3:
Navigate to APIs & Services → Library
Search for "YouTube Data API v3"
Click Enable
Create credentials:
Go to APIs & Services → Credentials
Click Create Credentials → API Key
Copy your API key
Quota: Free tier provides 10,000 units/day (sufficient for ~100-500 tool calls depending on complexity).
Installation
Step 1: Clone the repository
git clone https://github.com/Yashkashte5/Youtube-MCP.git
cd Youtube-MCPStep 2: Install dependencies
pip install -r requirements.txtDependencies installed:
mcp— MCP protocol server frameworkrequests— YouTube Data API v3 HTTP clientyoutube-transcript-api— transcript fetching (no OAuth)Pillow— thumbnail image analysisnltk— natural language processing for comment keywordspython-dotenv— environment variable management
Step 3: Configure API key
Create a .env file in the project root:
YOUTUBE_API_KEY=YOUR_API_KEY_HEREImportant: Never commit .env to git. It's already in .gitignore.
Running the Server
Standalone (for testing)
python server.pyWith Claude Desktop
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"youtube-mcp": {
"command": "python",
"args": ["/absolute/path/to/Youtube-MCP/server.py"]
}
}
}Replace /absolute/path/to/Youtube-MCP/ with your actual project path.
Then: Fully quit and relaunch Claude Desktop.
Tools Reference (16 Total)
Channel Analysis
get_channel_overview
Subscriber count, total views, video count, creation date

get_channel_videos
Recent video list with views, likes, comments, duration

get_channel_topics
YouTube's topic categories (Gaming, Music, Tech, etc.)

compare_channels
Side-by-side channel comparison (max 5 channels)

get_upload_schedule
Posting frequency by day/hour, consistency score

Video Intelligence
get_video_details
Full metadata: title, description, tags, stats

get_video_comments
Top comments sorted by relevance with like counts

get_video_transcript
Auto-generated or manual transcripts for NLP

compare_videos
Performance comparison across multiple videos

get_top_videos
Channel's best performers by views/likes/engagement

SEO & Optimization
analyze_thumbnail
Thumbnail URL, resolution, file size metadata
![]()
get_video_seo_score
0-100 score: title, description, tags, thumbnail quality

get_tag_analysis
Tag frequency and correlation with video performance

get_trending_videos
Popular videos by region/category (Music, Gaming, Movies)

Advanced Analytics
get_engagement_stats
Like rate, comment rate, engagement rate per video

get_comment_keywords
Most frequent words in comments (stopwords filtered)

Architecture
┌─────────────────────────────────────────────────────┐
│ AI Agent / Claude Desktop / MCP Client │
└──────────────────────┬──────────────────────────────┘
│ MCP Protocol
┌──────────────────────▼──────────────────────────────┐
│ server.py │
│ ├─ Tool registration & MCP handlers │
│ └─ JSON schema definitions │
└──────────────────────┬──────────────────────────────┘
│ Function calls
┌──────────────────────▼──────────────────────────────┐
│ main.py │
│ ├─ 16 tool implementations │
│ ├─ YouTube Data API v3 integration │
│ ├─ Transcript API │
│ └─ Data normalization & error handling │
└──────────────────────┬──────────────────────────────┘
│ HTTPS
┌──────────────────────▼──────────────────────────────┐
│ YouTube Data API v3 │
│ ├─ channels.list │
│ ├─ videos.list │
│ ├─ playlistItems.list │
│ ├─ commentThreads.list │
│ └─ Public data only │
└─────────────────────────────────────────────────────┘Design principles:
MCP = Data layer — deterministic, normalized JSON outputs
AI = Reasoning layer — interprets data, generates insights
No scraping — official API only for reliability
Quota efficient — uses
playlistItems.listinstead of expensivesearch.list
Project Structure
Youtube-MCP/
├── server.py # MCP server, tool registration, schema definitions
├── main.py # Tool implementations, YouTube API integration
├── requirements.txt
├── .env # API key
├── .gitignore
├── Demos/
└── README.mdExample Use Cases
AI Agents
Automated YouTube research assistants
Content strategy recommendation systems
Competitive intelligence bots
Analytics Pipelines
Channel performance dashboards
Engagement trend tracking
Audience sentiment analysis
Content Optimization
SEO audit automation
Tag optimization recommendations
Upload schedule optimization
Research
YouTube ecosystem analysis
Creator behavior patterns
Viral content dynamics
Contributing
Contributions welcome. Focus areas:
Tool reliability — edge case handling, error messages
Performance — quota optimization, caching strategies
New tools — playlist analytics, growth metrics, predictions
Documentation — usage examples, best practices
To contribute:
Fork the repository
Create a feature branch (
git checkout -b feature/new-tool)Commit changes (
git commit -m 'Add new tool: X')Push to branch (
git push origin feature/new-tool)Open a Pull Request
License
MIT License — see LICENSE file for details.
Author
Yash Kashte
GitHub: @Yashkashte5
Project: Youtube-MCP
Available Tools
16 toolsanalyze_thumbnailA
Returns basic image metadata for a video's thumbnail: URL, resolution (WIDTHxHEIGHT), and file size in bytes. In v1 this is metadata only — no vision model analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID (e.g. dQw4w9WgXcQ). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: it returns metadata (not analysis), specifies the exact data fields provided (URL, resolution, file size), and clarifies the version limitation ('In v1 this is metadata only'). However, it lacks details on error handling, rate 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?
The description is front-loaded with the core purpose in the first sentence, followed by clarifying details. Every sentence adds value: the first defines the output, and the second sets scope limitations. There is no redundant or wasted text, making it 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 low complexity (single parameter, no output schema, no annotations), the description is largely complete. It clearly states what the tool does and its limitations. However, without an output schema, it could benefit from more detail on return format or error cases, though the metadata fields are specified.
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% description coverage, with the video_id parameter fully documented in the schema. The description does not add any parameter-specific information beyond what the schema provides, such as format examples or constraints, so it meets the baseline of 3 for high schema coverage without extra value.
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 specific action ('Returns basic image metadata') and resource ('for a video's thumbnail'), with explicit output details (URL, resolution, file size). It distinguishes itself from potential vision analysis tools by stating 'metadata only — no vision model analysis,' which helps differentiate it from siblings like get_video_details or get_tag_analysis that might involve deeper 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?
The description provides clear context for when to use this tool: to obtain thumbnail metadata without vision analysis. It implicitly suggests alternatives by noting the limitation ('no vision model analysis'), but does not explicitly name sibling tools or specify when-not-to-use scenarios beyond this scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_channelsA
Side-by-side overview comparison for multiple channels (max 5). Returns subscriber count, total views, and video count for each, plus declares winners in each category. Good for competitor analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_urls | Yes | List of YouTube channel URLs to compare (max 5). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by specifying the output format (subscriber count, total views, video count, winners) and constraints (max 5 channels). However, it lacks details on error handling, rate limits, or authentication needs, which are important for a tool fetching external 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?
The description is front-loaded with the core purpose in the first sentence, followed by output details and usage context. Every sentence earns its place by adding essential information without redundancy, making it 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?
Given the tool's moderate complexity (fetching and comparing external data), no annotations, and no output schema, the description is adequate but incomplete. It covers the purpose, output metrics, and usage context, but lacks details on error cases, data freshness, or response structure, which could hinder an agent's ability to handle edge cases effectively.
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% description coverage, so the baseline is 3. The description adds value by reinforcing the parameter's purpose ('Side-by-side overview comparison for multiple channels') and context ('Good for competitor analysis'), which enhances understanding beyond the schema's technical details. It does not provide additional syntax or format details, but the context is helpful.
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's purpose with specific verbs ('compare', 'returns') and resources ('multiple channels'), distinguishing it from siblings like 'get_channel_overview' by emphasizing side-by-side analysis and competitor focus. It explicitly mentions the scope (max 5 channels) and output metrics (subscriber count, total views, video count, winners).
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 for usage ('Good for competitor analysis'), implying when to use this tool. However, it does not explicitly state when not to use it or name alternatives among siblings, such as 'get_channel_overview' for single-channel data or 'compare_videos' for video-level comparisons, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_videosA
Side-by-side stats comparison for a list of video IDs (max 10). Returns per-video stats and declares winners by views, likes, comments, and engagement rate. Great for understanding why one video outperformed another.
| Name | Required | Description | Default |
|---|---|---|---|
| video_ids | Yes | List of YouTube video IDs to compare (max 10). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by specifying the max 10 video limit and what metrics are compared (views, likes, comments, engagement rate), but doesn't mention authentication needs, rate limits, error conditions, or what format the comparison results take beyond 'per-video stats'.
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 perfectly concise with three sentences that each earn their place: first states the core function and constraint, second specifies the return values, third provides usage context. No wasted words, 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?
Given the tool's moderate complexity (comparison operation with multiple metrics), no annotations, and no output schema, the description does reasonably well by specifying the comparison scope and metrics. However, it could be more complete by describing the output format or providing more behavioral context about how the comparison is performed.
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 fully documents the single parameter. The description adds marginal value by reinforcing the max 10 limit and mentioning YouTube video IDs, but doesn't provide additional semantic context beyond what's in the 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's purpose with specific verbs ('compare', 'returns', 'declares') and resources ('videos', 'stats'), and distinguishes it from siblings by focusing on side-by-side comparison of multiple videos rather than single-video analysis or channel-level operations.
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 for when to use this tool ('Great for understanding why one video outperformed another') and implies usage by specifying it's for comparing multiple videos. However, it doesn't explicitly state when not to use it or name specific alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channel_overviewA
Returns a flat overview of a public YouTube channel. Includes subscriber count, total views, total videos, and creation date. Accepts a channel URL in @handle or /channel/UCxxxx format.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | YouTube channel URL. Supported formats: https://www.youtube.com/@handle or https://www.youtube.com/channel/UCxxxx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that it works for public channels (implying limitations) and specifies supported URL formats, but doesn't mention rate limits, authentication needs, error handling, or response format. It adds some context but lacks comprehensive behavioral details.
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 core purpose and key data points, followed by parameter specifics. Every sentence adds value without redundancy, making it 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?
Given no annotations and no output schema, the description adequately covers the tool's purpose and parameter, but lacks details on return values, error cases, or performance traits. For a simple read operation with one parameter, it's minimally complete but could be more informative about behavioral aspects.
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 the channel_url parameter with its description and supported formats. The description repeats the URL format info but doesn't add meaning beyond what the schema provides, such as examples of valid handles or channel IDs, 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 clearly states the verb ('Returns') and resource ('a flat overview of a public YouTube channel'), specifying what data is included (subscriber count, total views, total videos, creation date). It distinguishes from siblings like get_channel_videos (which lists videos) or get_engagement_stats (which might provide deeper analytics).
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 by specifying it returns a 'flat overview' and works for 'public YouTube channel', but doesn't explicitly state when to use this vs. alternatives like get_channel_videos or get_engagement_stats. No exclusions or prerequisites are mentioned, leaving some ambiguity about context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channel_topicsA
Returns the topic categories YouTube has associated with a channel. Returns human-readable topic names extracted from Wikipedia category URLs. Raw Freebase topic IDs are excluded as they have been deprecated since 2017 and are not human-readable.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | YouTube channel URL. Supported formats: https://www.youtube.com/@handle or https://www.youtube.com/channel/UCxxxx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that it returns human-readable topic names from Wikipedia categories and excludes deprecated Freebase IDs, which adds context about output format and data currency. However, it lacks details on error handling, rate limits, authentication needs, or whether it's a read-only operation. The description adds some behavioral context but is incomplete for a tool with no 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 that are front-loaded with the core purpose and efficiently explain the output format and exclusions. Every sentence adds value: the first states what it does, and the second clarifies the data source and exclusions. There is no wasted text, making it highly concise 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?
Given the tool has one parameter with full schema coverage and no output schema, the description is mostly complete. It explains the purpose, output format (human-readable topic names from Wikipedia), and data exclusions (Freebase IDs). However, without annotations or an output schema, it could benefit from more details on behavioral aspects like error cases or response structure. It's adequate but has minor gaps in context.
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 fully documents the 'channel_url' parameter with its description and supported formats. The description does not add any additional meaning or semantics beyond what the schema provides, such as examples or edge cases. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't need to.
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 specific action ('Returns the topic categories YouTube has associated with a channel') and distinguishes it from siblings by specifying it returns human-readable topic names from Wikipedia categories, unlike other tools that analyze thumbnails, compare channels/videos, get overviews, videos, comments, engagement stats, etc. It explicitly excludes deprecated Freebase topic IDs, further differentiating its purpose.
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 by mentioning it returns topic categories for a channel, suggesting it should be used when topic information is needed. However, it does not explicitly state when to use this tool versus alternatives like 'get_channel_overview' or 'compare_channels', nor does it provide exclusions or prerequisites. The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channel_videosA
Returns a list of recent public videos from a channel, with per-video stats: views, likes, comments, duration. Use this as your primary dataset tool for channel analysis. Uses the uploads playlist internally — no quota-expensive search.list.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | YouTube channel URL. Supported formats: https://www.youtube.com/@handle or https://www.youtube.com/channel/UCxxxx | |
| limit | No | Maximum number of videos to return. Defaults to 50. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and adds valuable behavioral context: it discloses the quota efficiency ('no quota-expensive search.list'), specifies the data source ('uploads playlist internally'), and mentions the type of data returned ('recent public videos' with specific stats). However, it doesn't cover aspects like rate limits, error conditions, or pagination behavior.
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 front-loaded with the core purpose in the first sentence, followed by usage guidance and implementation details. Every sentence adds value without redundancy, making it highly efficient and well-structured for quick comprehension.
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 moderate complexity (2 parameters, no output schema, no annotations), the description is largely complete: it covers purpose, usage, behavioral traits, and implementation. However, without an output schema, it could benefit from more detail on the return format (e.g., structure of the video list), though the stats listed provide some context.
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 fully documents the two parameters (channel_url and limit). The description doesn't add any parameter-specific details beyond what's in the schema, such as explaining URL formats or limit implications. Baseline 3 is appropriate when the schema does the heavy lifting.
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 specific action ('Returns a list of recent public videos from a channel') and resource ('channel'), including detailed scope ('with per-video stats: views, likes, comments, duration'). It distinguishes from siblings by specifying this is for 'channel analysis' and uses 'uploads playlist internally', unlike tools like get_video_details or get_trending_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?
It provides explicit usage guidance: 'Use this as your primary dataset tool for channel analysis' and 'Uses the uploads playlist internally — no quota-expensive search.list', which helps differentiate from alternatives like get_top_videos or get_trending_videos that might use different methods or serve different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_comment_keywordsA
Extracts the most frequent meaningful words from a video's comments. Deterministic word frequency analysis — no LLM or sentiment model. Useful for understanding what topics and themes resonate with your audience.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID (e.g. dQw4w9WgXcQ). | |
| limit | No | Number of comments to fetch for analysis. Defaults to 200. | |
| top_n | No | Number of top keywords to return. Defaults to 30. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: the deterministic word frequency analysis method (no LLM or sentiment model), the scope (extracts from comments), and the purpose (understanding audience resonance). It doesn't cover potential limitations like rate limits, authentication needs, or error conditions, but provides sufficient operational context for basic use.
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 efficiently structured in two sentences: the first states the core functionality and method, the second provides usage context. Every phrase adds value without redundancy, and it's appropriately front-loaded with the primary purpose. No wasted words or unnecessary elaboration.
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 moderate complexity (frequency analysis), no annotations, and no output schema, the description provides adequate but incomplete context. It explains what the tool does and its method, but doesn't describe the return format (e.g., list of keywords with counts), how 'meaningful words' are determined, or what happens with insufficient comments. For a tool with no output schema, more detail about results would be beneficial.
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% description coverage, providing clear documentation for all three parameters (video_id, limit, top_n). The description adds minimal parameter semantics beyond the schema, only implying that 'most frequent meaningful words' relates to the top_n parameter. Since the schema does the heavy lifting, the 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 the tool's purpose with specific verbs ('extracts', 'analysis') and resources ('most frequent meaningful words from a video's comments'), distinguishing it from siblings like get_video_comments (which fetches comments) or get_channel_topics (which analyzes channel-level topics). It explicitly mentions the deterministic word frequency approach, setting it apart from potential LLM-based alternatives.
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 for when to use this tool ('useful for understanding what topics and themes resonate with your audience'), which implicitly differentiates it from siblings focused on metrics (get_engagement_stats), SEO (get_video_seo_score), or raw data (get_video_comments). However, it doesn't explicitly state when NOT to use it or name specific alternatives among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_engagement_statsA
Computes per-video engagement metrics across a channel's recent videos. Returns average views, likes, comments, like rate %, comment rate %, overall engagement rate %, and the top engaging video. Great for benchmarking your channel's audience engagement health.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | YouTube channel URL. Supported formats: https://www.youtube.com/@handle or https://www.youtube.com/channel/UCxxxx | |
| limit | No | Number of recent videos to analyze. Defaults to 50. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what metrics are computed and the benchmarking purpose, but doesn't mention important behavioral aspects like rate limits, authentication requirements, data freshness (how recent is 'recent'), computational cost, or error conditions. The description doesn't contradict any annotations since none exist.
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 efficiently structured in two sentences: the first explains what the tool does and returns, the second explains its purpose. Every word earns its place with no redundancy or unnecessary elaboration. It's appropriately sized for the tool's complexity.
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 has no annotations and no output schema, the description provides adequate purpose and usage context but leaves gaps in behavioral transparency. For a tool that computes metrics across multiple videos, more information about performance characteristics, data limitations, or result interpretation would be helpful. The description is complete enough for basic understanding but could be more comprehensive.
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?
With 100% schema description coverage, both parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's already in the schema descriptions. The baseline score of 3 is appropriate when the schema does the heavy lifting for parameter documentation.
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 specific action ('computes per-video engagement metrics'), resource ('across a channel's recent videos'), and output ('average views, likes, comments, like rate %, comment rate %, overall engagement rate %, and the top engaging video'). It distinguishes itself from siblings like get_channel_overview or get_video_details by focusing specifically on engagement metrics rather than general channel info or individual video details.
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 for when to use this tool ('Great for benchmarking your channel's audience engagement health'), which implicitly suggests it's for channel performance analysis rather than individual video analysis. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools for different analytical needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tag_analysisA
Aggregates tags across a channel's videos and correlates them with view performance. Returns top tags by frequency and by average views. Useful for finding which tags drive the most traffic.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | YouTube channel URL. Supported formats: https://www.youtube.com/@handle or https://www.youtube.com/channel/UCxxxx | |
| limit | No | Number of recent videos to analyze. Defaults to 50. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the tool's behavior: aggregates tags, correlates with view performance, and returns top tags by frequency and average views. However, it doesn't disclose critical traits like whether this is a read-only operation (implied by 'get' in the name but not stated), potential rate limits, authentication needs, data freshness, or error conditions. The description adds some context but leaves gaps for a tool with no 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 appropriately sized and front-loaded: two sentences that directly state the tool's function and utility. The first sentence covers the core action and output, and the second sentence explains the use case. There's no wasted text, and every sentence earns its place by adding 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?
Given the tool's complexity (analyzing tags and view correlations), no annotations, and no output schema, the description is moderately complete. It explains what the tool does and its purpose, but lacks details on behavioral traits (e.g., safety, performance) and output format (beyond 'top tags by frequency and average views'). For a tool with no structured support, it should provide more context about results and limitations to be fully helpful.
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 schema description coverage is 100%, so the schema already fully documents the two parameters (channel_url and limit). The description doesn't add any parameter-specific semantics beyond what's in the schema (e.g., it doesn't explain how 'limit' affects the analysis or provide examples for 'channel_url'). According to the rules, with high schema coverage, the baseline is 3 even with no param info in the description, which applies here.
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's purpose: 'Aggregates tags across a channel's videos and correlates them with view performance. Returns top tags by frequency and by average views.' It specifies the verb (aggregates, correlates, returns), resource (tags across a channel's videos), and output (top tags by frequency and average views). However, it doesn't explicitly differentiate from sibling tools like 'get_channel_topics' or 'get_video_seo_score', which might also analyze channel content.
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 implied usage guidance: 'Useful for finding which tags drive the most traffic.' This suggests the tool is for analyzing tag performance to identify traffic drivers. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., 'get_channel_topics' for topic analysis or 'get_engagement_stats' for broader metrics) or any exclusions (e.g., not for individual video analysis). The guidance is helpful but lacks specificity about sibling tool distinctions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_videosA
Returns a channel's top performing videos sorted by a chosen metric. Scans up to 200 recent videos and returns the top N. metric options: views | likes | comments | engagement_rate
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | YouTube channel URL. Supported formats: https://www.youtube.com/@handle or https://www.youtube.com/channel/UCxxxx | |
| metric | No | Sort metric. One of: views, likes, comments, engagement_rate. Defaults to views. | views |
| limit | No | Number of top videos to return. Defaults to 10. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: it scans up to 200 recent videos (scope limitation), returns sorted results, and lists metric options. However, it doesn't mention performance characteristics (e.g., speed, rate limits), error handling, or authentication needs, leaving gaps for a tool with no annotation coverage.
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 a single, dense sentence that efficiently conveys purpose, scope, and key constraints. Every word earns its place with no redundancy, and it's front-loaded with the core functionality.
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 annotations and no output schema, the description is moderately complete. It covers the tool's purpose and basic behavior but lacks details on return format (e.g., what data fields are included), error cases, or performance limits, which are important for a tool with 3 parameters and no structured output documentation.
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 fully documents parameters. The description adds minimal value beyond the schema by mentioning metric options and the scan limit of 200 videos, but doesn't provide additional syntax or format details. With 0 parameters undocumented, baseline is 4 for adequate compensation.
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 specific action ('Returns a channel's top performing videos'), resource ('channel's videos'), and distinguishes from siblings by specifying it sorts by a chosen metric and scans recent videos. It's more specific than generic sibling tools like 'get_channel_videos' or 'get_engagement_stats'.
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 when you need top videos by a metric, but doesn't explicitly state when to use this vs. alternatives like 'get_channel_videos' (which might return all videos unsorted) or 'get_engagement_stats' (which might provide aggregated stats). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_videosA
Returns currently popular YouTube videos for a given region and category. NOTE: As of July 2025, YouTube removed its global Trending page. Results now come from category-specific charts (Music, Movies, Gaming). Use category_id 10 for Music, 20 for Gaming, 43 for Movies. category_id 0 returns a mixed set across all categories.
| Name | Required | Description | Default |
|---|---|---|---|
| region_code | No | ISO 3166-1 alpha-2 country code (e.g. US, GB, IN). Defaults to US. | US |
| category_id | No | YouTube video category ID. Use '0' for all categories. Defaults to '0'. | 0 |
| limit | No | Number of trending videos to return. Max 50. Defaults to 25. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: it explains the source of results ('category-specific charts'), provides historical context about the Trending page removal, and specifies practical usage notes (e.g., category_id mappings). However, it lacks details on rate limits, authentication needs, or error handling.
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 appropriately sized and front-loaded, starting with the core purpose. Every sentence earns its place: the first states the function, the second provides critical historical context, and the third offers essential usage details. There is no wasted text, and the structure guides the user from general to specific 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 the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is largely complete. It covers purpose, usage context, and parameter semantics well. However, it lacks details on output format (e.g., what data is returned) and error conditions, which would be helpful for a tool without an 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?
The input schema has 100% description coverage, so the baseline is 3. The description adds significant value by explaining the meaning of category_id values (10 for Music, 20 for Gaming, 43 for Movies, 0 for mixed) and clarifying that results come from category-specific charts, which provides context beyond the schema's technical definitions.
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 specific action ('Returns currently popular YouTube videos') and resource ('YouTube videos'), distinguishing it from siblings like get_top_videos or get_video_details by focusing on trending content. It also specifies the scope ('for a given region and category'), making the purpose explicit and differentiated.
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 explicit guidance on when to use this tool by noting that 'YouTube removed its global Trending page' as of July 2025, directing users to category-specific charts. It lists specific category_id values (10, 20, 43, 0) for different use cases, offering clear alternatives within the tool itself without referencing sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upload_scheduleA
Analyzes a channel's upload patterns. Returns posting frequency by day-of-week and hour-of-day, average days between uploads, consistency score, and best posting day/time. Useful for optimizing your own upload schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | YouTube channel URL. Supported formats: https://www.youtube.com/@handle or https://www.youtube.com/channel/UCxxxx | |
| limit | No | Number of recent videos to analyze. Defaults to 50. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the analysis behavior and output format (frequency by day/hour, consistency score, etc.), but doesn't mention rate limits, authentication needs, or potential errors. It adequately covers what the tool does but lacks operational details.
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 efficiently structured in two sentences: the first explains the analysis and outputs, the second provides usage context. Every word earns its place with 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?
For a read-only analysis tool with no annotations and no output schema, the description provides adequate purpose and output details but lacks information about return format structure, error conditions, or performance characteristics. It's minimally complete but could benefit from more operational context.
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 fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema (channel_url formats, limit defaults/range). Baseline 3 is appropriate when schema does all the parameter documentation.
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's purpose with specific verbs ('analyzes', 'returns') and resources ('channel's upload patterns'), listing concrete outputs like posting frequency, consistency score, and best posting times. It distinguishes from siblings by focusing on upload schedule analysis rather than thumbnails, comments, SEO, or other channel/video metrics.
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 implied usage context ('useful for optimizing your own upload schedule') but lacks explicit guidance on when to use this tool versus alternatives like get_channel_overview or get_engagement_stats. No when-not-to-use scenarios or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_commentsB
Returns top-level comments for a video, sorted by relevance. Includes author, comment text, like count, and publish date. Useful for audience sentiment and feedback analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID (e.g. dQw4w9WgXcQ). | |
| limit | No | Maximum number of comments to return. Defaults to 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the sorting method ('by relevance') and included fields (author, comment text, like count, publish date), which adds some context. However, it fails to disclose critical behavioral traits such as whether this is a read-only operation, potential rate limits, authentication requirements, or error handling, which are essential for a tool interacting with an external API like YouTube.
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 and well-structured, consisting of two sentences that efficiently convey the core functionality and use case. The first sentence covers the main purpose and key features, while the second provides application context. There's no redundant or wasted language, making it easy to parse quickly.
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 complexity of a video comments tool with no annotations and no output schema, the description is moderately complete. It covers the basic purpose, sorting, and included fields, but lacks details on output format, pagination, error cases, or API-specific behaviors. For a tool that likely interacts with an external service like YouTube, more contextual information would be beneficial to ensure reliable usage.
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% description coverage, with clear documentation for both parameters (video_id and limit). The description doesn't add any parameter-specific details beyond what the schema provides, such as explaining the relevance sorting algorithm or comment filtering logic. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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's purpose: 'Returns top-level comments for a video, sorted by relevance.' It specifies the verb ('returns'), resource ('top-level comments for a video'), and key attributes like sorting and included fields. However, it doesn't explicitly differentiate from sibling tools like 'get_comment_keywords' or 'get_video_details', which prevents a perfect score.
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 implied usage context by stating it's 'Useful for audience sentiment and feedback analysis,' which suggests when to use this tool. However, it lacks explicit guidance on when to choose this over alternatives like 'get_comment_keywords' or 'get_video_details', and doesn't mention prerequisites or exclusions, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_detailsA
Returns full metadata for a single video, including tags. Use this to deep-dive into one video after identifying it via get_channel_videos.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID (e.g. dQw4w9WgXcQ). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It indicates this is a read operation ('Returns') and specifies the scope ('full metadata'), but lacks details on rate limits, error handling, or response format. It adds some context by mentioning 'tags' as included metadata, which is useful but not comprehensive.
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 zero waste: the first states the purpose and scope, the second provides usage guidance. It is front-loaded with the core functionality and efficiently includes only essential 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?
For a single-parameter read tool with no annotations and no output schema, the description is mostly complete—it clarifies purpose, usage, and scope. However, it could better address behavioral aspects like response structure or limitations, given the lack of 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 description coverage is 100%, so the schema already documents the video_id parameter fully. The description adds no additional parameter information beyond what the schema provides, such as format examples or constraints, meeting the baseline for high schema 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 clearly states the specific action ('Returns full metadata') and resource ('for a single video, including tags'), distinguishing it from siblings like get_channel_videos (which lists multiple videos) or get_engagement_stats (which focuses on metrics). The verb 'deep-dive' further emphasizes its detailed, singular focus.
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?
It explicitly states when to use this tool ('after identifying it via get_channel_videos') and implies an alternative (use get_channel_videos first for identification). This provides clear context for sequencing and distinguishes it from other video-related tools like get_video_comments or get_video_transcript.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_seo_scoreA
Checks a video's metadata against YouTube SEO best practices. Scores title length, description length/quality, tag count, and thumbnail presence. Returns an overall score (0–100) and per-dimension breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID (e.g. dQw4w9WgXcQ). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it performs a check (non-destructive read), scores multiple dimensions (title, description, tags, thumbnail), and returns a structured result (overall score 0-100 with breakdown). However, it doesn't mention rate limits, authentication needs, or error handling, which are gaps for a tool interacting with an external platform.
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 efficiently structured in two sentences: the first states the action and scope, the second details the scoring dimensions and return format. Every word adds value, with no redundancy or fluff, making it easy for an agent to parse quickly.
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 moderate complexity (SEO scoring with multiple dimensions), no annotations, and no output schema, the description is largely complete: it explains what the tool does, what it checks, and the return format. However, it lacks details on error cases (e.g., invalid video ID) or platform-specific constraints, which could be helpful for robust agent usage.
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 the single parameter 'video_id' clearly documented in the schema. The description adds no additional parameter semantics beyond implying the video must be on YouTube, which is already evident from the context. This meets the baseline of 3 when schema coverage is high.
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's purpose with specific verbs ('checks', 'scores', 'returns') and resources ('video's metadata', 'YouTube SEO best practices'). It distinguishes from siblings by focusing on SEO scoring rather than analysis of thumbnails, channels, comments, or other video aspects mentioned in the sibling list.
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 when SEO evaluation is needed, but provides no explicit guidance on when to use this tool versus alternatives like get_video_details or analyze_thumbnail. It doesn't mention prerequisites or exclusions, leaving the agent to infer context from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_transcriptB
Fetches the full transcript (auto-generated or manual) of a video. Returns concatenated transcript text, word count, and segment count. Useful for content analysis, summarization, and keyword extraction.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID (e.g. dQw4w9WgXcQ). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions returning transcript text, word count, and segment count, but does not disclose behavioral traits such as whether it handles auto-generated vs. manual transcripts differently, error handling for missing transcripts, rate limits, or authentication needs. This is a significant gap for a tool with no annotation coverage.
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 and front-loaded, stating the purpose in the first sentence and adding utility context in the second. Both sentences earn their place by providing value, though it could be slightly more structured for clarity.
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 annotations and no output schema, the description partially compensates by specifying return values (concatenated transcript text, word count, segment count) and use cases. However, it lacks details on behavioral aspects like error handling or transcript types, making it adequate but with clear gaps for a tool with no structured support.
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 a clear description for video_id, so the baseline is 3. The description does not add any parameter-specific details beyond what the schema provides (e.g., format examples or constraints), but it does not need to compensate for gaps.
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 fetches a video transcript (specific verb+resource) and mentions it returns concatenated text, word count, and segment count. However, it does not explicitly differentiate from sibling tools like get_video_details or get_video_comments, which might also provide transcript-related data, leaving some ambiguity.
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 'content analysis, summarization, and keyword extraction,' suggesting when to use it, but does not provide explicit guidance on when to choose this tool over alternatives like get_video_details (which might include transcript info) or when not to use it. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
16 tool updates
v1.0.0- First observed
analyze_thumbnail - First observed
compare_channels - First observed
compare_videos - First observed
get_channel_overview - First observed
get_channel_topics - First observed
get_channel_videos - First observed
get_comment_keywords - First observed
get_engagement_stats - First observed
get_tag_analysis - First observed
get_top_videos - First observed
get_trending_videos - First observed
get_upload_schedule - First observed
get_video_comments - First observed
get_video_details - First observed
get_video_seo_score - First observed
get_video_transcript
TDQS
Most tools have distinct purposes, such as get_channel_overview for channel metadata and get_video_transcript for transcripts, but some overlap exists. For example, get_channel_videos and get_top_videos both retrieve video lists, though they differ in sorting and scope, which could cause minor confusion for an agent.
All tool names follow a consistent verb_noun pattern, starting with verbs like 'get', 'analyze', or 'compare', followed by descriptive nouns. This uniformity makes the set predictable and easy to navigate, with no deviations in style or convention.
With 16 tools, the count is slightly high but reasonable for the YouTube analytics domain, covering diverse aspects like channel analysis, video stats, and SEO. It avoids being overwhelming, though a few tools could potentially be consolidated for tighter scoping.
The tool set comprehensively covers YouTube analysis, including channel overviews, video details, engagement metrics, comments, transcripts, and SEO. There are no obvious gaps; it supports full workflows from data retrieval to competitive analysis and optimization.
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, channel/playlist listings and upload tracking for AI agents. No signup.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
YouTube MCP — wraps the YouTube Data API v3 (BYO API key)
Related MCP Servers
- AlicenseAqualityBmaintenanceA production-ready Model Context Protocol server that enables language models to leverage AI-powered web scraping capabilities, offering tools for transforming webpages to markdown, extracting structured data, and executing AI-powered web searches.899MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server implementation built with FastAPI that enables AI agent interactions. Provides a structured foundation for building AI-powered applications with proper data validation and modern Python tooling.-
- AlicenseBqualityAmaintenanceModel Context Protocol (MCP) server that provides AI agents with access to Google Search Console data.252,926286MIT
- AlicenseNot gradedqualityDmaintenanceModel Context Protocol server that standardizes tool discovery, execution, and context management for AI applications.MIT
Appeared in Searches
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/Yashkashte5/youtube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server