Skip to main content
Glama
hermoso-ai

Hermoso

Official

Update profile fields

update_brand
Destructive

Patch only the brand profile fields you need to change—voice, audience, domain—preserving all other saved details. Use draft_brand for new brands.

Instructions

Patch SPECIFIC fields of the active profile (name, domain, sells, summary, category, audience, positioning, voice, style, goal, logos, brand/product name pronunciations, profileType: explore = kept but unused) WITHOUT overwriting the rest — a read-modify-write on the saved brand. Use for “change our voice to playful”, “we sell to dentists now”. To onboard a brand from scratch, use draft_brand. If no brand is saved yet and you only INFERRED one from what the user is making, ask them to confirm it is their brand before saving it (they may be working for a client or just trying things). Only pass the fields you’re changing.

Input Schema

NameRequiredDescriptionDefault
goalNocurrent marketing goal
logoNo
nameNo
brandNoprofile id/name from list_brands, this call only
sellsNowhat the brand sells
styleNovisual style — palette, typography, aesthetic
voiceNobrand voice/tone
domainNowebsite domain
summaryNoone-line description
audienceNo
categoryNo
logoDarkNofor light pictures
logoLightNofor dark pictures; "none" removes
pronounceNohow the brand NAME is said aloud, as a simple respelling with the stressed syllable in capitals (e.g. "KOH-dee-ak"). Videos use it as a delivery note beside the spoken line; set it when a render mispronounced the name.
positioningNo
profileTypeNo
pronunciationsNohow PRODUCT names are said aloud, e.g. {"Power Cakes": "POW-er cakes"}. Merged into the saved ones; an empty string removes one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.409
    • addedInput schema / properties / profileType
      Added value: +{
      +  "enum": [
      +    "website",
      +    "social",
      +    "describe",
      +    "explore"
      +  ],
      +  "type": "string"
      +}
  2. Changed3 schema fields changedv0.1.398
    • addedInput schema / properties / logo
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / logoDark
      Added value: +{
      +  "description": "for light pictures",
      +  "type": "string"
      +}
    • addedInput schema / properties / logoLight
      Added value: +{
      +  "description": "for dark pictures; \"none\" removes",
      +  "type": "string"
      +}
  3. Changed1 schema field changedv0.1.374
    • changedInput schema / properties / brand / description
      Previous value: -"brand id/name from list_brands, this call only"New value: +"profile id/name from list_brands, this call only"
  4. Changed1 schema field changedv0.1.371
    • addedInput schema / properties / brand
      Added value: +{
      +  "description": "brand id/name from list_brands, this call only",
      +  "type": "string"
      +}
  5. Changed2 schema fields changedv0.1.366
    • addedInput schema / properties / pronounce
      Added value: +{
      +  "description": "how the brand NAME is said aloud, as a simple respelling with the stressed syllable in capitals (e.g. \"KOH-dee-ak\"). Videos use it as a delivery note beside the spoken line; set it when a render mispronounced the name.",
      +  "type": "string"
      +}
    • addedInput schema / properties / pronunciations
      Added value: +{
      +  "additionalProperties": {
      +    "type": "string"
      +  },
      +  "description": "how PRODUCT names are said aloud, e.g. {\"Power Cakes\": \"POW-er cakes\"}. Merged into the saved ones; an empty string removes one.",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
  6. Addedv0.1.161

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-idempotent, non-open-world and destructive, so the safety bar is partly carried; the description adds genuinely new context beyond that: read-modify-write semantics, that profileType=explore is kept but unused, and that a brand inferred from the user's work must be confirmed before saving. It does not explain how removals work or what the response looks like, and there is mild tension between destructiveHint=true and the emphasis on non-overwriting, though the two are not strictly contradictory.

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 core mechanics (specific-field patch, no overwrite, read-modify-write) are front-loaded, followed by examples, the sibling alternative, and a caveat. It is dense and mostly earns its length, but the parenthetical field list plus the confirmation aside make it longer than needed for a tool whose schema already enumerates the fields.

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?

For a 17-parameter mutation tool with no output schema, the description covers the essential agent-facing questions: what gets changed, what is preserved, which sibling handles the other case, and the pre-save confirmation requirement. Nothing critical to invoking it correctly appears to be missing.

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?

With 17 parameters and only 65% schema description coverage, the description usefully supplements the schema: it enumerates the patchable field groups, clarifies that no field is required implicitly by saying only changed fields should be sent, and explains the non-obvious 'explore' profileType behavior. It does not, however, cover the merge/removal semantics of logoLight or pronunciations beyond what the schema already states, so it does not fully close the coverage gap.

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?

States a precise verb+resource (patch specific profile fields on the saved/active brand) and immediately contrasts it with creating a brand from scratch by naming draft_brand. The read-modify-write framing tells an agent exactly what class of operation this is, distinguishing it from siblings like create_brand, draft_brand, get_brand and list_brands.

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?

Gives concrete trigger phrases ("change our voice to playful", "we sell to dentists now"), names the alternative for from-scratch onboarding (draft_brand), and adds a prerequisite/confirmation rule for inferred brands. It also states the operational rule "only pass the fields you're changing," so both when-to-use and how-to-use are covered.

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

Deploy Server

Other Tools