Skip to main content
Glama

youtube-mcp

FastMCP server for YouTube — videos, channels, playlists, comments, and analytics.

Covers the YouTube Data API v3 and YouTube Analytics API with 25 tools.

Setup

1. Enable APIs in GCP Console

2. Configure credentials

mkdir -p ~/.config/youtube-mcp
cp ~/.config/google-docs-mcp/credentials.json ~/.config/youtube-mcp/credentials.json

3. Run OAuth flow

cd ~/youtube-mcp && uv run python -m youtube_mcp.auth

This opens a browser for consent. The token is saved to ~/.config/youtube-mcp/token.json.

4. Register with Claude Code

claude mcp add --scope user youtube -- uvx --from ~/youtube-mcp youtube-mcp

5. Restart Claude Code

The youtube server should appear with 25 tools.

Related MCP server: MCP YouTube Intelligence

Tools (25)

Videos (6)

Tool

Quota

Description

search_videos

100

Search YouTube by query

get_video_details

1

Get metadata for video(s) by ID

upload_video

1600

Upload video file with metadata

update_video

50

Update video title/description/tags

delete_video

50

Delete a video

get_captions

200

List caption tracks for a video

Channels (2)

Tool

Quota

Description

get_my_channel

1

Get authenticated channel info

list_channel_videos

100

List videos on a channel

Playlists (6)

Tool

Quota

Description

list_playlists

1

List playlists (mine or by channel)

create_playlist

50

Create new playlist

update_playlist

50

Update playlist metadata

delete_playlist

50

Delete a playlist

list_playlist_items

1

List videos in a playlist

add_to_playlist

50

Add video to playlist

Comments (4)

Tool

Quota

Description

list_comments

1

List comments on a video

add_comment

50

Post a top-level comment

reply_to_comment

50

Reply to a comment

delete_comment

50

Delete a comment

Subscriptions (3)

Tool

Quota

Description

list_subscriptions

1

List my subscriptions

subscribe

50

Subscribe to a channel

unsubscribe

50

Unsubscribe

Analytics (2)

Tool

Quota

Description

get_channel_analytics

Channel-level metrics (views, watch time, subs)

get_video_analytics

Per-video metrics

Misc (2)

Tool

Quota

Description

list_categories

1

List video categories for a region

set_thumbnail

50

Upload custom thumbnail

Quota

YouTube Data API daily quota is 10,000 units. Key costs:

  • Search: 100 units per call

  • Upload: 1,600 units per call

  • List operations: 1 unit

  • Insert/Update/Delete: 50 units

License

MIT

Available Tools

25 tools
add_commentA

Post a top-level comment on a video. Costs 50 quota units.

Args: video_id: The video ID to comment on text: Comment text

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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 adds valuable context beyond the basic action by stating 'Costs 50 quota units', which informs about resource usage and potential rate limits. However, it does not cover other behavioral aspects like permissions needed, whether comments are editable, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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 a concise cost note and parameter explanations. Every sentence earns its place with no wasted words, 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.

Completeness4/5

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 annotations, but has an output schema), the description is fairly complete. It covers the action, cost, and parameter meanings. With an output schema present, it doesn't need to explain return values, but it could improve by mentioning authentication or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides clear semantics for both parameters: 'video_id: The video ID to comment on' and 'text: Comment text', explaining their roles beyond the schema's type definitions. This adds meaningful context, though it could include examples or constraints like text length.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Post a top-level comment') and resource ('on a video'), distinguishing it from siblings like 'reply_to_comment' (which is for replies) and 'delete_comment' (which removes comments). The verb 'post' is precise and the scope 'top-level' clarifies it's not a reply.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by specifying 'top-level comment on a video', which suggests when to use it versus 'reply_to_comment'. However, it does not explicitly state when not to use it or mention alternatives like editing comments, and it lacks guidance on prerequisites such as authentication or video accessibility.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_to_playlistB

Add a video to a playlist. Costs 50 quota units.

Args: playlist_id: The playlist ID video_id: The video ID to add

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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 adds value by stating the quota cost ('Costs 50 quota units'), which is crucial for rate-limiting awareness. However, it lacks details on permissions (e.g., if the user must own the playlist), error handling, or response behavior, leaving gaps in transparency for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and cost, followed by a clear 'Args' section for parameters. Every sentence earns its place: the first states the action and quota, and the parameter explanations are necessary due to 0% schema coverage. It's appropriately sized with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a mutation with 2 parameters, no annotations, but an output schema exists), the description is partially complete. It covers the purpose, cost, and parameter semantics, but lacks usage guidelines and full behavioral details. The presence of an output schema means return values are documented elsewhere, so the description doesn't need to explain them, but other gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that 'playlist_id' identifies the target playlist and 'video_id' specifies the video to add, which clarifies the parameters' roles beyond their names. However, it doesn't provide format details (e.g., ID structure) or constraints, so it only partially addresses the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Add') and resource ('a video to a playlist'), making the purpose immediately understandable. It distinguishes this from siblings like 'create_playlist' or 'update_playlist' by focusing on adding content to existing playlists. However, it doesn't explicitly mention what distinguishes it from 'list_playlist_items' or 'update_playlist' in terms of scope, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing playlist), exclusions (e.g., not for removing items), or comparisons to siblings like 'update_playlist' or 'list_playlist_items'. The agent must infer usage from the purpose alone, which is insufficient for optimal tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_playlistB

Create a new playlist. Costs 50 quota units.

Args: title: Playlist title description: Playlist description privacy_status: private, unlisted, or public (default private)

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
descriptionNo
privacy_statusNoprivate

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the quota cost (50 units) which is valuable behavioral context, but doesn't mention authentication requirements, rate limits, error conditions, or what happens on success. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with purpose first, cost second, and parameters clearly listed. Every sentence earns its place, though the parameter documentation could be more integrated rather than in a separate Args section.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no annotations but with output schema, the description covers the basic action and parameters adequately. However, it lacks important context about authentication needs, error handling, and doesn't leverage the existence of an output schema to reduce explanation burden about return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by explaining all 3 parameters: title (required), description (with default), and privacy_status (with enum values and default). This adds significant meaning beyond the bare schema, though it doesn't elaborate on parameter constraints or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and resource 'new playlist', making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'update_playlist' or 'list_playlists' beyond the obvious action difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'update_playlist' or 'list_playlists'. It mentions a quota cost but doesn't explain when creating a playlist is appropriate versus other playlist-related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_commentB

Delete a comment. Costs 50 quota units.

Args: comment_id: The comment ID to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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 a key behavioral trait: 'Costs 50 quota units,' which is valuable operational context. However, it lacks details on permissions needed, whether deletion is reversible, error handling, or response format. This partial disclosure meets a baseline for a destructive tool but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and cost, followed by a clear parameter explanation. Every sentence earns its place: the first states purpose and quota, the second defines the parameter. No wasted words, making it highly efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's destructive nature, no annotations, and an output schema (which covers return values), the description is minimally adequate. It includes quota cost and parameter semantics, but lacks context on permissions, reversibility, or integration with siblings. For a delete operation, more behavioral guidance would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining 'comment_id: The comment ID to delete,' clarifying the parameter's purpose beyond the bare schema. Since there's only one parameter, this is sufficient to elevate the score above baseline, though it doesn't detail format or sourcing of the ID.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete') and resource ('a comment'), making the purpose immediately understandable. It distinguishes from siblings like 'delete_playlist' and 'delete_video' by specifying the comment resource. However, it doesn't explicitly differentiate from 'reply_to_comment' or 'list_comments' in terms of purpose, keeping it from 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention prerequisites (e.g., needing an existing comment ID from 'list_comments'), exclusions, or comparisons with related tools like 'reply_to_comment'. The description only states what it does, not when or why to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_playlistA

Delete a playlist. Costs 50 quota units. This is irreversible.

Args: playlist_id: The playlist ID to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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 adds critical context beyond the basic action: it specifies a cost ('Costs 50 quota units'), warns about irreversibility, and clarifies that deletion is permanent. This covers key behavioral traits like resource consumption and destructive impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the purpose, followed by key behavioral details (cost and irreversibility), and ends with parameter semantics. Every sentence earns its place with no wasted words, 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.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a destructive operation with cost implications), no annotations, and an output schema present (which handles return values), the description is complete enough. It covers purpose, behavioral risks, cost, and parameter meaning, providing all necessary context for safe and informed use without redundancy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes an 'Args' section that explains the single parameter ('playlist_id: The playlist ID to delete'), adding meaning beyond the input schema, which has 0% description coverage. This compensates well for the schema gap, though it could provide more detail (e.g., format or source of the ID). With one parameter fully documented, it meets high standards but not perfect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Delete') and resource ('a playlist'), making the purpose specific and unambiguous. It distinguishes this tool from sibling tools like 'update_playlist' or 'list_playlists' by focusing on deletion rather than modification or retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by stating 'This is irreversible,' which implicitly guides usage toward careful selection. However, it does not explicitly mention when to use this tool versus alternatives (e.g., 'update_playlist' for modifications) or list any prerequisites, such as requiring ownership of the playlist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_videoA

Delete a video. Costs 50 quota units. This is irreversible.

Args: video_id: The video ID to delete

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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 critical behavioral traits: the irreversible nature of deletion and the 50 quota unit cost. It doesn't mention permissions, rate limits, or error conditions, but covers the most important safety and cost aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with three sentences that each earn their place: states the action, discloses cost and irreversibility, and explains the parameter. The Args section is appropriately structured and doesn't waste words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive operation with no annotations, the description provides good coverage of the critical aspects: purpose, cost, irreversibility, and parameter meaning. The existence of an output schema means return values don't need explanation. It could mention permissions or error cases but covers the essentials well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description compensates by explaining the single parameter's purpose: 'The video ID to delete'. This adds essential meaning beyond the bare schema. Since there's only one parameter, this is sufficient for understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Delete' and resource 'a video', making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'delete_comment' or 'delete_playlist', though the resource specificity provides some implicit distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'This is irreversible' and cost information, suggesting caution. However, it doesn't explicitly state when to use this tool versus alternatives like 'update_video' or provide prerequisites beyond the video_id parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_captionsA

List available caption tracks for a video. Costs 200 quota units to download.

Args: video_id: The video ID

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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 reveals key traits: it's a read operation ('List'), specifies a cost ('Costs 200 quota units to download'), and implies a list output. However, it lacks details on error conditions (e.g., invalid video_id), rate limits, or authentication needs, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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 cost and parameter details. Every sentence earns its place: the first defines the tool, the second adds critical behavioral context (cost), and the third clarifies the single parameter. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter) and the presence of an output schema, the description is mostly complete. It covers purpose, cost, and parameter semantics adequately. However, it lacks context on authentication or error handling, which could be important for a tool with a cost implication.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that 'video_id' refers to 'The video ID', which clarifies the parameter's purpose beyond the schema's type definition. Since there's only one parameter, this is sufficient, but it doesn't provide format examples or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('available caption tracks for a video'), making the purpose specific and unambiguous. It distinguishes this tool from siblings like 'get_video_details' or 'list_comments' by focusing on caption tracks, not general video metadata or comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., whether the video must be public or owned by the user) or compare it to sibling tools like 'get_video_details' that might include captions. The only contextual hint is the cost note, which is not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_channel_analyticsA

Get channel-level analytics. Requires yt-analytics.readonly scope.

Args: start_date: Start date in YYYY-MM-DD format end_date: End date in YYYY-MM-DD format metrics: Comma-separated metrics (default: views,estimatedMinutesWatched,subscribersGained,subscribersLost,likes,dislikes) dimensions: Optional comma-separated dimensions (e.g. day, country, video)

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYes
end_dateYes
metricsNoviews,estimatedMinutesWatched,subscribersGained,subscribersLost,likes,dislikes
dimensionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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 adds value by specifying the required OAuth scope, which is crucial for authentication. However, it doesn't describe rate limits, pagination behavior, error conditions, or what the analytics data looks like in the response. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with a clear purpose statement followed by a structured parameter explanation. Every sentence earns its place, though the parameter explanations could be slightly more concise. The information is front-loaded with the core purpose first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, no annotations, and the existence of an output schema, the description is reasonably complete. It covers authentication requirements and parameter semantics adequately. The output schema will handle return value documentation, so the description focuses appropriately on usage and inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by explaining all 4 parameters in the Args section. It provides format details for dates, default values for metrics, and examples for dimensions. This adds significant meaning beyond the bare schema, though it could be more comprehensive about valid metric/dimension values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Get channel-level analytics' with a specific verb and resource. It distinguishes from sibling tools like 'get_video_analytics' by specifying the channel-level scope. However, it doesn't explicitly contrast with all analytics-related siblings beyond the obvious name difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage context by mentioning the required 'yt-analytics.readonly scope' and implying usage for channel analytics. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_video_analytics' or 'get_my_channel', nor does it provide exclusion criteria or prerequisites beyond the scope requirement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_my_channelA

Get info about the authenticated user's YouTube channel. Costs 1 quota unit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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 cost ('Costs 1 quota unit'), which is not inferable from other fields. However, it does not mention authentication requirements or rate limits, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence and adds essential cost information in the second, with zero wasted words. It is appropriately sized and efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, output schema exists), the description is mostly complete, covering purpose and cost. However, with no annotations, it could benefit from mentioning authentication needs or response format, though the output schema mitigates some of this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter details are needed. The description does not add param info, but this is appropriate as there are no parameters, justifying a baseline score of 4 for adequate handling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get info') and resource ('the authenticated user's YouTube channel'), distinguishing it from sibling tools like get_channel_analytics or list_channel_videos by focusing on the user's own channel rather than analytics or video listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implicitly indicates usage for retrieving the authenticated user's channel info, but does not explicitly state when to use alternatives like get_channel_analytics for analytics or list_channel_videos for videos. The context is clear but lacks explicit exclusions or comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_video_analyticsA

Get analytics for a specific video. Requires yt-analytics.readonly scope.

Args: video_id: The video ID to get analytics for start_date: Start date in YYYY-MM-DD format end_date: End date in YYYY-MM-DD format metrics: Comma-separated metrics (default: views,estimatedMinutesWatched,averageViewDuration,likes,dislikes,shares)

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes
start_dateYes
end_dateYes
metricsNoviews,estimatedMinutesWatched,averageViewDuration,likes,dislikes,shares

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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 the required OAuth scope ('yt-analytics.readonly'), which is valuable behavioral context. However, it doesn't mention rate limits, pagination, error conditions, or what the analytics output contains (though an output schema exists).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a purpose statement followed by parameter details. Every sentence earns its place, though the metrics default list is quite long but necessary. It could be slightly more front-loaded by moving the scope requirement to a separate line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters with 0% schema coverage and no annotations, the description does an excellent job explaining parameter semantics. The existence of an output schema means return values don't need description. However, it could better address behavioral aspects like error handling or data freshness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate fully. It provides clear semantic explanations for all 4 parameters: what video_id represents, date format requirements for start_date and end_date, and detailed default values and format for metrics. This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get analytics') and resource ('for a specific video'), distinguishing it from sibling tools like get_channel_analytics (channel-level) and get_video_details (metadata). The verb 'Get' is precise and the scope is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('Get analytics for a specific video') and mentions the required scope ('yt-analytics.readonly'), providing clear context. However, it doesn't explicitly contrast with alternatives like get_channel_analytics or specify 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.

get_video_detailsA

Get detailed metadata for one or more videos. Costs 1 quota unit.

Args: video_ids: Comma-separated video IDs (up to 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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 adds useful context about quota costs (1 unit) and batch limits (up to 50 videos), which aren't in the schema. However, it lacks details on permissions, error handling, or response format, leaving gaps for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose statement followed by an 'Args' section, using minimal sentences that each add value. There's no redundant information, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter) and the presence of an output schema, the description is reasonably complete. It covers the core functionality and parameter usage, though it could benefit from more behavioral context like authentication needs or error cases, which aren't fully addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate. It explains 'video_ids' as 'comma-separated video IDs (up to 50)', adding crucial semantics beyond the schema's basic type. This covers the single parameter well, though it doesn't specify ID format or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'detailed metadata for one or more videos', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_video_analytics' or 'search_videos', which might also retrieve video information but with different scopes or data types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as 'get_video_analytics' for performance data or 'search_videos' for discovery. It mentions a quota cost but doesn't specify prerequisites, contexts, or exclusions for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesA

List available YouTube video categories. Costs 1 quota unit.

Args: region_code: ISO 3166-1 alpha-2 country code (default US)

ParametersJSON Schema
NameRequiredDescriptionDefault
region_codeNoUS

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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 adds valuable context by stating the cost ('Costs 1 quota unit'), which is not covered by structured fields. However, it does not mention other behavioral traits like rate limits, authentication needs, or response format, keeping it from a perfect score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with the core purpose and cost stated first, followed by parameter details in a structured 'Args:' section. Every sentence adds value without redundancy, 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter) and the presence of an output schema (which handles return values), the description is mostly complete. It covers purpose, cost, and parameter semantics, but could improve by mentioning authentication or error handling, keeping it from a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate. It adds meaning by explaining the parameter 'region_code' as an 'ISO 3166-1 alpha-2 country code' and providing a default value ('default US'), which clarifies usage beyond the bare schema. Since there is only one parameter, this is sufficient for a high score, but not perfect as it could detail format examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'available YouTube video categories', making the purpose specific and unambiguous. It distinguishes this tool from siblings like list_playlists or list_comments by specifying the exact resource type (video categories).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by mentioning the default region code (US), suggesting it's for retrieving categories specific to a country. However, it does not explicitly state when to use this tool versus alternatives (e.g., no comparison to other list tools) or provide exclusions, leaving some context gaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_channel_videosB

List videos on a channel. Costs 100 quota units (uses search.list).

Args: channel_id: The channel ID max_results: Number of results (1-50, default 25) order: Sort order — date, rating, viewCount, relevance, title

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYes
max_resultsNo
orderNodate

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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 adds value by mentioning 'Costs 100 quota units (uses search.list)', which informs about resource usage and underlying API method, but it doesn't cover other aspects like rate limits, authentication needs, or what happens on errors. This partial disclosure is adequate 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with the core purpose in the first sentence, followed by parameter details. Every sentence adds value, with no wasted words, though the structure could be slightly improved by grouping related information more explicitly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 nested objects), no annotations, and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, cost, and parameters, but lacks usage guidelines and some behavioral details like error handling, making it good but not perfect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining each parameter: 'channel_id' is identified as 'The channel ID', 'max_results' specifies range and default, and 'order' lists possible values. This provides clear semantics beyond the bare schema, though it could be more detailed (e.g., explaining 'relevance' context).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'videos on a channel', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_playlist_items' or 'search_videos', which might also retrieve videos in different contexts, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search_videos' or 'list_playlist_items', nor does it mention prerequisites such as needing a valid channel ID. It only lists parameters without contextual usage advice, leaving the agent to infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_commentsA

List top-level comments on a video. Costs 1 quota unit.

Args: video_id: The video ID max_results: Number of comment threads (1-100, default 20) order: Sort — relevance or time

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes
max_resultsNo
orderNorelevance

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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 the quota cost (1 unit), which is useful behavioral context. However, it lacks details on permissions, rate limits, pagination, or error handling, leaving gaps for a mutation-free but resource-intensive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and cost, followed by a structured Args section. Every sentence earns its place with no wasted words, making it highly efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters with 0% schema coverage and no annotations, the description does well by explaining all parameters and noting the quota cost. An output schema exists, so return values needn't be described. However, it could better address behavioral aspects like pagination or error cases for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains all three parameters: 'video_id' (the video ID), 'max_results' (number of comment threads with range and default), and 'order' (sort options). This adds clear meaning beyond the bare schema, though it could specify what 'top-level' means in relation to threads.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'top-level comments on a video', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'reply_to_comment' or 'delete_comment' beyond the 'list' action, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_video_details' or 'search_videos' that might include comments. It mentions a quota cost, but this doesn't help with tool selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_playlist_itemsA

List videos in a playlist. Costs 1 quota unit.

Args: playlist_id: The playlist ID max_results: Number of results (1-50, default 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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 adds useful context about quota cost ('Costs 1 quota unit'), which isn't in the schema, but doesn't cover other critical behaviors like pagination, error handling, or response format. It partially compensates for the lack of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and cost, followed by parameter details in a structured 'Args:' section. It's efficient with minimal waste, though the parameter explanations could be slightly more integrated into the main text for better flow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity, 2 parameters, and the presence of an output schema (which handles return values), the description is reasonably complete. It covers purpose, cost, and parameters, but lacks usage guidelines and full behavioral context, leaving minor gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains both parameters: 'playlist_id' as the playlist ID and 'max_results' with its range and default value. This adds clear meaning beyond the bare schema, though it doesn't detail format constraints (e.g., playlist ID structure).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List videos') and resource ('in a playlist'), distinguishing it from sibling tools like 'list_playlists' (which lists playlists) and 'list_channel_videos' (which lists videos from a channel). It precisely defines the tool's scope without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'list_channel_videos' or 'search_videos', nor does it mention prerequisites such as authentication or playlist access. It lacks context for selection among similar listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_playlistsA

List playlists. If channel_id is omitted, lists the authenticated user's playlists. Costs 1 quota unit.

Args: channel_id: Channel ID to list playlists for (omit for your own) max_results: Number of results (1-50, default 25)

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idNo
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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 adds valuable context: it specifies the cost ('Costs 1 quota unit'), which is crucial for usage planning, and clarifies the default behavior for omitted parameters. However, it doesn't mention potential side effects like rate limits or authentication requirements, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by key behavioral details (cost and parameter rules). The Args section is structured for clarity without redundancy. Every sentence earns its place, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 parameters, no nested objects), no annotations, but with an output schema present, the description is complete enough. It covers purpose, usage, key behavior (cost), and parameter semantics thoroughly. The output schema will handle return values, so no need to explain them here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It does so excellently: it explains both parameters in detail—'channel_id' (with the rule for omission) and 'max_results' (including range and default). This adds clear meaning beyond the bare schema, making the parameters fully understandable for an AI agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('playlists'), making the purpose immediately understandable. It distinguishes this tool from siblings like 'list_playlist_items' (which lists items within playlists) and 'create_playlist' (which creates new playlists). However, it doesn't explicitly contrast with all list-like siblings such as 'list_categories' or 'list_channel_videos', keeping it from 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: 'If channel_id is omitted, lists the authenticated user's playlists.' This gives practical guidance for the primary use case. However, it doesn't explicitly state when NOT to use it (e.g., vs. 'list_playlist_items' for contents of a specific playlist) or name alternatives, which prevents a score of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_subscriptionsB

List the authenticated user's subscriptions. Costs 1 quota unit.

Args: max_results: Number of results (1-50, default 25)

ParametersJSON Schema
NameRequiredDescriptionDefault
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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 adds useful context about quota cost ('Costs 1 quota unit'), which is a behavioral trait not in the schema. However, it lacks details on permissions, rate limits, pagination, or error handling, leaving gaps for a tool with mutation siblings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and cost, followed by a brief parameter explanation in two sentences. Every sentence adds value without waste, making it efficient and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter) and the presence of an output schema, the description is mostly complete. It covers purpose, cost, and parameter details, but lacks usage guidelines and some behavioral context, which is partially mitigated by the output schema handling return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It documents the 'max_results' parameter with range and default, adding meaning beyond the schema. However, it doesn't cover other potential implicit parameters or usage nuances, and with only one parameter, the baseline is 4, but it falls short due to incomplete compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'the authenticated user's subscriptions', making the purpose specific and understandable. However, it doesn't differentiate from sibling tools like 'list_playlists' or 'list_categories', which also list resources, so it doesn't fully distinguish its scope from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'list_playlists' or 'list_channel_videos', nor does it mention prerequisites or exclusions. It only states what it does without context for selection among similar listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reply_to_commentB

Reply to a comment. Costs 50 quota units.

Args: parent_comment_id: The comment ID to reply to text: Reply text

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_comment_idYes
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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 usefully adds that the operation 'Costs 50 quota units', which is valuable context about resource consumption. However, it doesn't describe other important behaviors: whether this is a mutating operation (implied by 'Reply' but not explicit), what permissions are required, what the response looks like, or any error conditions. The quota information is helpful but insufficient for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the core purpose ('Reply to a comment') comes first, followed by the quota cost, then parameter explanations. Every sentence earns its place - the quota information is valuable, and the parameter explanations are necessary given the 0% schema coverage. However, the formatting with 'Args:' could be more integrated into natural language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there's an output schema (which means return values are documented elsewhere), the description doesn't need to explain return values. However, for a mutating tool with no annotations, 0% schema coverage, and 2 parameters, the description should do more: it lacks information about error conditions, side effects, or relationship to sibling tools. The quota cost information is helpful but doesn't compensate for other gaps. The presence of an output schema raises the baseline but not enough for a higher score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides basic explanations for both parameters ('parent_comment_id: The comment ID to reply to' and 'text: Reply text'), which adds meaning beyond the bare schema. However, these explanations are minimal - they don't specify format requirements for the comment ID, length limits for the text, or any validation rules. For a tool with 2 parameters and zero schema documentation, this is inadequate compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Reply to') and resource ('a comment'), making the purpose immediately understandable. It distinguishes from siblings like 'add_comment' (which might create top-level comments) and 'delete_comment' by specifying it's specifically for replying to existing comments. However, it doesn't explicitly contrast with all possible alternatives like 'update_comment' if that existed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'reply_to_comment' over 'add_comment' (which appears to be a sibling tool), nor does it specify prerequisites like needing an existing comment to reply to. The only contextual hint is the parameter 'parent_comment_id', but this isn't explained in usage terms.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_videosB

Search YouTube videos by query. Costs 100 quota units per call.

Args: query: Search query string max_results: Number of results (1-50, default 10) order: Sort order — relevance, date, rating, viewCount, title video_type: Filter — any, episode, movie

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo
orderNorelevance
video_typeNoany

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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 the cost ('Costs 100 quota units per call'), which is valuable behavioral information not inferable from the schema. However, it lacks details on rate limits, authentication requirements, error handling, or what the output looks like (though an output schema exists). The description adds some context but is incomplete for a search operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the purpose and cost, followed by a structured 'Args:' section. Every sentence earns its place by providing essential information. Minor improvements could include integrating the cost note more seamlessly, but overall it's efficient and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (search with filtering), no annotations, and the presence of an output schema, the description is reasonably complete. It covers the purpose, cost, and all parameters in detail. The output schema handles return values, so the description doesn't need to explain them. However, it could benefit from more behavioral context like authentication or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides clear semantics for all 4 parameters: 'query' as a search string, 'max_results' with range and default, 'order' with enum values, and 'video_type' with enum values. This adds significant meaning beyond the bare schema, effectively documenting parameter purposes and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search YouTube videos by query.' It specifies the verb ('Search') and resource ('YouTube videos'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_channel_videos' or 'get_video_details', which are related but distinct operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions a cost ('Costs 100 quota units per call'), which is useful for resource management, but doesn't explain when to choose search_videos over other video-related tools like list_channel_videos or get_video_details. No explicit when/when-not statements or alternative recommendations are included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_thumbnailA

Upload a custom thumbnail for a video. Costs 50 quota units.

Args: video_id: The video ID file_path: Absolute path to the thumbnail image (JPEG, PNG, GIF, BMP; max 2MB)

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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: the quota cost (50 units), file format requirements (JPEG, PNG, GIF, BMP), and size limit (max 2MB). It clearly indicates this is a mutation operation ('Upload') and provides practical constraints, though it doesn't cover authentication needs 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured with a clear purpose statement upfront, followed by cost information, then parameter explanations in a labeled 'Args' section. Every sentence earns its place with no wasted words, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 required parameters, mutation operation) and the presence of an output schema (which handles return values), the description is quite complete. It covers purpose, cost, parameters, and file constraints. The main gap is lack of explicit sibling tool differentiation, but overall it provides sufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for both parameters, the description compensates by explaining that video_id identifies the target video and file_path must be an absolute path to a thumbnail image. It adds meaningful context about file format and size constraints that aren't in the schema, though it could specify video_id format or path examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Upload a custom thumbnail') and target resource ('for a video'), distinguishing it from sibling tools like update_video or upload_video which handle different video modifications. It provides a precise verb+resource combination that leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the quota cost mention and file format constraints, but does not explicitly state when to use this tool versus alternatives like update_video (which might handle thumbnails differently) or provide clear exclusions. It offers some practical guidance but lacks explicit comparison with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subscribeB

Subscribe to a YouTube channel. Costs 50 quota units.

Args: channel_id: The channel ID to subscribe to

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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 adds value by specifying the cost ('Costs 50 quota units'), which is a useful behavioral trait not inferable from the schema. However, it lacks details on permissions required, error conditions (e.g., invalid channel ID), or what happens on success (e.g., confirmation of subscription), leaving gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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 cost and parameter details in a structured 'Args:' section. Every sentence earns its place, with no redundant or verbose language, making it highly efficient and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a write operation with cost implications), no annotations, and an output schema present (which likely handles return values), the description is moderately complete. It covers purpose, cost, and parameter semantics but lacks usage guidelines, full behavioral context (e.g., auth needs), and does not leverage sibling tools for differentiation, leaving room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that 'channel_id' is 'The channel ID to subscribe to', which clarifies the parameter's role. However, it does not provide format details (e.g., YouTube's ID structure) or examples, and with only one parameter, the baseline is 4, but the minimal explanation slightly reduces this to 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Subscribe to a YouTube channel') and identifies the resource ('YouTube channel'), making the purpose unambiguous. However, it does not explicitly differentiate this tool from its sibling 'unsubscribe', which performs the opposite action, missing an opportunity for full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'list_subscriptions' (to check existing subscriptions) or 'unsubscribe' (to reverse the action). It mentions a cost ('Costs 50 quota units'), which hints at resource considerations but does not specify when this operation is appropriate or necessary in context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unsubscribeA

Unsubscribe (delete a subscription). Costs 50 quota units.

Args: subscription_id: The subscription ID (from list_subscriptions)

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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 a key behavioral trait: 'Costs 50 quota units,' which is critical for usage planning. It also clarifies the action as deletion, but doesn't mention side effects like irreversible removal or confirmation steps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured: a brief purpose statement with cost info, followed by a clear parameter explanation. Every sentence adds value without redundancy, and it's front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (destructive action, quota cost) and no annotations, the description is fairly complete: it covers purpose, cost, and parameter semantics. With an output schema present, return values needn't be explained, but it could benefit from more on error conditions or success indicators.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaningful context for the single parameter by explaining that subscription_id comes 'from list_subscriptions,' which clarifies its source and usage. However, it doesn't detail format constraints or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('unsubscribe/delete') and resource ('subscription'), making the purpose unambiguous. It distinguishes from siblings like 'subscribe' by indicating deletion rather than creation. However, it doesn't explicitly differentiate from other deletion tools (e.g., 'delete_playlist'), though the resource specificity helps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by referencing 'list_subscriptions' as the source for subscription_id, suggesting this tool should be used after listing subscriptions. However, it lacks explicit guidance on when to use this versus alternatives or any prerequisites beyond having a subscription ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_playlistB

Update playlist metadata. Costs 50 quota units.

Args: playlist_id: The playlist ID title: New title (or None to keep current) description: New description (or None to keep current) privacy_status: New privacy — private, unlisted, public (or None to keep current)

ParametersJSON Schema
NameRequiredDescriptionDefault
playlist_idYes
titleNo
descriptionNo
privacy_statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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 usefully adds the quota cost ('Costs 50 quota units'), which is valuable operational context not in the schema. However, it lacks other critical behavioral details: it doesn't specify authentication requirements, rate limits, error conditions, or whether the update is partial (only specified fields) or has side effects. The description doesn't contradict annotations (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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose and quota cost, followed by a structured 'Args' section. Every sentence earns its place, with no redundant information. However, the formatting with 'Args:' and bullet-like indentation is slightly informal and could be more integrated, preventing a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a mutation tool with no annotations, 4 parameters, 0% schema coverage, but with an output schema (which relieves the description from explaining return values), the description is moderately complete. It covers parameters well and adds quota cost, but gaps remain: no usage guidelines, incomplete behavioral context (e.g., permissions, errors), and no mention of sibling tools. This makes it adequate but not fully comprehensive for safe agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does this effectively by explaining all 4 parameters: 'playlist_id' is identified as the playlist ID, and the other three parameters are described with their purposes and the meaning of 'None' (to keep current values). It also specifies allowed values for 'privacy_status' (private, unlisted, public). This adds significant meaning beyond the bare schema, though it doesn't cover validation rules or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Update') and resource ('playlist metadata'), making the purpose immediately understandable. It distinguishes this tool from siblings like 'create_playlist' and 'delete_playlist' by focusing on modification rather than creation or deletion. However, it doesn't explicitly differentiate from 'update_video' or other update operations beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., ownership/permissions), compare with 'create_playlist' for new playlists, or indicate when not to use it (e.g., for bulk updates). The only implicit context is that a playlist must exist, but this is not stated explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_videoA

Update video metadata. Costs 50 quota units. Only provided fields are changed.

Args: video_id: The video ID to update title: New title (or None to keep current) description: New description (or None to keep current) tags: New tags list (or None to keep current) category_id: New category ID (or None to keep current) privacy_status: New privacy — private, unlisted, public (or None to keep current)

ParametersJSON Schema
NameRequiredDescriptionDefault
video_idYes
titleNo
descriptionNo
tagsNo
category_idNo
privacy_statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and adds valuable behavioral context: it discloses quota cost ('Costs 50 quota units'), partial update behavior ('Only provided fields are changed'), and clarifies that null values keep current settings. However, it doesn't mention permissions, rate limits, or error conditions that would be helpful for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with a clear main sentence followed by structured parameter explanations. Every sentence earns its place, though the 'Args:' section formatting could be slightly more integrated with the main text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations but an output schema, the description provides good coverage of the update operation, parameters, and behavioral traits. The quota cost disclosure is particularly valuable. It could be more complete by mentioning authentication requirements or error scenarios, but the presence of an output schema reduces the need to explain return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by explaining all 6 parameters in detail, including their purposes and the meaning of null values ('or None to keep current'). This adds significant meaning beyond what the bare schema provides, especially for the nullable fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'update' and resource 'video metadata', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'update_playlist' or 'set_thumbnail', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for modifying video metadata fields, but doesn't provide explicit guidance on when to use this versus alternatives like 'update_playlist' or 'set_thumbnail'. It mentions 'Only provided fields are changed' which offers some context, but lacks clear when/when-not rules or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_videoA

Upload a video file to YouTube. Costs 1600 quota units. Resumable upload.

Args: file_path: Absolute path to the video file on disk title: Video title description: Video description tags: List of tags category_id: YouTube category ID (default "22" = People & Blogs) privacy_status: private, unlisted, or public (default private)

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
titleYes
descriptionNo
tagsNo
category_idNo22
privacy_statusNoprivate

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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 reveals key traits: the quota cost ('Costs 1600 quota units'), the resumable nature of the upload, and the default privacy status. However, it doesn't mention error conditions, rate limits, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement upfront, followed by a parameter breakdown. Every sentence adds value, though the 'Args:' section could be slightly more integrated into the flow. It avoids redundancy and is appropriately sized for a 6-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a video upload operation with 6 parameters and no annotations, the description does well by covering key behavioral aspects (quota, resumable) and parameter semantics. The presence of an output schema means return values don't need explanation, but authentication and error handling details are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must fully compensate. It provides clear semantic explanations for all 6 parameters, including defaults ('default "22" = People & Blogs', 'default private') and allowed values ('private, unlisted, or public'). This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Upload a video file to YouTube') and resource ('video file'), distinguishing it from sibling tools like 'set_thumbnail' or 'update_video' which modify existing videos rather than uploading new ones. The verb 'upload' is precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'update_video' or 'set_thumbnail'. It mentions 'Resumable upload' but doesn't explain when this feature is relevant or what prerequisites might be needed (e.g., authentication, file format requirements).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific YouTube resources (videos, playlists, comments, analytics, etc.), with clear boundaries. However, some potential overlap exists between 'list_channel_videos' and 'search_videos' when searching within a channel, though descriptions help differentiate them. Overall, ambiguity is minimal.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout (e.g., add_comment, create_playlist, delete_video, get_video_details, list_playlists, update_playlist, upload_video). All tools use snake_case with clear action-object naming, making them predictable and readable.

Tool Count3/5

With 25 tools, the count feels heavy for a YouTube API server, though not extreme. It covers many YouTube features comprehensively, but some tools might be niche (e.g., list_categories, get_captions), making the set borderline for typical agent use. It's reasonable but could be streamlined.

Completeness5/5

The tool set provides excellent coverage of the YouTube domain, including CRUD operations for videos, playlists, comments, and subscriptions, plus analytics, search, and upload capabilities. There are no obvious gaps; agents can perform full lifecycles for core resources without dead ends.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for intelligent YouTube video analysis that provides token-optimized summaries, sentiment analysis, and entity extraction from transcripts. It enables AI assistants to perform video reporting, channel monitoring, and comprehensive YouTube searches through structured data tools.
    10
    51
    Apache 2.0
  • F
    license
    B
    quality
    D
    maintenance
    MCP server for YouTube Data API v3 enabling video search, channel lookup, trending content, comments, and playlist management.
    11

Latest Blog Posts

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/kpfitzgerald/youtube-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server