youtube_channel_search
Search a channel's own videos and playlists.
Bulk support: accepts ids for batched execution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| ids | No | ||
| query | Yes | ||
| token | No | ||
| forUsername | No |
Search a channel's own videos and playlists.
Bulk support: accepts ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| ids | No | ||
| query | Yes | ||
| token | No | ||
| forUsername | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations clearly indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it is a safe, non-destructive read operation. The description adds that it supports bulk execution ('accepts ids for batched execution') and scopes to channel-specific content, which is useful beyond the annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief, consisting of two sentences that are front-loaded with the main purpose. Every sentence adds value: the first explains the tool's function, the second highlights bulk support. It is efficient and avoids fluff, though it could benefit from slightly more detail on parameter semantics without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and the presence of 5 parameters with no schema descriptions, the description is insufficient. It does not explain return format, pagination (via token?), or how the search differs from listing. The two-line description is too sparse for an agent to use the tool correctly in diverse scenarios, especially with zero schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the plain parameter names (id, ids, query, token, forUsername) leave much unsaid. The description mentions 'ids' for bulk support, adding meaning to that parameter. However, it does not clarify what 'id' refers to (channel ID, video ID?), the role of 'forUsername', or the format of 'token'. The description falls short of compensating for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool searches a channel's own videos and playlists, which specifies a clear verb and resource. However, it does not explicitly distinguish it from sibling tools like youtube_channel_videos or youtube_channel_playlists, which might be used to list content without search. The purpose has some ambiguity regarding the exact scope of 'search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions bulk support for batched execution, providing some context. However, it does not indicate when to use this tool versus alternatives like youtube_search (general search) or youtube_channel_videos (to list all videos). No exclusions or alternative recommendations are given, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.