Skip to main content
Glama

Read brand runtime

brand_runtime
Read-onlyIdempotent

Retrieve sliced brand context (colors, fonts, tone) from the compiled runtime contract so AI agents produce on-brand output while keeping prompt tokens low.

Instructions

Read the compiled brand runtime contract (brand-runtime.json). Returns the brand system that AI agents load as context for on-brand output. Supports slicing: 'full' (~1200 tokens, everything), 'visual' (~200 tokens, colors + fonts + anti-patterns), 'voice' (~400 tokens, tone + vocabulary + perspective), 'minimal' (~100 tokens, primary color + heading font). Use slices when passing brand context to sub-agents — smaller context reduces token cost and agent satisficing. Live Mode aware: when enabled via brand_brandcode_live, the runtime refreshes from the hosted Brandcode runtime on each call (subject to cache TTL). Falls back silently to the local mirror on network error. Read-only. Run brand_compile to refresh.

Input Schema

NameRequiredDescriptionDefault
sliceNoWhich slice of the runtime to return. 'full': everything (~1200 tokens). 'visual': colors, typography, logo, anti-patterns, composition (~200 tokens). 'voice': tone, vocabulary, never-say, perspective (~400 tokens). 'minimal': primary color, heading font, logo reference only (~100 tokens). Use slices to reduce prompt size when handing off to sub-agents that only need part of the brand.full

Output Schema

NameRequiredDescriptionDefault
errorNo
runtimeNo
approvalNo
_metadataYes
agent_tipNo
runtime_originNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.17.0
  2. Removedv0.13.4
  3. Changed5 schema fields changedv0.12.0
    • addedOutput schema / properties / agent_tip
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / approval
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / runtime
      Added value: +{
      +  "additionalProperties": {},
      +  "type": "object"
      +}
    • addedOutput schema / properties / runtime_origin
      Added value: +{
      +  "type": "string"
      +}
  4. Changed1 schema field changedv0.11.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "_metadata": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "next_steps": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "what_happened": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "what_happened",
      +        "next_steps"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "_metadata"
      +  ],
      +  "type": "object"
      +}
  5. Changed3 schema fields changedv0.9.2
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / slice
      Added value: +{
      +  "default": "full",
      +  "description": "Which slice of the runtime to return. 'full': everything (~1200 tokens). 'visual': colors, typography, logo, anti-patterns, composition (~200 tokens). 'voice': tone, vocabulary, never-say, perspective (~400 tokens). 'minimal': primary color, heading font, logo reference only (~100 tokens). Use slices to reduce prompt size when handing off to sub-agents that only need part of the brand.",
      +  "enum": [
      +    "full",
      +    "visual",
      +    "voice",
      +    "minimal"
      +  ],
      +  "type": "string"
      +}
  6. First observedv0.5.0

TDQS

A4.6/5.0
Behavior5/5

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

Far exceeds the annotations: it discloses Live Mode behavior (refresh from hosted runtime per call, subject to cache TTL) and a silent fallback to the local mirror on network error, which is the kind of failure-mode detail an agent cannot get from the schema. It also quantifies token cost per slice and restates read-only in prose, consistent with readOnlyHint=true.

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?

Front-loaded with the resource identity and the slicing contract, with live-mode caveats and the refresh pointer at the end where they belong. Slightly over-dense: the per-slice token counts are repeated almost verbatim from the schema, costing a sentence that earns little.

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?

An output schema exists, so return values need no explanation, and the description covers everything else an agent needs: how to size the response, where the data comes from in live vs offline mode, and how to force a refresh. Nothing material is missing for a zero-required-parameter read tool.

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, but the description adds rationale beyond the enum docs — why to slice (token cost, agent satisficing) and the approximate payload sizes. The slice contents themselves are essentially a restatement of the schema descriptions.

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?

States a specific verb and resource (read the compiled brand runtime contract, brand-runtime.json) and immediately describes what the content is: the brand system agents load as context. The closing 'Run brand_compile to refresh' implicitly separates it from the compile sibling, so an agent can tell read-from-cache apart from rebuild.

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?

Gives concrete usage guidance for the slice parameter ('Use slices when passing brand context to sub-agents — smaller context reduces token cost and agent satisficing') and names the prerequisite tool for refreshing. It does not explicitly contrast with brand_context or brand_export, so the when-not case for the closest siblings is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.