Skip to main content
Glama
hermoso-ai

Hermoso

Official

Apply the brand to the YouTube channel itself

update_youtube_channel
Idempotent

Brand your YouTube channel with banner, description, keywords, country, and trailer. Merges existing settings before applying, so no data is lost, and reports any fields YouTube ignored.

Instructions

APPLY THE BRAND TO THE CHANNEL ITSELF — banner art, description, keywords, country and the trailer non-subscribers see. Every other YouTube tool brands the videos; this brands the page they sit on. Under the hood channels.update is a PUT, so the CURRENT settings are read and merged first — otherwise setting a description would silently wipe the channel's keywords, country and trailer. AND YOUTUBE SILENTLY IGNORES SOME FIELDS, channel title above all (usually only changeable in YouTube Studio): the result DIFFS what YouTube actually stored against what was asked for and reports anything that did not stick in notApplied. DO NOT REPORT THOSE AS CHANGED — a 200 is what YouTube accepted, not what it stored. A banner must be a Hermoso render (jpeg or png, under 6MB); YouTube re-crops it per device, so the safe area is the middle 1235x338 of a 2048x1152 image. Public and immediate — show the user what is going on the channel first. 0 credits. Needs YouTube connected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleNothe channel title — YouTube often accepts and ignores this; the result says whether it stuck
countryNotwo-letter country code for the channel
keywordsNochannel keywords, COMMA-SEPARATED (Google's wire format is one string, not a list)
descriptionNothe channel description — the About text
bannerImageUrlNoany public https image URL to upload as the channel banner — a Hermoso render, or ANY file of your own brought in with upload_file
defaultLanguageNothe channel's default language
unsubscribedTrailerNovideo id of the trailer shown to people who are not subscribed
Behavior5/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description goes far beyond these, revealing the PUT-merge semantics (reads current settings first to avoid wiping fields), the silent-ignore behavior for some fields (like channel title), the result diffing with `notApplied`, and the instruction not to report unaccepted fields as changed. It also discloses banner constraints and credit cost, adding substantial behavioral context that the annotations do not cover.

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 long but dense and well-structured: it front-loads the primary purpose, then layers critical warnings in uppercase with clear transitions. Every sentence adds value—the merge behavior, the ignored-fields warning, the notApplied handling, banner constraints, and the public/immediate timing. While it is verbose, the emphasis is justified given the tool's complexity and multiple failure modes, so it earns a high but not perfect score.

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 (PUT-merge, silent field rejection, banner dimensions) and no output schema, the description covers all critical aspects an agent needs to call it safely: it explains the merge behavior to avoid accidental data loss, warns about ignored fields and how to interpret the result, specifies banner constraints, and notes the credit cost and connection requirement. Nothing essential for correct invocation 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?

Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining practical pitfalls for specific parameters: it warns that `title` is often silently ignored, explains the `keywords` comma-separated format in a way that reinforces the wire format, and specifies banner requirements (type, size, safe area) that are not in the schema. This turns abstract fallback/caveats into actionable guidance, exceeding baseline.

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 states a specific verb ('Apply the brand') and resource ('the channel itself'), enumerates the exact fields affected (banner art, description, keywords, country, trailer), and explicitly contrasts itself with sibling tools by noting 'Every other YouTube tool brands the videos; this brands the page they sit on.' This unambiguous scoping makes it instantly distinguishable from update_youtube_video and other YouTube tools.

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 implicitly routes usage by contrasting with other YouTube tools ('Every other YouTube tool brands the videos; this brands the page they sit on'), and it adds operational guidance on when to show the user (before making public changes). However, it does not explicitly name alternatives or state exclusions (e.g., 'use this instead of X when Y'), leaving some inference to the agent.

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