Skip to main content
Glama

Server Details

YouTube data MCP server for AI agents. Search YouTube, fetch transcripts, read comments and replies, inspect channels, analyze playlists, and retrieve video details through Stophy’s hosted API.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 8 of 8 tools scored. Lowest: 3.7/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct YouTube data operation: channel browsing, playlist retrieval, video details, search, autocomplete, Kids, Music, and credits. The descriptions clearly differentiate them, and there is no overlapping functionality that would confuse an agent.

Naming Consistency3/5

All tools share a 'stophy_' prefix, but naming conventions are inconsistent: most use 'get_<noun>' (e.g., get_channel, get_video), but 'search_videos' uses 'search' and 'kids' and 'music' are bare nouns. This mixed pattern reduces predictability.

Tool Count5/5

With 8 tools, the server covers the main YouTube interactions without being bloated. Each tool serves a clear purpose, and the count feels well-scoped for a YouTube data retrieval server.

Completeness4/5

The tool set covers video details (including transcript, comments, live chat), channel browsing, playlists, search, autocomplete, Kids, and Music. While write operations (like, comment) are absent, the server's focus on read operations is clear and mostly complete.

Available Tools

8 tools
stophy_get_channelA
Read-only
Inspect

Browse a YouTube channel's content. Returns channel{id, name, handle, subscriberCount, videoCount, isVerified, thumbnails} on every tab. tab options: video, short, live (past live streams), playlist, post (community posts), about. Video and live tabs return items[{id, videoUrl, title, author, publishedAt, thumbnails}]; the short tab returns items with shortUrl instead of videoUrl (no publishedAt); the playlist tab returns items[{id, playlistUrl, title, videoCount, thumbnails}]. All of these paginate with continuationToken. The post tab returns items[{id, url, content, publishedTimeText, likeCountText, commentCountText, images, video}]. About tab returns the full profile including country, joinedDate, viewCount, and links[]. Set query to search within the channel (returns matching videos; tab is ignored). Best for: auditing a creator's catalog, pulling all videos from a channel, finding a channel's video on a topic, reading community posts or the channel description. Not recommended for: fetching a single known video. Use stophy_get_video instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
tabNoWhich channel tab to read: video, short, live (past live streams), playlist, community (posts), course, or aboutvideo
queryNoSearch within this channel. When set, returns the channel's videos matching the query and the tab is ignored
sortByNoSort order for the tab
channelUrlYesChannel URL (e.g. https://youtube.com/@handle)
continuationTokenNoPagination token from a previous channel response
Behavior4/5

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

Annotations already indicate read-only and non-destructive behavior. The description adds valuable behavioral details: return structures per tab, pagination with continuationToken, query overrides tab, and field differences between tabs (e.g., short tab returns shortUrl, no publishedAt). This goes beyond the annotations.

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

Conciseness4/5

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

The description is organized with a clear initial statement, then tab-specific return structures, then usage guidance. While fairly long, the structure is logical and each sentence adds necessary detail. Slightly verbose but not redundant.

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 complexity (multiple tabs, pagination, interactions between query and tab), the description is comprehensive. It covers all tab options, their return structures, edge cases (e.g., short tab missing publishedAt), pagination, and the search behavior. No output schema exists, but return types are fully described.

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 coverage is 100%, so the schema already documents parameters. However, the description adds context: how 'query' overrides the tab, the default value for 'tab' (video), and the meaning of enumeration values like 'community' vs 'post'. The explanation of pagination via continuationToken adds value beyond 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 opens with 'Browse a YouTube channel's content' and enumerates exactly what is returned per tab. It distinguishes itself from sibling tools by stating 'Not recommended for: fetching a single known video. Use stophy_get_video instead.'

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

Usage Guidelines5/5

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

Explicitly lists best use cases (auditing a creator's catalog, pulling all videos, finding a video on a topic, reading community posts) and explicitly tells when not to use it (fetching a single known video) with a clear alternative.

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

stophy_get_creditsA
Read-only
Inspect

Check your remaining Stophy API credit balance. Returns {credits: number}. Does not consume a credit. Use before running large batch jobs to confirm you have enough credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations provide read-only hint; description adds that it does not consume a credit and returns a specific shape, enhancing 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?

Two concise sentences: first states purpose and return, second gives usage advice. Perfectly front-loaded and 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?

For a zero-parameter tool with no output schema, the description covers purpose, usage context, return shape, and non-destructive nature. Fully complete.

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?

No parameters, so description's role is minimal. It correctly describes the function and return value, adding value beyond 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 action ('Check your remaining Stophy API credit balance') and mentions the return type. It distinguishes from sibling tools which retrieve different resources.

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?

Explicitly advises using before large batch jobs, and notes that it does not consume a credit. Lacks explicit when-not-to-use, but context is clear.

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

stophy_get_playlistA
Read-only
Inspect

Get all videos in a YouTube playlist. Returns playlist{id, playlistUrl, title, author, description, videoCount} and items[{id, videoUrl, title, author, publishedAt, thumbnails}] with continuationToken. Best for: processing curated collections, course playlists, or a channel's uploads playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
playlistUrlYesPlaylist URL (e.g. https://youtube.com/playlist?list=PLAYLIST_ID)
continuationTokenNoPagination token from a previous playlist response
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds value by detailing the response structure (playlist object and items with continuationToken) and implying pagination, which supplements the annotations.

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

Conciseness5/5

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

The description consists of two focused sentences: one stating the core function and return structure, the other giving usage guidance. No extraneous words, and key information is front-loaded.

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?

For a read-only tool with only two parameters and no output schema, the description fully covers purpose, return types, pagination, and typical use cases. It is sufficient for an AI to understand and invoke the tool correctly.

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 coverage is 100%, so the input schema already describes both parameters. The description adds a concrete example URL for playlistUrl and mentions the continuationToken in the response, providing marginal extra context beyond the 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 explicitly states 'Get all videos in a YouTube playlist' and lists the return structure, clearly identifying the verb and resource. It also suggests best use cases like 'processing curated collections, course playlists, or a channel's uploads playlist,' which adds specificity.

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 a 'Best for' hint, indicating when to use the tool (e.g., course playlists), but does not explicitly state when not to use it or mention alternatives. No exclusions or comparisons to sibling tools are given.

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

stophy_get_suggestionsA
Read-only
Inspect

Get YouTube search autocomplete suggestions for a query. Returns {suggestions: string[]}. Optionally set hl (language, e.g. en) and gl (country, e.g. US). Best for: expanding a seed query into related search phrases, gathering keyword ideas, or seeing what people search for around a term before calling stophy_search_videos.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query
glNoCountry code, e.g. US, GB, DE. Defaults to US
hlNoLanguage code, e.g. en, fr, de. Defaults to en
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool returns autocomplete suggestions and optionally accepts hl and gl parameters. No contradictions or additional behavioral disclosures needed beyond this.

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 two sentences: a clear statement of function and a front-loaded usage guidance. No extraneous information.

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?

For a simple tool with 3 parameters and a list return type, the description fully covers purpose, usage, and parameter roles. The absence of an output schema is compensated by stating the return format.

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 coverage is 100% with descriptions for all three parameters. The description briefly reiterates optional hl and gl with examples, but adds minimal new meaning beyond the 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 tool gets YouTube search autocomplete suggestions for a query and specifies the return type as {suggestions: string[]}. It also distinguishes from sibling 'stophy_search_videos' by noting it's best for expanding seed queries.

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

Usage Guidelines5/5

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

The description explicitly says 'Best for: expanding a seed query into related search phrases, gathering keyword ideas, or seeing what people search for around a term before calling stophy_search_videos,' providing clear context and mentioning an alternative sibling tool.

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

stophy_get_videoA
Read-only
Inspect

Fetch details, transcript, comments, comment replies, or live chat for a YouTube video. type="details": returns video{id, title, author, description, viewCount, likeCount, durationSec, publishedAt, tags, isLive} and related[]. type="transcript": returns {videoId, language{code, name, isAutoGenerated}, isTranslated, availableTracks, segments[{text, start, duration}], text}; if the requested lang has no native track, a machine translation is returned along with a top-level warning. type="comments": returns {videoId, sortBy, items[{id, text, author, likeCount, replyCount, repliesToken}], continuationToken}. type="replies": pass the repliesToken of a comment as continuationToken to fetch its replies. type="livechat": returns {videoId, status (live|upcoming|replay|chat_disabled|not_live), isLive, concurrentViewers, messages[{id, text, author, authorId, timestampUsec, isOwner, isModerator, isVerified, superChatAmount, superChatCurrency}], continuationToken, pollIntervalMs}. Set chatType="top" for moderated Top chat (default) or "live" for all messages. To follow a live stream, poll again passing the previous continuationToken for only new messages, waiting pollIntervalMs between polls; a null continuationToken means the stream ended. Best for: extracting content from a known video URL. Not recommended for: discovering videos. Use stophy_search_videos instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoFor transcript only: BCP-47 language code (e.g. en, es, fr, pt-BR). Returns that caption track if it exists, otherwise a machine translation of the default track into that language. Omit for the video's original/auto captions.
typeYesWhat to fetch: details = title/description/stats, transcript = timestamped captions, comments = threaded comments, replies = replies to a comment, livechat = live stream chat messages + status
sortByNoSort order for comments: any (YouTube's default ordering), top, or latest. Defaults to any
chatTypeNoFor livechat only: 'top' = Top chat (moderated, default), 'live' = Live chat (all messages). Applied on the first call; later polls keep the chosen mode.
videoUrlNoYouTube video URL (e.g. https://youtube.com/watch?v=VIDEO_ID). Required for details, transcript, comments, and livechat.
continuationTokenNoPagination token. For comments, pass a previous comments response token. For replies, pass the repliesToken of a comment. For livechat, pass the continuationToken from a previous livechat response to poll for new messages.
Behavior5/5

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

Annotations already indicate readOnly=true and destructive=false. The description adds valuable behavioral context: for transcript, it warns about machine translation fallback with a top-level warning; for livechat, it explains polling, continuationToken null meaning end, and chatType behavior. No contradictions.

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

Conciseness5/5

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

The description is structured with a clear overview, then per-type details, then usage summary. Every sentence adds value without redundancy. It is front-loaded with the core purpose.

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 (6 parameters, 5 data types) and no output schema, the description thoroughly covers return structures, special behaviors, and usage patterns (e.g., polling for livechat). It is self-sufficient for an agent to use correctly.

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

Parameters5/5

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

All parameters have descriptions in the schema (100% coverage). The description enriches semantics: explains lang fallback behavior, clarifies each type enum, and details continuationToken usage across contexts (comments, replies, livechat).

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 starts with a clear verb and resource: 'Fetch details, transcript, comments, comment replies, or live chat for a YouTube video.' It explicitly distinguishes from siblings by stating 'Best for: extracting content from a known video URL' and directing to stophy_search_videos for discovery.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use and when-not-to-use guidance, including a direct alternative ('Use stophy_search_videos instead'). It also details usage per type (e.g., polling instructions for livechat) and prerequisites.

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

stophy_kidsA
Read-only
Inspect

type="search": search YouTube Kids with q and optional continuationToken, returns Kids-safe video items and continuationToken. type="video": fetch YouTube Kids video metadata and related Kids videos from videoUrl. Best for: child-safe discovery and metadata from the YouTube Kids surface.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoYouTube Kids search query
typeYesKids resource to fetch
videoUrlNoYouTube Kids / YouTube video URL or bare video ID
continuationTokenNoPagination token from a previous response
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that it returns 'Kids-safe video items and continuationToken' and 'video metadata and related Kids videos', which gives helpful context beyond annotations. No contradictions.

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

Conciseness3/5

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

The description is relatively concise but suffers from poor formatting (e.g., 'type="search":' embedded in text). It could be restructured for clarity without adding length.

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 (two modes, pagination) and the absence of an output schema, the description adequately covers return types (video items, continuationToken, metadata, related videos). It provides sufficient context for the agent to use the tool appropriately.

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 coverage is 100%, providing a baseline of 3. The description adds meaning by explaining that 'q' is a search query, 'continuationToken' is for pagination, and 'videoUrl' is for fetching video metadata. This surpasses the schema's basic descriptions.

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 identifies two modes (search and video) and states the resource is YouTube Kids. It distinguishes from sibling tools by specifying 'child-safe discovery'. However, the embedded code-like formatting slightly obscures the purpose.

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 states it's 'best for child-safe discovery and metadata' but does not explicitly mention when not to use it or provide alternatives among siblings. Some guidance is implied but not fully articulated.

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

stophy_musicA
Read-only
Inspect

type="search": search YouTube Music with q and optional searchType (song|video|album|artist|playlist|podcast|episode|profile), returns items[] and continuationToken. type="suggest": autocomplete music queries with q. type="song": fetch rich song metadata from videoUrl. type="lyrics": fetch lyrics from videoUrl. type="album": fetch album metadata and tracks from albumUrl. type="artist": fetch artist profile sections from artistUrl. type="playlist": fetch playlist tracks from playlistUrl and optional continuationToken.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch or suggestion query
typeYesMusic resource to fetch
albumUrlNoYouTube Music album URL or bare MPRE/OLAK album ID
videoUrlNoYouTube / YouTube Music video URL or bare video ID
artistUrlNoYouTube Music artist URL or bare UC/MPAD artist ID
searchTypeNoMusic search result type. Defaults to songsong
playlistUrlNoYouTube / YouTube Music playlist URL or bare playlist ID
continuationTokenNoPagination token from a previous response
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds behavioral details like return structures ('items[] and continuationToken', 'rich song metadata'), which are not in the annotations.

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

Conciseness4/5

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

The description is structured as a clear list of modes, each with its purpose and required parameters. It is front-loaded with the key information. While lengthy, every sentence adds value for the complexity of eight modes.

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 (8 types, 8 parameters, no output schema), the description adequately covers each type's purpose and required inputs. It lacks details on error handling or response formats beyond brief mentions, but is sufficient for a read-only tool.

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 100%, so the schema already documents all parameters. The description does not add new semantic meaning beyond mapping parameters to types (e.g., 'use videoUrl for type=song'). Baseline 3 is appropriate.

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 a multi-mode YouTube Music interface, listing each type and what it does. However, it does not explicitly differentiate from sibling tools like stophy_get_playlist, which may cause overlap confusion.

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 explicit instructions for each type, indicating which parameters are required (e.g., 'type='song': fetch rich song metadata from videoUrl'). It does not mention when to avoid using this tool or suggest alternatives, but the context is clear.

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

stophy_search_videosA
Read-only
Inspect

Search YouTube by keyword with optional filters. Returns items[] discriminated by type: video items have {id, videoUrl, title, author, description, duration, durationSec, viewCount, publishedAt, isLive, thumbnails}; short items have {id, shortUrl, title, viewCount, thumbnails}; channel items have {id, channelUrl, name, handle, subscriberCount, thumbnails}; playlist items have {id, playlistUrl, title, author, videoCount, thumbnails}. Also returns continuationToken for the next page. Best for: discovering videos on a topic, finding recent uploads. Not recommended for: fetching a specific video you already have the URL for. Use stophy_get_video instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesSearch query
typeNoFilter by content type
sortByNoSort order. Defaults to relevance
durationNoshort = under 4 min, medium = 4 to 20 min, long = over 20 min
featuresNoFilter by video features
uploadDateNoFilter by upload date
continuationTokenNoPagination token from a previous search response
Behavior5/5

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

Annotations declare readOnlyHint=true and destructiveHint=false. Description adds detailed return structure for each item type and explains pagination via continuationToken, which is beyond what annotations provide. No contradiction.

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

Conciseness4/5

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

Description is fairly long but well-structured, front-loading the main action and then detailing return types. Every sentence is informative, though could be slightly more concise.

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?

With 7 parameters fully described in schema and no output schema, description compensates by thoroughly explaining return shapes and pagination. No critical missing information for a search tool.

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 100%, so baseline is 3. Description adds minimal extra parameter info beyond schema, but mentions continuationToken in context. Overall, parameters are well-documented in schema already.

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?

Description clearly states 'Search YouTube by keyword with optional filters' and lists return types discriminated by type. It explicitly distinguishes from sibling tool stophy_get_video, saying 'Not recommended for: fetching a specific video you already have the URL for. Use stophy_get_video instead.'

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

Usage Guidelines5/5

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

Description provides explicit usage guidance: 'Best for: discovering videos on a topic, finding recent uploads. Not recommended for: fetching a specific video you already have the URL for. Use stophy_get_video instead.' This clearly states when to use and when not to use with alternative tool.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources