Skip to main content
Glama

Complete Brand Colour Audit

brand_audit
Read-only

Fast, fully deterministic brand colour audit. Accepts a palette array plus market, use_case, medium and brand_category. COMPUTED SYNCHRONOUSLY, no model call of any kind: colour roles with archive names, the full WCAG accessibility matrix, cultural risk per colour, CSS variables, Tailwind config, design tokens and production notes. NOT COMPUTED HERE: palette interpretation -- the verdict, its score and the written narrative copy. Those require an LLM call and used to be made inside this tool without saying so, which put a normal five-colour audit at 43-45s. The palette_verdict and verdict_copy keys are still returned, carrying interpretation_status='not_computed' plus a ready-to-send palette_verdict.continuation.arguments -- forward those verbatim to the palette_verdict tool to get the interpretation. Replaces chaining accessibility_matrix + cultural_risk_assessment; palette_verdict is now an explicit, optional second call rather than a hidden one. FOR A LIVE-SITE BRAND AUDIT ('audit this website'): inspect representative rendered pages FIRST (homepage, about, one deep page) and pass what you observed as site_evidence -- a CSS scrape alone is not an audit of what a visitor sees, and the response's audit_evidence.audit_status will say PARTIAL until real multi-page rendered evidence is supplied. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads -- show them to the customer. Never present the archive anchors a colour was derived from as the colours you are recommending. If you go on to choose a final palette OF YOUR OWN from this evidence, call palette_finalize once with those exact colours so the customer can see and download what you actually recommended.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
marketNoTarget market e.g. 'UK luxury', 'global', 'Japan'global
mediumNodigital | print | bothdigital
paletteYesArray of hex values e.g. ['#D4A829', '#1A5C6E', '#0F2D6B', '#0A0A0B']
use_caseNoUse case e.g. 'brand identity', 'packaging', 'app UI'brand identity
site_evidenceNoEvidence for a LIVE-SITE audit, supplied by the host (Colour Memory does not browse). {pages: [{url, role: 'homepage'|'about'|'work'|'services'|'product'|..., screenshot: bool, tokens: bool, observations: [{hex, evidence_type: 'canonical_token'|'rendered_observation'|'source_verified_external'|'model_interpretation', prominence?: 'dominant'|'primary'|...}]}], competitors: [{name, colours: [hex], colour_provenance: 'verified_brand_guideline'|'verified_current_site'|'verified_identity_source'|'estimated'|'unverified', source?}]}. A FULL live-site audit needs a homepage, an about/company page and one meaningful deep page (work/approach/services/product/case study), with rendered evidence from at least two of them. Supply less and the response's audit_evidence.audit_status comes back PARTIAL or INSUFFICIENT with the specific gaps named -- it will not present as a completed multi-page audit. A competitor colour that is not verified is kept as a QUALITATIVE comparison and never enters a CIEDE2000 or distinctiveness number; do not invent a hex to fill the gap.
brand_categoryNoOptional brand category e.g. 'developer tool', 'food', 'fashion'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.5/5.0
Behavior5/5

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

Goes far beyond the readOnlyHint annotation: discloses synchronous execution with no model call, admits interpretation previously ran hidden inside the tool at 43-45s, states that verdict keys return with interpretation_status='not_computed', and explains that insufficient live-site evidence yields PARTIAL or INSUFFICIENT with gaps named. It also adds honesty guardrails ('never present archive anchors as the colours you are recommending'). No contradiction with readOnlyHint — the description and annotation agree the tool mutates nothing.

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 purpose and a complete output inventory; caps and explicit section markers (COMPUTED SYNCHRONOUSLY, NOT COMPUTED HERE, FOR A LIVE-SITE BRAND AUDIT) make the long text scannable. Most sentences earn their place, but some repeat schema content (site_evidence page requirements) or drift into downstream agent policy ('show them to the customer') that could be trimmed without losing selection value.

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?

Remarkably complete for a tool of this complexity: purpose, output inventory, routing to palette_verdict and palette_finalize, the live-site evidence edge case with thresholds, and an honest disclosure of the not_computed interpretation are all present. The output schema exists, so return values need no further elaboration. The only minor gap is the unaddressed brand_audit vs palette_audit boundary.

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. The description adds genuine semantic value for site_evidence: the required multi-page workflow (homepage, about, one deep page with rendered evidence from at least two), what does NOT count (a CSS scrape), and anti-hallucination rules (unverified competitor colours stay qualitative and never enter CIEDE2000; 'do not invent a hex to fill the gap'). This exceeds the baseline set by the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — a deterministic brand colour audit — and inventories exactly what it computes (colour roles, WCAG matrix, cultural risk, CSS variables, Tailwind config, design tokens) and what it does not (verdict, score, narrative). It explicitly differentiates from accessibility_matrix/cultural_risk_assessment chaining and routes interpretation to palette_verdict, but it never addresses the near-named sibling palette_audit, leaving that boundary to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when/when-not guidance: use for a synchronous deterministic audit; do not expect interpretation here — forward the palette_verdict.continuation.arguments verbatim to palette_verdict; if the agent selects its own final palette, call palette_finalize once. For live-site audits it mandates inspecting rendered pages first and warns that a CSS scrape alone yields PARTIAL audit_status. This covers selection, alternatives, and consequences.

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.

TDQS

A3.8/5.0
Disambiguation2/5

With 88 tools, there is substantial overlap: colour_passport vs colour_dna vs colour_metrics vs colour_cultural_risk are explicit components of the same object; palette_concept vs palette_strict vs palette_generate vs palette_heritage overlap heavily; and four image extraction tools exist (extract_image_colours, image_palette, palette_extact, ingest_image). Although descriptions are detailed and tool_guide exists, an agent will frequently struggle to select the correct tool unambiguously.

Naming Consistency5/5

Nearly all tools follow a consistent snake_case noun_verb or domain-prefixed pattern (colour_*, palette_*, brand_*, archive_*, project_*, accessibility_*). The naming is uniform and predictable, with no mixing of styles or verb conventions across the set.

Tool Count1/5

88 tools is an extreme count for an MCP server. Even honoring the broad domain, the rubric places 50+ at the extreme end, and the high overlap between compound and individual tools suggests many could be consolidated or exposed as sub-resources rather than top-level tools.

Completeness5/5

The tool surface covers the full colour lifecycle: lookup, analysis, palettes, brand systems, accessibility, image extraction, interior design, archival research, reports, PDF generation, and project management. Workflows have clear entry points and few dead ends, and the presence of compound tools further closes integration gaps.

Resources