Skip to main content
Glama
thenavidm

Brandfetch MCP Server

by thenavidm

Get brand fonts

get_brand_fonts
Read-onlyIdempotent

Fetch a brand's fonts by domain, email, URL, Brand ID, ticker, ISIN, or crypto symbol to inspect typography and compare brand styles.

Instructions

One native brand read with only name, domain and fonts returned. Filtering is local: provider quota and crawling behavior are unchanged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountNoExact private profile label. Never inherits another profile or global key/client ID.
allowNsfwNoOptional provider NSFW behavior; absence differs from false.
cachedOnlyNoTrue avoids crawling a cache miss; 204 is reported as cachedMiss. Indexed reads still consume quota.
identifierYesDomain, email, URL, Brand ID, ticker, ISIN or crypto symbol. Explicit types accept only their identifier format.
identifier_typeNoExplicit provider route avoids identifier collisions.auto

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, and the description adds real value beyond them: the exact shape of the return (name, domain, fonts), that filtering happens locally, and that provider quota and crawling behavior are unaffected. It stops short of explaining what 'local filtering' operates on or how the cachedOnly path interacts with quota.

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 short sentences, front-loaded with the return shape and followed by the quota/crawl note; nothing is padded. The phrase 'One native brand read' is slightly opaque phrasing that costs a little clarity.

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?

For a 5-parameter read with no output schema and full schema coverage, the description usefully states the returned fields and the quota/crawl implications. It leaves the relationship to sibling brand tools and the meaning of local filtering unstated, which an agent would need to resolve elsewhere.

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 the schema already documents identifier formats, identifier_type routing, cachedOnly/204 behavior, allowNsfw, and account isolation. The description adds no parameter-level detail beyond the schema, which is the expected baseline-3 case.

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 states a specific verb and resource ('brand read') and pins down the returned fields ('only name, domain and fonts'), which implicitly separates it from the broader get_brand and get_brand_colors siblings. However, it never names an alternative, so the differentiation must be inferred from the field list rather than read directly.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing says when to prefer this over get_brand, get_brand_colors, or prefetch_brand. The only usage-adjacent statement is that filtering is local, which describes behavior rather than selection criteria.

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