> For the complete documentation index, see [llms.txt](https://docs.airops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airops.com/mcp-server/tools-and-support/tools/workspace-and-brand-kits.md).

# Workspace & Brand Kits

Find workspaces and Brand Kits, manage brand content and visual assets, and publish approved drafts.

Find workspaces and Brand Kits, manage brand content and visual assets, and publish approved drafts.

See [plan access](broken://pages/GlhqboJgu5fTfPseY3y1#plan-access) and [query options](broken://pages/GlhqboJgu5fTfPseY3y1#query-options) for shared requirements.

## Workspace & Brand Kit

### `list_workspaces`

List all workspaces you have access to.

**Returns:** Workspace ID, name, slug, and subscription tier.

| Parameter   | Values            |
| ----------- | ----------------- |
| **Filters** | name, tier        |
| **Sort**    | name, created\_at |

***

### `list_brand_kits`

List all Brand Kits you have access to. Returns `brand_management_enabled` and `aeo_enabled` flags for each Brand Kit, so you know which capabilities are available.

* Use `get_brand_kit` for Brand Kits with `brand_management_enabled: true`
* Use `get_insights_settings` for Brand Kits with `aeo_enabled: true`

**Returns:** Brand Kit ID, name, about, URL, workspace name, `brand_management_enabled`, and `aeo_enabled`.

| Parameter   | Values                                                                             |
| ----------- | ---------------------------------------------------------------------------------- |
| **Filters** | workspace\_name, brand\_name, brand\_url, brand\_management\_enabled, aeo\_enabled |
| **Sort**    | brand\_name, created\_at                                                           |

***

### `get_brand_kit`

Get a specific Brand Kit by ID for brand management and content creation. Returns brand identity, writing style, and related entities.

**Requires:** `id`

**Returns:** Brand name, URL, about, writing persona, writing tone, status, and timestamps. Optionally includes related entities with nested data.

| Parameter    | Values                                                                                                                                                                                                                              |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Includes** | product\_lines, product\_lines.competitors, audiences, audiences.writing\_rules, content\_types, content\_types.content\_samples, content\_types.writing\_rules, regions, regions.writing\_rules, writing\_rules, custom\_variables |

Use `fields` for values such as `product_lines.name` and `includes` for associations such as `product_lines.competitors`. A nested include also includes its parent, so that example allows selecting `product_lines.id` and `product_lines.name` without a separate parent include.

Global `writing_rules` and scoped rules such as `content_types.writing_rules` are separate includes. Request both explicitly when you need both; selecting fields does not load an association automatically.

***

### `get_insights_settings`

Get AEO insights configuration for a Brand Kit. Returns the information needed to use any AEO and analytics tools.

**Requires:** `id`

**Returns:** Brand Kit ID, name, URL, countries, AEO status, prompt count, customer description, competitors with domain URLs, and personas.

***

### `update_brand_kit`

Update a Brand Kit's base fields. Only provided fields are changed.

**Requires:** `brand_kit_id`

**Updatable fields:** `brand_name`, `brand_url`, `brand_about`, `writing_persona`, `writing_tone`

***

### `list_topics`

List topics configured for a Brand Kit.

**Requires:** `brand_kit_id`

**Returns:** Topic ID, name, and color.

| Parameter   | Values            |
| ----------- | ----------------- |
| **Filters** | name              |
| **Sort**    | name, created\_at |

***

### `create_topic`

Create a new topic for a Brand Kit. Topics group tracked prompts and analytics views by theme.

**Requires:** `brand_kit_id`, `name`

**Optional fields:** `color`

***

### `update_topic`

Update a topic's name or color. Existing prompt assignments stay attached to the topic.

**Requires:** `brand_kit_id`, `topic_id`

**Fields:** `name`, `color`

***

### `delete_topic`

Delete a topic from a Brand Kit.

**Requires:** `brand_kit_id`, `topic_id`

{% hint style="warning" %}
Deleting a topic can affect prompt organization and reporting views. Confirm the topic and downstream impact before calling this tool.
{% endhint %}

***

### `list_personas`

List personas configured for a Brand Kit.

**Requires:** `brand_kit_id`

**Returns:** Persona ID, title, and description.

| Parameter   | Values             |
| ----------- | ------------------ |
| **Filters** | title              |
| **Sort**    | title, created\_at |

***

### `publish_brand_kit`

Publish a Brand Kit's current draft so changes become active. All changes made via `update_brand_kit` and `manage_brand_kit_*` are applied to a draft. Publishing promotes the draft to active and creates a fresh draft from it.

**Requires:** `brand_kit_id`

{% hint style="warning" %}
Always confirm with the user before publishing. This makes all pending changes live.
{% endhint %}

***

### `create_brand_kit_recap_entry`

Record a recap entry summarizing Brand Kit changes made during an MCP session. Use this once near the end of a session that changed the Brand Kit, with evidence such as source URLs, page names, or short quotes in `body_markdown`.

**Requires:** `brand_kit_id`, `title`

**Optional fields:** `body_markdown`

**Returns:** Recap entry ID, title, source, and success message.

***

## Brand Kit Management

Tools for creating and updating Brand Kit entities. Each tool supports both create (omit `id`) and update (provide `id`) operations. On update, only provided fields are changed.

{% hint style="info" %}
Changes are saved to a **draft**. Use `publish_brand_kit` to make them active.
{% endhint %}

### `manage_brand_kit_product_line`

Create or update a product line for a Brand Kit.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `url`, `details`, `positioning`, `ideal_customer_profile`

***

### `manage_brand_kit_competitor`

Create or update a competitor for a Brand Kit. Competitors must be associated with at least one product line.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `domain`, `product_line_ids` (at least one required)

***

### `manage_brand_kit_audience`

Create or update an audience for a Brand Kit.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `description`

***

### `manage_brand_kit_region`

Create or update a region for a Brand Kit.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `description`, `icon_name` (flag icon, e.g., `flag-us`)

***

### `manage_brand_kit_content_type`

Create or update a content type for a Brand Kit. On create, you can provide a `sample_url` to seed the content type. The system will scrape the URL and use AI to generate fields automatically.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `template_outline`, `cta_text`, `cta_url`, `header_case` (title\_case, sentence\_case, custom), `header_case_custom_value`, `sample_url` (create only)

***

### `manage_brand_kit_content_sample`

Create or update a content sample for a Brand Kit. On create, the sample URL is processed asynchronously to extract content.

**Requires:** `brand_kit_id`

**Fields:** `url` (required on create), `content_type_id` (required on create), `content` (update only), `audience_ids`, `region_ids`

***

### `manage_brand_kit_writing_rule`

Create or update a writing rule for a Brand Kit. Rules can be global or scoped to a single content type, audience, or region (mutually exclusive). Scoping is set on create only.

**Requires:** `brand_kit_id`

**Fields:** `text` (required on create), `content_type_id` (create only), `audience_id` (create only), `region_id` (create only)

***

### `manage_brand_kit_custom_variable`

Create or update a custom variable for a Brand Kit. Custom variables are discouraged for most use cases. Prefer using regions, audiences, content types, or writing rules instead.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `value` (required on create)

***

### `create_brand_kit_direct_upload`

Initiate a direct upload for Brand Kit visual assets such as logos, visual examples, and font files. The tool returns a presigned upload URL, upload headers, and a `signed_id` to pass to the relevant visual asset manage tool.

**Requires:** `brand_kit_id`, `filename`, `content_type`, `byte_size`, `checksum`

**Returns:** `signed_id`, `upload_url`, and `upload_headers`.

***

### `manage_brand_kit_palette`

Create or update a color palette for a Brand Kit draft.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create)

***

### `manage_brand_kit_palette_color`

Create or update a color inside a Brand Kit palette.

**Requires:** `brand_kit_id`

**Fields:** `palette_id` (required on create), `name` (required on create), `value` (required on create), `usage_instructions`

***

### `manage_brand_kit_logo_variant`

Create or update a logo variant for a Brand Kit draft. Attach a file with `signed_id` from `create_brand_kit_direct_upload` or with a public `file_url`.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `background_color`, `usage_instructions`, `signed_id`, `file_url`

***

### `manage_brand_kit_logo_size`

Create or update recommended logo dimensions and usage instructions.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `width`, `height`, `usage_instructions`

***

### `manage_brand_kit_font`

Create or update a Brand Kit font. Attach a font file with `signed_id` from `create_brand_kit_direct_upload` or with a public `file_url`.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `usage_instructions`, `google_font_link`, `signed_id`, `file_url`

***

### `manage_brand_kit_type_size`

Create or update a typography size associated with a Brand Kit font.

**Requires:** `brand_kit_id`

**Fields:** `font_id`, `name` (required on create), `weight`, `size`, `line_height`, `usage_instructions`

***

### `manage_brand_kit_usage_rule`

Create or update a Brand Kit usage rule. `applies_to` is set on create and cannot be changed later.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `applies_to` (required on create)

***

### `manage_brand_kit_visual_use_case`

Create or update a visual use case, a named group of visual examples with shared instructions.

**Requires:** `brand_kit_id`

**Fields:** `name` (required on create), `instructions`

***

### `manage_brand_kit_visual_example`

Create or update a visual example for a Brand Kit. Visual examples must be grouped under a visual use case. Attach an image with `signed_id` from `create_brand_kit_direct_upload` or with a public `file_url`.

**Requires:** `brand_kit_id`

**Fields:** `visual_use_case_id` (required on create), `title` (required on create), `sample_url`, `usage_instructions`, `signed_id`, `file_url`

***

### Edit a Brand Kit draft <a href="#suggest_brand_kit_edits" id="suggest_brand_kit_edits"></a>

Use `update_brand_kit` for base fields and the appropriate `manage_brand_kit_*` tool for related entities. Summarize the intended changes and get the user's confirmation before applying them.

These tools write directly to the draft. Read the draft back to verify the result and tell the user the changes are not yet active. Ask for explicit confirmation before calling `publish_brand_kit`; publishing is a separate action that makes all pending changes active.

The former `suggest_brand_kit_edits` interactive review tool is no longer available.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.airops.com/mcp-server/tools-and-support/tools/workspace-and-brand-kits.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
