Skip to main content
Glama

resolve_youtube_channel

Converts a YouTube channel handle, URL, or username into a channelId. Optionally retrieves the uploads playlist ID for listing all videos.

Instructions

Resolve a YouTube channel reference into a concrete channelId.

What this tool does: - Converts a user-facing channel identifier into a YouTube channelId. - Optionally returns the channel's uploadsPlaylistId, which enables listing all uploaded videos via playlistItems.list.

Supported input formats (examples): - Handle: @GoogleDevelopers - Handle URL: https://www.youtube.com/@GoogleDevelopers - Channel ID URL: https://www.youtube.com/channel/UC... - Legacy username URL: https://www.youtube.com/user/SomeUsername

Parameters: channel_ref: Channel identifier in one of the supported formats. resolution_mode: - strict (default): ambiguous inputs are rejected with an explainable error. This prevents "silent wrong channel" bugs. - best_effort: ambiguous inputs return a short list of candidate channels. (This mode may use the Search API and can be expensive.) include_uploads_playlist: If true, attempts to include uploadsPlaylistId in the output.

Returns (structured JSON): - channelId: string | null - title: string | null - handle: string | null - uploadsPlaylistId: string | null - warnings: string[] - candidates: {channelId,title,handle}[]

Failure modes: - Missing API key: raises error "YOUTUBE_API_KEY not configured". - Ambiguous/unsupported input (strict): raises ValueError with guidance.

Safety notes: - Does not perform destructive actions. - Does not access private channel data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
channel_refYes
resolution_modeNostrict
include_uploads_playlistNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

No annotations are provided, so the description carries full burden. It explicitly states safety notes: no destructive actions, no access to private channel data. It also details failure modes (missing API key, ambiguous input) and behavior of resolution modes. This fully informs the agent of the tool's behavior.

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 sections (What this tool does, Supported input formats, Parameters, Returns, Failure modes, Safety notes). It is comprehensive but not overly verbose. The main purpose is front-loaded. Minor redundancy could be trimmed, but overall efficient.

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 (3 parameters, output schema exists), the description is complete. It covers input formats, parameter behavior, return structure (structured JSON), failure modes, and safety. Nothing essential is 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?

Input schema has 0% description coverage, but the description explains each parameter in detail: channel_ref formats, resolution_mode options (strict vs best_effort) with implications, and include_uploads_playlist boolean. This adds significant meaning beyond the raw 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 'Resolve a YouTube channel reference into a concrete channelId.' It specifies the verb (resolve) and resource (YouTube channel reference to channelId). It also lists supported input formats, making the scope explicit. The tool is distinct from siblings like get_yt_video_info or list_youtube_channel_playlists, which handle different tasks.

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 explains that the tool converts user-facing channel identifiers into channelId, and optionally provides uploadsPlaylistId. It implies usage when you have a channel reference, but does not explicitly state when not to use it or mention alternatives, though the sibling tools suggest other cases. Clear context but no exclusions.

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

Install Server

Other Tools

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/glonorce/youtube_mcp'

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