Skip to main content
Glama

Metadata MCP Connector

Update Brand Kit

update_brand_kit
Destructive

Update existing brand kit with brand DNA parameters. Only company_url is required; all others are optional.

Input Schema

NameRequiredDescriptionDefault
dosNoBrand 'do' rules.
toneNoBrand tone description.
dontsNoBrand 'don't' rules.
fontsNoLegacy flat font list. Each: {name, type}. Layered creatives do not read it: use headline_font and body_font.
colorsNoLegacy flat color list. Each: {hex (with #), type, name?}.
taglineNoPrimary brand tagline.
cta_fontNoCTA/button font family. Layered creatives do not read it: their CTA uses body_font.
cta_sizeNoCTA/button font size.
logo_urlNoDirect URL to a single company logo image (back-compat; prefer logo_urls). Setting a permanent brand logo requires elevated Metadata permissions.
body_fontNoBody text font family. Layered creatives set the supporting line, the CTA and any other text in it.
body_sizeNoBody text font size.
logo_urlsNoOne or more direct URLs to logo images to set as the brand's permanent logo(s). Each uploaded logo is automatically expanded into clean, persisted variants (transparent, high-res, and both a light and dark version when the mark is a single color) so generated creatives have multiple usable options. Setting a permanent brand logo requires elevated Metadata permissions.
cta_weightNoCTA/button font weight.
body_weightNoBody text font weight.
clear_logosNoRemove the brand kit's permanent logo override entirely (no logo_url needed), so creatives fall back to the cached Brandfetch logo variants for the domain. Use when a manually set logo turned out wrong or low quality. Same elevated Metadata permissions as setting one.
company_urlYesCompany website URL or domain (e.g. 'ambient.ai').
logo_misuseNoList of logo misuse rules.
button_shapeNoButton shape description.
eyebrow_caseNoEyebrow text case rule.
eyebrow_fontNoEyebrow font family. Layered creatives do not read it: use body_font.
logo_on_darkNoLogo color rule on dark backgrounds.
primary_fontNoPrimary font family name. Layered creatives use it where headline_font or body_font is unset.
proof_pointsNoEvidence/social proof items.
accent_colorsNoAccent color palette.
cta_linespaceNoCTA/button line spacing.
cta_placementNoCTA placement guidance.
headline_caseNoHeadline text case rule.
headline_fontNoHeadline font family. Layered creatives set the headline in it.
headline_sizeNoHeadline font size range.
logo_on_lightNoLogo color rule on light backgrounds.
product_namesNoProduct name mapping (e.g. {platform: 'X', vlm: 'Y'}).
standard_ctasNoStandard CTA labels.
subtitle_fontNoSubtitle font family. Layered creatives do not read it: their supporting line uses body_font.
visual_motifsNoBrand visual motifs.
body_linespaceNoBody text line spacing.
button_paddingNoButton padding.
eyebrow_weightNoEyebrow font weight.
primary_colorsNoPrimary color palette.
secondary_fontNoSecondary/display font family name. Layered creatives do not read it: use headline_font or body_font.
channel_displayNo
cta_letterspaceNoCTA/button letter spacing.
headline_weightNoHeadline font weight.
primary_layoutsNoLayout system definitions.
search_keywordsNoSEO/search keywords for the brand.
semantic_colorsNoSemantic/status colors.
subtitle_weightNoSubtitle font weight.
body_letterspaceNoBody text letter spacing.
button_text_caseNoButton text case.
channel_facebookNo
channel_linkedinNo
extended_paletteNoExtended grayscale palette.
logo_clear_spaceNoLogo clear space rule.
long_descriptionNoCompany description for marketing use.
remove_old_logosNoWhen true (default), replace the brand's existing logos with the provided ones; when false, append to them.
secondary_colorsNoSecondary (supporting) color palette.
tagline_variantsNoAlternative taglines.
button_backgroundNoButton background style.
button_text_colorNoButton text color rule.
eyebrow_linespaceNoEyebrow line spacing.
headline_formulasNoHeadline writing patterns.
photography_avoidNoPhotography anti-patterns.
photography_styleNoPhotography style description.
tagline_placementNoTagline placement guidance.
button_text_weightNoButton text weight.
headline_linespaceNoHeadline line spacing.
primary_font_usageNoPrimary font usage description.
subtitle_linespaceNoSubtitle line spacing.
value_propositionsNoCore value propositions.
website_backgroundNo6-digit hex color (e.g. '#FFFFFF') of the brand website's background. generate_brand_creative uses it as the default dominant background for ads (use_website_background). Set it when the user wants ads to match their site's background or the auto-detected value is wrong.
eyebrow_letterspaceNoEyebrow letter spacing.
headline_letterspaceNoHeadline letter spacing.
photography_subjectsNoRecommended photo subjects.
promotional_elementsNoPromotional proof points.
secondary_font_usageNoSecondary font usage description.
subtitle_letterspaceNoSubtitle letter spacing.
photography_treatmentNoPhoto treatment rules.
content_hierarchy_orderNoContent element ordering.
content_hierarchy_spacingNoSection spacing guidance.
content_hierarchy_text_max_widthNoMax text block width.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / properties / channel_display / additionalProperties
      Added value: +true
    • removedInput schema / properties / channel_display / description
      Removed value: -"Display ads channel config."
    • addedInput schema / properties / channel_display / properties
      Added value: +{
      +  "cta_preference": {
      +    "type": "string"
      +  },
      +  "focus": {
      +    "type": "string"
      +  },
      +  "size": {
      +    "type": "string"
      +  },
      +  "text_overlay_limit": {
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / channel_facebook / additionalProperties
      Added value: +true
    • removedInput schema / properties / channel_facebook / description
      Removed value: -"Facebook channel config."
    • addedInput schema / properties / channel_facebook / properties
      Added value: +{
      +  "cta_preference": {
      +    "type": "string"
      +  },
      +  "focus": {
      +    "type": "string"
      +  },
      +  "size": {
      +    "type": "string"
      +  },
      +  "text_overlay_limit": {
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / channel_linkedin / additionalProperties
      Added value: +true
    • removedInput schema / properties / channel_linkedin / description
      Removed value: -"LinkedIn channel config."
    • addedInput schema / properties / channel_linkedin / properties
      Added value: +{
      +  "cta_preference": {
      +    "type": "string"
      +  },
      +  "focus": {
      +    "type": "string"
      +  },
      +  "size": {
      +    "type": "string"
      +  },
      +  "text_overlay_limit": {
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / primary_layouts / items / additionalProperties
      Added value: +true
    • addedInput schema / properties / primary_layouts / items / properties
      Added value: +{
      +  "background": {
      +    "type": "string"
      +  },
      +  "best_for": {
      +    "type": "string"
      +  },
      +  "frequency": {
      +    "type": "string"
      +  },
      +  "name": {
      +    "type": "string"
      +  },
      +  "structure": {
      +    "type": "string"
      +  },
      +  "text_alignment": {
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / product_names / additionalProperties
      Added value: +{
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / secondary_colors
      Added value: +{
      +  "description": "Secondary (supporting) color palette.",
      +  "items": {
      +    "properties": {
      +      "hex": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "usage": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "hex",
      +      "name",
      +      "usage"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  3. Changed8 schema fields changed
    • changedInput schema / properties / body_font / description
      Previous value: -"Body text font family."New value: +"Body text font family. Layered creatives set the supporting line, the CTA and any other text in it."
    • changedInput schema / properties / cta_font / description
      Previous value: -"CTA/button font family."New value: +"CTA/button font family. Layered creatives do not read it: their CTA uses body_font."
    • changedInput schema / properties / eyebrow_font / description
      Previous value: -"Eyebrow font family."New value: +"Eyebrow font family. Layered creatives do not read it: use body_font."
    • changedInput schema / properties / fonts / description
      Previous value: -"Legacy flat font list. Each: {name, type}."New value: +"Legacy flat font list. Each: {name, type}. Layered creatives do not read it: use headline_font and body_font."
    • changedInput schema / properties / headline_font / description
      Previous value: -"Headline font family."New value: +"Headline font family. Layered creatives set the headline in it."
    • changedInput schema / properties / primary_font / description
      Previous value: -"Primary font family name."New value: +"Primary font family name. Layered creatives use it where headline_font or body_font is unset."
    • changedInput schema / properties / secondary_font / description
      Previous value: -"Secondary/display font family name."New value: +"Secondary/display font family name. Layered creatives do not read it: use headline_font or body_font."
    • changedInput schema / properties / subtitle_font / description
      Previous value: -"Subtitle font family."New value: +"Subtitle font family. Layered creatives do not read it: their supporting line uses body_font."
  4. First observed

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known. The description adds only required/optional framing and does not explain partial-update semantics, whether omitted fields are preserved, or the impact of the destructive mutation.

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 two sentences, front-loaded with the core action and followed by the key required/optional distinction. There is no wasted language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity mutation tool with 79 parameters, no output schema, and a destructive annotation. The description is too sparse to explain update semantics, destructive behavior, or operational context beyond basic required/optional information.

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 description coverage is 96%, so parameter semantics are largely documented by the schema itself. The description only restates that company_url is required and all others are optional, adding little beyond the structured parameters.

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 states a specific verb and resource: update an existing brand kit with brand DNA parameters. The word 'existing' helps distinguish it from generate_brand_kit, but it does not explicitly name sibling alternatives or scope what kinds of updates are supported.

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?

It only states that company_url is required and others are optional, with no guidance on when to use this tool versus generate_brand_kit, get_brand_kit, or edit_brand_creative. There are no exclusions, prerequisites, or warnings about destructive updates.

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.

Resources