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.

                UPDATABLE FIELDS (grouped by section):

                TOP-LEVEL:
                - long_description: Company marketing description
                - logo_url / logo_urls: Direct URL(s) to logo images (permanent override; super-user only)
                - clear_logos: true removes the permanent logo override (super-user only)
                - search_keywords: List of SEO/search keywords
                - colors: Legacy flat color list [{hex, type, name?}]
                - fonts: Legacy flat font list [{name, type}]
                - website_background: Hex color of the brand website's background, used by generate_brand_creative as the default ad background

                COLOR PALETTES (each entry: {hex, name, usage}):
                - primary_colors, accent_colors, extended_palette, semantic_colors

                TYPOGRAPHY (string values):
                - primary_font, primary_font_usage, secondary_font, secondary_font_usage
                - headline_font, headline_weight, headline_size, headline_case, headline_linespace, headline_letterspace
                - eyebrow_font, eyebrow_weight, eyebrow_case, eyebrow_linespace, eyebrow_letterspace
                - subtitle_font, subtitle_weight, subtitle_linespace, subtitle_letterspace
                - body_font, body_weight, body_size, body_linespace, body_letterspace
                - cta_font, cta_weight, cta_size, cta_linespace, cta_letterspace

                LOGO USAGE:
                - logo_on_dark, logo_on_light, logo_clear_space: string rules
                - logo_misuse: list of misuse rules

                CTA SYSTEM:
                - button_shape, button_background, button_text_color, button_text_weight, button_text_case, button_padding
                - standard_ctas: list of CTA labels
                - cta_placement: placement guidance

                SIGNATURE ELEMENTS:
                - tagline, tagline_placement: strings
                - tagline_variants, visual_motifs, promotional_elements: lists

                MESSAGING:
                - tone: string
                - value_propositions, headline_formulas, proof_points: lists
                - product_names: dict (e.g. {platform: "X", vlm: "Y"})

                CONTENT HIERARCHY:
                - content_hierarchy_order: list, content_hierarchy_spacing: string, content_hierarchy_text_max_width: string

                PHOTOGRAPHY:
                - photography_style, photography_treatment, photography_avoid: strings
                - photography_subjects: list

                RULES:
                - dos: list of "do" rules
                - donts: list of "don't" rules

                LAYOUT & CHANNELS:
                - primary_layouts: list of layout dicts
                - channel_linkedin, channel_facebook, channel_display: channel config dicts

                EXAMPLE: {"company_url": "ambient.ai", "tagline": "See what matters.", "headline_font": "Chakra Petch", "primary_colors": [{"hex": "#FFFFFF", "name": "White", "usage": "Primary background"}]}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dosNoBrand 'do' rules.
toneNoBrand tone description.
dontsNoBrand 'don't' rules.
fontsNoLegacy flat font list. Each: {name, type}.
colorsNoLegacy flat color list. Each: {hex (with #), type, name?}.
taglineNoPrimary brand tagline.
cta_fontNoCTA/button font family.
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.
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.
logo_on_darkNoLogo color rule on dark backgrounds.
primary_fontNoPrimary font family name.
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.
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.
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.
channel_displayNoDisplay ads channel config.
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_facebookNoFacebook channel config.
channel_linkedinNoLinkedIn channel config.
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.
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. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the description does not need to repeat safety. It adds useful behavioral context: logo_url/logo_urls and clear_logos require elevated permissions and clear_logos removes the permanent override. It also explains website_background's effect on generate_brand_creative. These details go beyond the annotation without contradiction.

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 (necessary for 78 parameters) but extremely well-organized with section headers and a front-loaded requirement statement. Every field is listed under a logical category. It is not concise in word count, but the structure makes it efficient to scan. Slightly verbose for some fields that are self-explanatory, but acceptable given complexity.

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 tool with 78 parameters, no output schema, and complex nested objects, the description is comprehensive. It covers all fields, provides grouping, explains legacy vs modern structures, and includes an example. It even flags permission requirements and behavioral nuances. Nothing an agent needs to invoke it correctly is 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?

Schema coverage is 100%, so the baseline is 3. The description adds significant value by grouping parameters into sections, clarifying nested object shapes (e.g., color palettes with hex/name/usage), and providing a concrete example. It does not merely repeat schema descriptions but adds structure and usage hints.

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 states the verb ('Update'), resource ('existing brand kit'), and the core requirement ('Only company_url is required; all others are optional'). It is distinct from sibling tools like generate_brand_kit (creation) and get_brand_kit (read), making the purpose unambiguous.

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 states this is for updating an existing brand kit, which differentiates it from creation/read siblings. It does not explicitly name alternatives or exclusion conditions, but the 'update existing' phrasing plus the huge field list makes the usage context clear. Lacks explicit 'when not to use' guidance.

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