---
title: brand_get
description: Fetch one brand by slug — its identity, voice, guidelines, messaging and personas — so an agent knows who it is acting for.
---

Fetches a single **Brand** by its `slug`: the full brand context plus the current `revision`. Discover slugs first with [`brand_list`](/mcp/tools/brand-list).

This is what an agent reads before writing copy, judging a campaign, or making a recommendation — so that it sounds like you rather than like a generic assistant.

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `brand_name` | `string` | yes | The Brand slug (its per-organization handle). |

## Output

`{ brand, personas, documents, advertisers }`.

The brand carries `logoDocumentId` when one of its documents has been nominated as the logo — fetch it with [`document_get`](/mcp/tools/document-get) to see the image itself.

It also carries `websiteUrl` when one has been set: the brand's public site. Useful for exactly what the sections do not cover — if the brief is thin on something you need, that is where to look.

The `brand` carries `slug`, `name`, `description`, `revision`, and four context sections:

| Section      | What belongs in it                             |
| ------------ | ---------------------------------------------- |
| `identity`   | Positioning, mission, what you offer, category |
| `voice`      | Tone and personality — how the brand sounds    |
| `guidelines` | Do's and don'ts, guardrails, claims to avoid   |
| `messaging`  | Key messages, value propositions, proof points |

Each section is free-form markdown, and each is independently optional — a section you haven't written yet is `null`, which is normal rather than an error.

## Example

> _"Write three ad headlines for Acme Running."_

```ts
brand_get({ brand_name: 'acme-running' });
// → { brand: { slug: 'acme-running', voice: 'Direct, unfussy, never hype.',
//              websiteUrl: 'https://acme.example', … },
//     personas: [{ slug: 'marathon-maya', ageMin: 30, ageMax: 44, … }],
//     documents: [], advertisers: [] }
```

The agent reads `voice` and `guidelines` before drafting, so the headlines come back on-brand instead of generic.

:::info[Personas come back as summaries]

`personas` lists who this brand talks _to_ — name, description, age range, and which of their sections are written, but never the text itself. Pick one and load it with [`persona_get`](/mcp/tools/persona-get). There is deliberately no `persona_list` tool: this is the list.

:::

:::info[The other lists are by reference too]

`documents` lists the brand's files, each with a URL — never their contents. `advertisers` lists the ad accounts [attached](/mcp/tools/brand-attach-advertiser) to the brand, which is how an agent gets from a brand to the ad accounts its context applies to. Going the other way — ad account to brand — is [`brand_resolve`](/mcp/tools/brand-resolve).

:::

:::tip[Keep the revision]

If you intend to edit the Brand, hold onto `revision` — pass it as `base_revision` to [`brand_update`](/mcp/tools/brand-update) or [`brand_delete`](/mcp/tools/brand-delete) so a concurrent change can't be silently overwritten.

:::

Requires the `brand:read` scope.
