Skip to main content
Glama

Server Details

Logo, colors, typefaces, tone of voice and CSS theme of any brand, read from its own website.

Ownership verified
Status
Healthy
Uptime
100.0% over 19 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: search_brands discovers brands in the catalogue, while get_brand retrieves detailed identity information for a specific brand/website. There is no overlap that would cause misselection.

Naming Consistency5/5

Both tool names follow a consistent snake_case verb_noun pattern: search_brands and get_brand. The convention is predictable and clean.

Tool Count3/5

With only two tools, the surface feels thin for a brand catalogue server. The tools are well-chosen, but the count is borderline for the apparent scope.

Completeness4/5

The pair covers the core read workflow: find a brand and retrieve its detailed identity. Minor gaps exist, such as listing categories or enumerating all brands without a search query, but agents can work around them.

Available Tools

2 tools
get_brandGet a brandA
Read-onlyIdempotent
Inspect

A brand's identity as its own website shows it: logo (SVG or image URL, with the ground it sits on), colors (signature, page, ink, palette), typefaces, tone of voice, and its full theme as CSS custom properties. Works for any website: one nobody has read yet is read on the spot (about a minute). Use it to build anything on-brand.

NameRequiredDescriptionDefault
domainYesThe brand's website, e.g. "stripe.com".

Output Schema

NameRequiredDescription
urlNoThe page that was read.
logoNoSVG markup or image URL, with the ground it sits on.
nameNo
boardNoThe brand's page on WikiBrand.
voiceNoTone of voice traits, each between two poles.
colorsNobrand (signature), page, ink and palette, as hex.
domainYes
categoryNo
variablesNoThe full theme as CSS custom properties.
typographyNodisplay and text typefaces.
descriptionNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely new behavioral context: unknown sites are fetched on the spot with roughly a minute of latency, implying previously seen brands are served faster. That latency/caching disclosure is exactly the kind of trait annotations cannot express.

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?

Two sentences with no filler, and the payload enumeration leads. The phrasing 'as its own website shows it' is slightly ornate but does real work by signaling the values are scraped from the live site rather than curated.

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?

An output schema exists, so the return shape need not be spelled out, and the latency and any-site behavior are covered. The one remaining gap is routing between this tool and search_brands, which an agent must guess.

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 coverage is 100% and the single parameter already documents itself with the 'stripe.com' example, which the description does not extend or constrain. With one fully documented param, the baseline of 3 is appropriate — the description adds no format, validation, or edge-case detail.

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?

The description names a specific resource (a brand's identity) and enumerates the concrete payload — logo, colors, typefaces, tone of voice, theme as CSS custom properties — so an agent knows exactly what comes back. It does not name or contrast with its sibling search_brands, so differentiation is left 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 Guidelines3/5

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

'Use it to build anything on-brand' gives a positive use case, and 'Works for any website' implies broad applicability. However, there is no when-not guidance and no mention of search_brands as the alternative for finding a brand when the domain is unknown.

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

search_brandsSearch brandsA
Read-onlyIdempotent
Inspect

Find brands in the WikiBrand catalogue by name or domain, optionally within a category. Returns each brand's domain, name, category and signature color.

NameRequiredDescriptionDefault
queryNoPart of a brand name or domain, e.g. "stripe". Empty lists everything.
categoryNoOne category, e.g. "Finance", "Software", "Retail".

Output Schema

NameRequiredDescription
countYesHow many brands matched.
brandsYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is fully covered. The description adds nothing behavioral beyond that — no result caps, pagination, or ranking/ordering behavior — which is a noticeable omission for a search endpoint but not a contradiction.

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?

Two tight sentences with the search scope front-loaded and no filler. The second sentence enumerating returned fields is mildly redundant given the output schema exists, but it costs almost nothing.

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?

With an output schema present, the return-value sentence is optional rather than necessary, and annotations plus full schema coverage mean the agent has what it needs to call the tool. The one real gap is the absence of any routing cue relative to get_brand.

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 100%, so both parameters (query, category) are already documented including the 'empty lists everything' behavior. The description restates the same matching semantics (name or domain, one category) without adding format or syntax detail, so baseline 3 applies.

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 (find brands) plus matching scope (by name or domain, optionally within a category) and the catalogue it searches. The plural 'brands' and the search-by-partial-match framing implicitly separate it from the singular get_brand, but the sibling is never named, so differentiation is left 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 Guidelines3/5

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

Usage is only implied: an agent can infer this is the discovery/search path while get_brand is the single-item lookup, but the description never says when to choose one over the other or notes the (0 required params) default of listing everything. No exclusions or alternatives are stated.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedget_brand1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "board": {
        +      "description": "The brand's page on WikiBrand.",
        +      "type": "string"
        +    },
        +    "category": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "colors": {
        +      "description": "brand (signature), page, ink and palette, as hex.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "description": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "domain": {
        +      "type": "string"
        +    },
        +    "logo": {
        +      "description": "SVG markup or image URL, with the ground it sits on.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "name": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "typography": {
        +      "description": "display and text typefaces.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "url": {
        +      "description": "The page that was read.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "variables": {
        +      "description": "The full theme as CSS custom properties.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "voice": {
        +      "description": "Tone of voice traits, each between two poles.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": [
        +        "array",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "domain"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_brands1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "brands": {
        +      "items": {
        +        "properties": {
        +          "board": {
        +            "description": "The brand's page on WikiBrand.",
        +            "type": "string"
        +          },
        +          "brand": {
        +            "description": "Signature color, hex.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "category": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "domain": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "domain"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "count": {
        +      "description": "How many brands matched.",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "count",
        +    "brands"
        +  ],
        +  "type": "object"
        +}
  2. 2 tool updates
    • First observedget_brand
    • First observedsearch_brands

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Serves an editable folder of plain brand files—identity, colours, fonts, rules, formats and examples—to any AI tool over MCP, so generated designs and copy come out on-brand. It also checks HTML, CSS, SVG and text against those rules, and can read a public site's CSS to extract its real palette, fonts and spacing.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Intelligently extracts and analyzes website logos from multiple sources (favicon, Apple Touch icons, OpenGraph, CSS) with automatic quality scoring and format support. Provides detailed logo information and returns the best logo URL for any given website.
    2
    16 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources