Skip to main content
Glama
YouTube Personal Playlist noAPI MCP

YouTube Personal Playlist noAPI MCP

by bigbatmanorg

youtube_playlist_stats

Read-only

Summarize any YouTube playlist, including Watch Later, to get video counts, total and remaining watch time at multiple speeds, watched/partial/unavailable/duplicate counts, and top channels.

Instructions

Summarize a whole playlist (Watch Later "WL" included): video count, total and remaining duration (also at 1.25x/1.5x/2x), watched and partially watched counts, unavailable and duplicate counts, and top channels.

Input Schema

NameRequiredDescriptionDefault
playlist_idYesPlaylist ID or any YouTube URL with a list= parameter.
watched_thresholdNoPercent watched that counts as watched (default 90).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds real behavioral context beyond that: it covers Watch Later via the "WL" alias, reports unavailable and duplicate entries, and computes durations at multiple playback speeds. It says nothing about cost, latency, or failure behavior for a whole-playlist scan, which matters for an open-world read.

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?

A single dense sentence that front-loads the action and then lists outputs in a scannable order. Every clause maps to a returned metric, though the parenthetical speed multipliers are slightly cluttered.

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?

With no output schema, the description does the necessary work of enumerating return values, which makes the tool callable with correct expectations. Minor gaps remain, such as what "remaining duration" means and how invalid or private playlists are reported.

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 schema already documents both playlist_id (ID or any URL with list=) and watched_threshold (default 90 percent). The description's mention of "watched and partially watched counts" only loosely signals that the threshold parameter controls those numbers; it adds no new format or edge-case detail.

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 opens with a specific verb and resource ("Summarize a whole playlist") and then enumerates the exact metrics returned, so the agent knows this is an aggregate-stats tool rather than a raw listing. It never names a sibling like youtube_get_playlist, so differentiation is inferred from the metric list rather than stated.

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?

There is no explicit when-to-use or when-not-to-use guidance and no mention of the alternative listing tools in the sibling set. The enumerated metrics only imply that this is the tool for analysis, which the agent must infer on its own.

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