Skip to main content
Glama
hermoso-ai

Hermoso

Official

YouTube analytics broken down by dimension

youtube_channel_report
Read-only

Pull granular YouTube Analytics: traffic sources, search terms, demographics, retention curves, and more. Identify where views originate, how drops occur, and what drives performance using actionable reports.

Instructions

The YouTube Analytics reports that say WHERE views came from, WHO watched and WHERE they stopped watching — the questions youtube_channel (totals) and youtube_video_insights (one video, flat) cannot answer. Pick a report: day / month (time series) · country / province (US states) / city / dma (geography) · trafficSource (search vs browse vs suggested vs shorts feed vs external — the single most useful one for judging a thumbnail and title) · trafficSourceDetail (the actual search terms, inside ONE source — pass parent, e.g. "YT_SEARCH") · playbackLocation / playbackLocationDetail (which sites embedded it) · device / operatingSystem · demographics (age + gender) · sharingService · subscribedStatus · audienceRetention (the drop-off CURVE, 100 points across ONE video — the read that tells you whether the hook held and exactly when people left) · topVideos (the channel’s best in the window). Scope it to one or more videoIds, or omit for the whole channel. An unknown report name is refused WITH the list rather than quietly swapped. TWO THINGS TO SAY OUT LOUD WHEN REPORTING: demographics returns viewerPercentage and NOTHING else — YouTube publishes no absolute demographic counts, so never convert it into a number of viewers — and a capped report (city 250, topVideos 200, the *Detail reports 25) is the TOP N, not the whole set. Zero rows means missing data for that window, never zero views. Read-only, 0 credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNorows, within YouTube’s own cap for that report
parentNorequired by the *Detail reports: the ONE parent to drill into, e.g. "YT_SEARCH" / "SUBSCRIBER" / "RELATED_VIDEO" for trafficSourceDetail, "EMBEDDED" for playbackLocationDetail
reportNowhich report (default day)
endDateNoYYYY-MM-DD, default today
videoIdsNonarrow to these videos — audienceRetention requires exactly ONE, because the curve is per video
startDateNoYYYY-MM-DD, default 28 days ago
Behavior5/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, openWorldHint=true. The description goes beyond annotations by explaining that demographics returns only viewerPercentage and nothing else, warning against converting to absolute viewers. It also clarifies that capped reports are top N, and that zero rows means missing data, not zero views. No contradictions with annotations; the description adds substantial behavioral context 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.

Conciseness5/5

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

The description is dense but well-structured: it starts with the core purpose, then lists reports with parenthetical explanations, and ends with critical caveats. Every sentence carries information that aids correct usage. It is long but appropriately so given the complexity of 17 different reports. Front-loaded with the key differentiator and the most useful report. No fluff.

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 complexity (17 reports, 6 parameters, no output schema), the description is remarkably complete. It covers report selection, parameter interactions (parent, videoIds), behavior on unknown reports, and important data interpretation caveats. The absence of an output schema is compensated by telling the agent what to expect in terms of data shape (e.g., demographics returns viewerPercentage only) and limits. An agent can call this tool correctly without needing further clarification.

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?

Schema description coverage is 100%, so baseline is 3. However, the description adds extensive meaning beyond the schema: it explains the practical purpose of the report enum (e.g., trafficSourceDetail requires parent), defines 'parent' as required by *Detail reports with examples, clarifies that audienceRetention requires exactly ONE video, and notes the caps per report. The description enriches the parameters with context that the schema alone does not provide.

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 identifies what the tool does: it provides YouTube analytics broken down by dimension, explicitly contrasting it with youtube_channel (totals) and youtube_video_insights (one video, flat). It lists all reports and their meanings. This is a specific verb+resource with full clarity.

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 states when to use this tool versus alternatives: 'the questions youtube_channel (totals) and youtube_video_insights (one video, flat) cannot answer.' It also gives practical guidance on choosing reports (e.g., trafficSource is the most useful for judging thumbnail/title), how to scope with videoIds, and warns about unknown report names being refused with a list. It provides clarity on when to omit videoIds (whole channel) and the requirement for audienceRetention to use exactly one video.

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/hermoso-ai/hermoso'

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