The short answer: on 6 October 2026, the 98 domains we checked averaged 2.8 out of 100 on BrandHub's Brand Agent Score. 23 serve an llms.txt. None serves a brand.json we could read. None states its brand colors, typefaces or logo in a form an agent can fetch. Two name an MCP server that answers.
How we made this: we ran the scoring code from Artbucket's open-source core, the same code behind hub.artbucket.io/score, against each domain on 6 October 2026, from one machine. We checked 9 domains against the live score page as well, and all 9 matched. The score is ours, and so are the criteria: read them below before reading the numbers. Sites behind bot protection may answer an agent's server differently than they answered us.
Which brands, and why these
The 98 domains are every public listing under "Unclaimed brands" on BrandHub, Artbucket's public brand directory:
- 67 brands from AgenticAdvertising.org's AdCP registry, the domain-backed entries among household names: consumer brands, retailers, banks, software companies.
- 28 open-source projects, such as Supabase, PostHog, Penpot, Bun and Zed.
- 3 open-source brands we use as templates: Blender, Firefox and Rust.
It is not a random sample. It is the list we had, and we say so.
What the score checks
An agent asked to make something on-brand needs a handful of facts, and it needs them as text or data, not inside a PDF or an image. The score looks for each one where an agent would look: /llms.txt at the root, a brand.json (the one llms.txt links, or /.well-known/brand.json, following an AdCP redirect once), and an MCP server named in llms.txt.
| Check | Points | Passes when |
|---|---|---|
| Colors | 15 | Colors as #rrggbb in rules an agent can fetch |
| Typefaces | 15 | Typefaces named in those rules |
| Logo | 20 | A logo rule with a file attached |
| Voice | 15 | Rules on tone or voice |
| Machine-readable rules | 15 | A brand.json, or a BrandHub listing verified for the domain |
| llms.txt | 10 | /llms.txt answers with text, not an HTML page |
| Design tokens | 5 | Tokens linked from llms.txt |
| MCP server | 5 | An MCP URL named in llms.txt answers |
Where a domain has no brand.json, the score falls back to reading llms.txt as text: a hex color, the word "typeface", "logo" next to an image link, "voice" or "tone". That is generous on purpose.
Two honest caveats. llms.txt is a proposal, not a standard, and AdCP's brand.json is young. A brand can have excellent guidelines and score zero, because the score measures what an agent can read without help, not how good the brand is.
What we found
| Check | Domains passing (of 98) |
|---|---|
| llms.txt | 23 |
| Voice | 2 |
| MCP server | 2 |
| Colors, typefaces, logo | 0 |
| Machine-readable rules (brand.json) | 0 |
| Design tokens | 0 |
75 domains scored 0, 19 scored 10, 2 scored 15 and 2 scored 25. The average was 2.8.
The llms.txt files say what the company does, not what it looks like
The 23 domains with an llms.txt use it the way the proposal intended: a map of their docs and products for a model. None of them puts a hex color, a typeface or a logo file in it. Two describe a voice in words that pass the check: Bun and Mistral AI.
Two name an MCP server
Supabase and Appwrite name an MCP server in their llms.txt, and both answer. Both are developer tools whose MCP servers are about their products, not their brands, but an agent that finds them has somewhere to ask.
The domains that scored above zero
| Domain | Score | What passed |
|---|---|---|
| bun.com | 25 | llms.txt, voice |
| mistral.ai | 25 | llms.txt, voice |
| appwrite.io | 15 | llms.txt, MCP |
| supabase.com | 15 | llms.txt, MCP |
| carvana.com, cloudflare.com, databricks.com, directus.com, dropbox.com, github.com, lg.com, n8n.io, notion.so, nvidia.com, ollama.com, payloadcms.com, paypal.com, penpot.app, redbull.com, samsung.com, svelte.dev, target.com, zed.dev | 10 | llms.txt |
Every other domain on the list scored 0 on the day. Check any domain, including yours, at hub.artbucket.io/score: the report lists each check and what would raise it.
For comparison: our own
artbucket.io scores 100 by this code, which you should expect: we wrote the score and built our site to pass it. Its llms.txt links our brand.json and names our MCP server. The point isn't the number. It is that every check is a small, public file, and none of them needs our product: an llms.txt with your colors, typefaces, logo links and two lines of voice already passes five of the eight checks, worth 75 points.
The BrandHub listings for these 98 brands, which we built from public sources, carry most of these facts already. If their owners claimed them by proving their domain, the listings would score 73 on average; what they can't supply is the llms.txt and MCP server on the brand's own domain. That number is about our listings, not about the brands.
What a brand can do this week
- Put your facts in your llms.txt. Brand colors as hex with one line each on use, typefaces, links to logo files (SVG), and two or three sentences on voice.
- Serve a brand.json at
/.well-known/brand.json, in AdCP's format, or a redirect to where it lives. - Link design tokens from llms.txt, so code and agents use the same values.
- If you run an MCP server, name it in llms.txt.
Questions
Can we see the raw data?
Yes: run any domain through the score page, or the scoring code in the open-source core (src/lib/agent-score.ts), which is what we used. Write to hello@artbucket.io for the full per-domain file.
My brand scored 0 but has great guidelines. Is the score wrong?
Probably not wrong, just narrow. It measures what an agent can read without a person's help. Guidelines in a PDF or behind a login don't count, however good they are.
Will you check again?
Yes, and we will change this post's date when we do.