Skip to main content
Glama

chartlink

Create a brand (reusable style token set)

create_brand

A brand styles every asset that references it — and the workspace default brand styles everything created without an explicit brand. Create one, then render any asset with brand: "" to see it applied. Style only: brands can never inject data or text content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
slugYesStable handle, e.g. "oscarleo"
tokensYesDefault settings for every chart using this brand — the SAME element shape as a chart config (document, title, description, source, notes, legend, branding, chart, palette, colors, shape, chrome) minus the words (no text/url) and the type-specific chart options. Resolution: ENGINE_DEFAULTS <- brand <- the chart's own config. GET /api/brands/schema for the generated JSON Schema — do NOT guess key names: unknown keys are rejected (the error lists the valid keys at that path). Any element's font.family accepts ANY Google Fonts family by exact name (fetched and measured on first use).
isDefaultNoMake this the workspace default applied to all brand-less assets

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

With only openWorldHint:false in annotations, the description carries the behavioral disclosure burden. It adds valuable behavioral details: brands style assets they reference, the workspace default affects brand-less assets, and brands cannot inject data or text content. These go beyond the sparse annotation set.

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 main description is three concise sentences, front-loading the most important brand semantics before the create instruction and the style-only constraint. Every sentence earns its place with no repetition or filler.

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

Completeness4/5

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

The description plus schema covers brand creation, application via slug, default-brand fallback, style-only restriction, and the token shape with resolution order. It does not explain the response format, but that is not required given no output schema and the tool's relatively straightforward create action.

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 75%, so most parameters are documented in the schema itself. The main description adds little parameter-specific detail beyond the style-only intent; the detailed tokens shape and resolution order live in the schema. The missing 'name' description is self-evident and not a significant gap.

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 states the exact action ('Create one'), the resource ('brand'), and the core purpose ('reusable style token set'). It also clearly separates brands from data-related operations by saying 'Style only: brands can never inject data or text content,' which distinguishes it from sibling tools that work with asset content.

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 explains when to create a brand ('Create one, then render any asset with brand: "<slug>"') and clarifies the default-brand behavior for assets without an explicit brand. It gives clear context but does not explicitly name alternatives like update_brand or state when not to use this tool.

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.