Skip to main content
Glama

youtube.channel_videos

Fetch a paginated list of videos from a public YouTube channel by its channel id.

Accepts a channel id (for example UCg6gPGh8HU2U01vaFCAsvmQ) or common YouTube channel URLs (for example https://www.youtube.com/@ChrisTitusTech). Use cursor from a prior response for the next page.

Cost = 10 tokens.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor from a previous response cursor field.
channel_idYesYouTube channel id or URL (for example UCg6gPGh8HU2U01vaFCAsvmQ or https://www.youtube.com/@ChrisTitusTech).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cursorNoCursor for the next page, when available.
videosNoChannel videos for the current page.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed4 schema fields changed
    • changedInput schema / properties / channel_id / description
      Previous value: -"YouTube channel id (for example UCg6gPGh8HU2U01vaFCAsvmQ, not a URL)."New value: +"YouTube channel id or URL (for example UCg6gPGh8HU2U01vaFCAsvmQ or https://www.youtube.com/@ChrisTitusTech)."
    • changedInput schema / properties / channel_id / maxLength
      Previous value: -24New value: +2048
    • changedOutput schema / $defs / YoutubeChannelVideosResponseVideosItem / properties / keywords / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/YoutubeChannelVideosResponseVideosItemKeywordsItem"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / YoutubeChannelVideosResponseVideosItemKeywordsItem
      Removed value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "keyword": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Single keyword tag.",
      -      "title": "Keyword"
      -    }
      -  },
      -  "title": "YoutubeChannelVideosResponseVideosItemKeywordsItem",
      -  "type": "object"
      -}
  2. First observed

TDQS

A4.4/5.0
Behavior4/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 pagination behavior ('paginated list', 'Use cursor from a prior response for the next page'), input flexibility (ID or URL), and a public-channel restriction. It also notes the cost. However, it does not detail error handling, ordering, or rate limits, which would have made it more transparent.

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 three sentences, front-loaded with the main purpose, followed by input examples, cursor guidance, and cost. Every sentence adds value with no fluff or repetition. The structure is easy to parse and scannable.

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 presence of an output schema, return values need not be described. The description adequately covers pagination, input formats, and access restrictions. It lacks details like default page size or potential errors, but for a list endpoint with two parameters and full schema coverage, it is reasonably 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?

Schema coverage is 100%, with both parameters already described. The description adds valuable examples ('UCg6gPGh8HU2U01vaFCAsvmQ', 'https://www.youtube.com/@ChrisTitusTech') and reinforces cursor usage for pagination. This goes slightly beyond the schema by demonstrating real input formats, but does not introduce entirely new semantics.

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's function: 'Fetch a paginated list of videos from a public YouTube channel by its channel id.' It uses a specific verb ('fetch') and resource ('videos from a public YouTube channel'), distinguishing it from siblings like youtube.video_details (single video) and youtube.search (video search). Examples of channel IDs and URLs further clarify the resource scope.

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 (when you need videos from a specific channel by ID or URL), but it does not explicitly mention alternatives or when not to use it. The focus on 'public' and pagination hints at limitations, but no direct comparison to sibling tools like youtube.search is provided.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.