Back to Tool Reference
MCP

brand_dna.set

Fully replace the caller organization's Brand DNA.

Effectoverwrites or deletesScopebrand_dna:writePlanStarter+Rate limit10/min

This write is deterministic for agents: omitted non-logo Brand DNA fields are replaced with empty values. Existing logo fields are preserved unless the optional logo object is supplied.

Parameters

brand_descriptionstringDefault: ""

Reviewed brand identity description.

colorsstring[]

Brand colors as hex codes (#RRGGBB or #RGB), stored as uppercase #RRGGBB. Omitted means replace with [].

typographystringDefault: ""

Typography guidance. Omitted means replace with "".

tonestringDefault: ""

Voice-and-tone guidance. Omitted means replace with "".

product_typesstring[]

Product type names, slugs, or display terms. Omitted means replace with [].

nichesstring[]

Business niches as strings, or {name} objects exactly as brand_dna.get returns them. Omitted means replace with [] — pass the niches from brand_dna.get through to keep the existing ones.

audiencesobject[]

Target audiences. Accepts exactly what brand_dna.get returns (age_range as a "min-max" string, [min, max], or {min, max}). Preset audiences may be passed as just {"key": ..., "is_preset": true} — see brand_dna.list_audience_presets for the catalog. Matching keys keep their existing rows (and virtual models) instead of recreating them.

user_brand_inputstringDefault: ""

Raw source description. Omitted means replace with "".

categoriesstring[]

Legacy category names, also used to resolve product types when product_types is absent.

logoobject

Optional object with logo_url, logo_s3_key, and/or logo_description to update logo fields.

Returns

brand_descriptionstring

Persisted brand description.

colorsstring[]

Persisted colors.

typographystring

Persisted typography guidance.

tonestring

Persisted tone guidance.

product_typesstring[]

Persisted product type names.

nichesobject[]

Persisted niche rows. Each: name, is_preset.

audiencesobject[]

Persisted audience rows — same shape brand_dna.get returns.

trend_pipeline_requestedboolean

Whether a trend rerun was queued. Fires when the brand description, product types, niches, or audiences changed; runs are debounced per org (~2-minute window), so bursts coalesce into one run.

Request
json
{
  "name": "brand_dna.set",
  "arguments": {
    "brand_description": "Minimal streetwear for night-shift creatives.",
    "colors": [
      "#0B0B0F",
      "#F5F1E8"
    ],
    "tone": "Dry, confident, a little nocturnal",
    "product_types": [
      "tee",
      "hoodie"
    ]
  }
}