Brandfetch MCP Server & CLI

A free, open source Brandfetch MCP server and CLI that lets Claude Code, Codex, Cursor and other AI agents read any brand's logos, colors and fonts, and compare brands.

Navid Moazzezby Navid Moazzez·Updated Oct 5, 2026·13 min read·
Your computer
  1. 1

    Add it with a single command in a terminal.

    Put your own API key and client ID in place of the examples.

    claude mcp add brandfetch \
    -e BRANDFETCH_API_KEY=YOUR_API_KEY \
    -e BRANDFETCH_CLIENT_ID=YOUR_CLIENT_ID \
    -- npx -y @thenavidm/brandfetch-mcp-cli@latest
  2. 2

    In Claude Code, type /mcp. Brandfetch should show as connected.

    /mcp

Needs Node 22 or newer and a free Brandfetch API key. Get one in two minutes.

It's free and open source. If it saves you time, star it on GitHub, so more people find it.

Rate this tool

This free Brandfetch MCP server and CLI gives your AI real access to Brandfetch's brand data: the logos, colors, fonts and company details of almost any brand. It finds a brand by name, reads its logos, colors and fonts, compares up to five brands, and saves the logo files you approve.

It's one install with two ways in. Claude, Codex, Cursor or any other MCP app calls its 14 tools for you, and the same tools work as a CLI that agents like Claude Code, Codex and OpenCode run, or that you type yourself.

In this guide, I'll show you:

  • What the Brandfetch MCP server & CLI is, and what you can ask it
  • How to install it and check that it works
  • When to use the MCP server, and when the CLI
  • Every tool, and how to keep your account safe

Every tool on this page comes from the server itself, and every cost was measured in Claude Code.

key_takeaways.mdTL;DR

Key takeaways

It gives Claude, Codex, Cursor and any other MCP app 14 tools for Brandfetch: any brand's logos, colors and fonts, side-by-side comparisons, brand context and card statement lookups.
A free Brandfetch developer account is enough to start, with 100 brand reads and free logo links.
Only queuing a crawl and saving logo files change anything, and both wait for your approval.
The same tools run as a CLI, which costs your AI nothing until it runs.

What is the Brandfetch MCP server & CLI?

The Brandfetch MCP server & CLI is a free, open source program that lets AI agents look up brands in Brandfetch for you, in two ways. The MCP server is what an AI app like Claude, Codex or Cursor connects to, through MCP (Model Context Protocol), the open standard AI apps use to call outside tools.

You ask in plain language. Your AI picks the right tool, and the server makes the call to Brandfetch's own API.

The CLI is the same program as commands. brandfetch-cli get-brand-colors runs the same code your AI runs when you ask for a brand's colors, whether an agent like Claude Code runs it or you do.

In an AI OS, the layer that connects your AI to your context, your data and your tools, a server like this is how your AI reaches Brandfetch. I explain how the parts fit together in how to build an AI operating system, and here's how I use AI myself.

What can you ask it?

Once it's set up, you ask the way you'd ask an assistant. These are real prompts it handles:

Try asking
What are the brand colors and fonts for stripe.com?
Which domain belongs to the brand called Linear?
Compare the colors and logos of notion.so, linear.app and figma.com.
How does Notion describe its own voice and positioning?
Which company is behind the card charge "SQ *BLUE BOTTLE"?
Save the SVG logo for figma.com into my brand-assets folder.

The fifth one shows why this is useful. A cryptic line on a card statement becomes the real company, with its name and logo, and nothing touches your bank.

It works well next to my Bannerbear MCP server and Adobe Firefly MCP server, so your AI can put a logo into a Bannerbear template and make images in Adobe Firefly in the same chat. Every server I've made is on my MCP servers page.

For your brand files, my free logo background remover and favicon generator help too.

How to install the Brandfetch MCP server

Pick your app in the box at the top of this page. Each one is a single command or a pasted block, and they all run through npx, so there's nothing to install first.

Windsurf, Zed and Cline take the same server, though they don't have a tab in the box yet. Follow the box's Cursor tab, and put its block here instead:

AppWhere the block goes
WindsurfIn the Cascade panel, open the Actions menu (…) and choose Open MCP config file, then paste the block.
ClineClick the MCP Servers icon in the Cline panel, open the Configure tab, click Configure MCP Servers, and paste the block.
ZedGo to Settings, then AI, then MCP Servers, and choose Add Server, then Add Local Server. Enter the block's command, arguments and variables, and Zed saves them under context_servers.
Before you start0/3

Watch out: Brandfetch gives you two different credentials. The API key reads brands, and the client ID only searches and builds logo links, so put each one in its own setting.

Set up your Brandfetch account

It takes two minutes, and the free account is enough to start.

Get your API key and client ID0/4

The free account comes with 100 Brand API requests. Reads of brandfetch.com never count, so it's a safe brand to test with. Logo links are free for up to a million requests a month, and more reads need one of Brandfetch's paid plans.

To keep the key out of your app's config, save it alone in a file only you can read, and point BRANDFETCH_TOKEN_FILE at that file's full path instead.

Check that it works

Run the doctor with --network. It checks your settings, then asks Brandfetch which key you're using, to prove it works. It never queues a crawl or saves a file.

npx -y @thenavidm/brandfetch-mcp-cli doctor --network

When every line has a check mark, restart your app and ask it for brandfetch.com's colors. A failed key check usually means the key was mistyped, or the client ID went where the key belongs.

In Claude Code, /mcp also shows whether the Brandfetch server is connected. It's one of the Claude Code commands worth knowing.

Use the Brandfetch CLI

The CLI is the same 14 tools as commands. AI agents that run commands, like Claude Code, Codex and OpenCode, use it on their own, and you can type the same commands in a terminal or a script.

Every tool name becomes a command with dashes, so get_brand_colors runs as brandfetch-cli get-brand-colors.

npm install -g @thenavidm/brandfetch-mcp-cli
brandfetch-cli
brandfetch-cli search-brands --query Linear
brandfetch-cli get-brand-colors --identifier stripe.com
brandfetch-cli compare-brands --identifiers notion.so --identifiers figma.com
brandfetch-cli download-brand-logos --identifier figma.com --output-dir ~/brand-assets --format-preference svg --confirm

The bare brandfetch-cli lists every command, brandfetch-cli which <words> finds the command for a task, and brandfetch-cli <command> --help shows what a command takes. Queuing a crawl and saving logo files need --confirm, the terminal's version of your approval.

brandfetch-cli install <app> adds the server to Claude Code, Codex, Claude Desktop, Cursor, VS Code or Gemini CLI, in each app's own format.

These are the flags you'll use most:

FlagWhat it does
--jsonPrints JSON
--compactPrints the JSON on one line
--select a,b.cKeeps only those fields, and a dotted path goes deeper
--agentMachine mode: compact JSON, no prompts, and it never confirms anything
--confirmLets a write that asks first go ahead
--dry-runShows what a write would do, without doing it

A script can branch on the exit code:

Exit codeWhat it means
0It worked
1Something unexpected went wrong
2The command was typed wrong, or a write needed --confirm
3It wasn't found
4Brandfetch rejected the credentials
5Brandfetch failed or couldn't be reached
7You hit a rate limit, so wait and try again
10Nothing is set up yet

MCP server or CLI: which one?

Both are the same program with the same 14 tools. The difference is when your AI pays for them, in the tokens it reads.

Every message, in an app that loads every tool
MCP server
5,200 tokens
CLI
Nothing
Every message, in Claude Code
MCP server
420 tokens
CLI
Nothing
When Brandfetch comes up
MCP server
Nothing more, or in Claude Code the tools it picks
CLI
4,400 tokens, once
20 messages with Brandfetch in one, every tool loaded
MCP server
104,000 tokens
CLI
4,400 tokens
Works in Claude Desktop's chat
MCP server
Yes
CLI
No, there's no terminal there
Works in a script, a cron job or CI
MCP server
No
CLI
Yes

An app that loads every tool up front sends the full list with every message, whether you mention Brandfetch or not. Claude Code doesn't by default: its tool search sends only the tool names and the server's instructions, and loads a tool's full definition when your AI reaches for it.

The CLI costs nothing until Brandfetch comes up. Then your agent reads its skill file once and runs the commands it needs. With the skill added, Claude Code also lists its one-line description with every message, about 70 tokens.

When the whole conversation is about Brandfetch, the gap closes. Then the MCP server is the better experience, because you ask in plain language and your AI never has to look up a command.

How to spend less

In Claude Code, leave tool search on, which it is unless you've set ENABLE_TOOL_SEARCH=false.

Turn the server off when you aren't working with brands. In Claude Code that's the /mcp panel, and every AI app has its own switch. BRANDFETCH_READ_ONLY=1 cuts it to the 12 reading tools.

Or install the CLI and connect the server later, on the days it earns its place. Every tool stays in reach, and the standing cost drops to nothing.

Every number here was measured on October 5, 2026 in Claude Code 2.1.286 with Claude Opus 5.5. It's the same one-line prompt with and without the server connected, once with tool search off so every tool loads, and once with Claude Code's default. The skill was measured the same way, and other apps and models count tokens a little differently.

A logo link from get_logo_url is for showing a logo on a web page, and it's free for up to a million requests a month. Brandfetch blocks scripts that download those links, so they're not a way to save files.

To save files, download_brand_logos takes the original logos from a brand read and writes them into a folder you choose: three unless you ask for more, and five at most. You pick SVG, PNG or every format Brandfetch has, and each file gets a new name, so nothing you have is overwritten.

The folder has to exist already and be readable only by you, like one made with mkdir -m 700 ~/brand-assets.

A read with cachedOnly answers only from what Brandfetch already has. If it doesn't have the brand yet, you get an empty answer instead of a crawl, and that answer doesn't count against your requests.

Watch out: Brand context is Brandfetch's own reading of a company's positioning and voice, not checked facts. Use it as a starting point, and check anything you publish.

Every Brandfetch tool

The tables below list all 14 tools, grouped by what they're for. Of these, 12 only read, and two change something at Brandfetch or on your computer.

Brands, colors and fonts

get_brand
What it does
Reads a brand's logos, colors, fonts, company details and links, by domain, email, ticker, ISIN or crypto symbol.
Kind
Reads
search_brands
What it does
Finds brands by name, with their domains, so you can pick the right one.
Kind
Reads
get_brand_context
What it does
Reads Brandfetch's take on a brand's positioning, voice and visual style.
Kind
Reads
prefetch_brand
What it does
Asks Brandfetch to crawl a brand it doesn't have yet, so a later read finds it.
Kind
Asks first
get_brand_colors
What it does
Reads only a brand's colors.
Kind
Reads
get_brand_fonts
What it does
Reads only a brand's fonts.
Kind
Reads
compare_brands
What it does
Compares the colors, fonts and logos of two to five brands, in the order you give them.
Kind
Reads

Logos

get_logo_url
What it does
Builds a logo link to show on a web page, by domain, ticker or crypto symbol.
Kind
Reads
download_brand_logos
What it does
Saves up to five original logo files into a private folder on your computer.
Kind
Asks first

Card statement lookups

enrich_transaction
What it does
Turns a line from a card statement into the company behind it, with its name and logo.
Kind
Reads

Your account and requests

get_viewer
What it does
Shows which Brandfetch key is in use, to prove it works.
Kind
Reads
list_accounts
What it does
Lists the Brandfetch accounts you've set up, without their keys.
Kind
Reads
get_operation_schema
What it does
Shows every field Brandfetch accepts for one of its requests.
Kind
Reads
preview_operation
What it does
Checks a request on your computer, before anything goes to Brandfetch.
Kind
Reads

Is the Brandfetch MCP server safe?

Reading a brand changes nothing, so most tools never ask. The two that change something ask first: queuing a crawl at Brandfetch, and saving logo files to your computer. They're marked "Asks first" in the tool tables above.

A queued crawl can't be called back, and saved files stay on your computer until you delete them. That's why both wait for you.

When your AI calls one of them, the call needs a yes first. Where you use it decides who gives it:

  • Claude Code (2.1.246 and later) asks you before every call, in every one of its permission modes.
  • An app that can show forms asks you in a form.
  • Any other app takes your AI's confirm: true as the yes, so tell your AI to check with you first.
  • An agent with no person to ask needs BRANDFETCH_CONFIRM=model, so its confirm: true counts in every app.
  • In a terminal, you add --confirm to the command.

If the answer is no, nothing reaches Brandfetch.

Make it read-only

Set BRANDFETCH_READ_ONLY=1 and both disappear from the tool list, leaving 12 reading tools. Reads still count against your Brandfetch requests, because read-only stops changes, not lookups.

Keep a log of every write

Set BRANDFETCH_AUDIT_LOG to a file path. The server writes one line per attempted write, allowed or blocked, with what it was about to do and who approved it.

Watch out: Brand descriptions come from companies' own websites, and one can try to give your AI orders. Treat them as data, and use BRANDFETCH_READ_ONLY=1 for an agent working on its own.

Your data

Your requests go straight to Brandfetch, with no server of ours in between and no tracking. Your key stays in your app's config, your shell or your token file.

The brands you look up, and any card statement line you ask about, go to Brandfetch, so its own privacy terms apply. Logo files land only in the folder you choose, and their private download links never show up in what your AI reads.

To cut access, revoke the key in your Brandfetch dashboard, then remove the server from your app's config.

Connect more than one Brandfetch account

Set BRANDFETCH_ACCOUNTS to a JSON list with a name, a key or a token file, and a client ID for each account, and BRANDFETCH_DEFAULT_ACCOUNT to the one that acts when a tool names none. Every tool takes an optional account.

An account never borrows another one's key. If the account you name has no key, the call stops instead of quietly using a different account.

Brandfetch MCP server settings

Every setting is an environment variable, in your app's config or your shell.

BRANDFETCH_API_KEY
Default
none
What it does
Holds your Brand API key
BRANDFETCH_TOKEN_FILE
Default
none
What it does
Points at a private file holding the key, instead
BRANDFETCH_CLIENT_ID
Default
none
What it does
Holds your client ID, for search and logo links
BRANDFETCH_ACCOUNTS
Default
none
What it does
Lists several accounts, as JSON
BRANDFETCH_DEFAULT_ACCOUNT
Default
the first one
What it does
Picks the account that acts when a tool names none
BRANDFETCH_REQUEST_TIMEOUT_MS
Default
30000
What it does
Gives up on a Brandfetch request after this many milliseconds
BRANDFETCH_MIN_REQUEST_INTERVAL_MS
Default
200
What it does
Waits this many milliseconds between requests
BRANDFETCH_READ_ONLY
Default
off
What it does
1 hides both tools that change something
BRANDFETCH_ALLOW_DESTRUCTIVE
Default
on
What it does
0 refuses both tools that ask first
BRANDFETCH_AUDIT_LOG
Default
none
What it does
Names a file that gets one line per attempted write
BRANDFETCH_SURFACE
Default
full
What it does
search lists three tools that find, describe and run the rest
BRANDFETCH_TOOL_TIMEOUT_MS
Default
none
What it does
Gives up on any tool after this many milliseconds
BRANDFETCH_CONFIRM
Default
human
What it does
model lets your AI's confirm: true approve on its own, for an agent with no person to ask
BRANDFETCH_HTTP_PORT
Default
8787
What it does
Sets the port for --http
BRANDFETCH_HTTP_HOST
Default
127.0.0.1
What it does
Sets the address for --http, and any other needs a token
BRANDFETCH_HTTP_TOKEN
Default
none
What it does
Sets the bearer token every --http request needs
BRANDFETCH_HTTP_ALLOWED_ORIGINS
Default
none
What it does
Lists other websites allowed to call --http, comma separated
BRANDFETCH_DEBUG
Default
off
What it does
1 prints debug lines

Troubleshooting

Run the doctor first. It names the step that failed and the fix.

What you seeWhat to do
The key check failsThe key is mistyped, or the client ID went where the key belongs. Copy the API key from your dashboard
A brand read says there's no keyBrand reads need the API key. The client ID alone only searches and builds logo links
An empty answer with cachedOnlyBrandfetch doesn't have that brand yet. Read it without cachedOnly, or queue a crawl first
A 429 errorYou've used your requests, or sent too many at once. Check your usage in Brandfetch's dashboard
A logo link won't downloadLogo links are for web pages only. Use download_brand_logos for files
The download folder is refusedThe folder must already exist and be readable only by you. Make it with mkdir -m 700
"…so it will not run without confirm: true"That's the safety check working. Approve it when your app asks

If the server doesn't show up in your app at all, run the command your app runs, in a terminal, and read the error.

More free tools for your brand work

Turn a brand's colors and logo into images from a template, or make new ones with AI.

FAQs about the Brandfetch MCP server & CLI

Here are the questions people ask most about the Brandfetch MCP server and CLI.

The Brandfetch MCP server & CLI is a free, open source program that lets an AI app like Claude, Codex or Cursor look up brands in Brandfetch.

It has 14 tools for logos, colors, fonts, brand context, comparisons and card statement lookups, and the same tools run as a CLI that agents like Claude Code and Codex use, or that you type yourself.

An MCP server is a standard way to give an AI app real access to a tool, so it can act instead of guessing.

MCP stands for Model Context Protocol, and Claude, Codex, Cursor and many other AI apps speak it.

Every server I've made is on my MCP servers page.

The Brandfetch CLI is the same program as the Brandfetch MCP server, run as commands.

AI agents like Claude Code, Codex and OpenCode run them for you, and you can type them in a terminal or a script.

One npm package installs both.

Use the Brandfetch MCP server in an AI app with no terminal, like Claude Desktop's chat, and the CLI in a terminal, a script or a cron job.

In an AI app that can run commands, like Claude Code, Codex or Cursor, the CLI is the lighter choice, because it costs nothing until it runs.

Yes, the Brandfetch MCP server is free and open source under the AGPL-3.0-or-later license.

Brandfetch's free developer account includes 100 brand reads and free logo links, and more reads need one of Brandfetch's paid plans.

No, you don't need a paid plan to start.

A free developer account includes 100 brand reads and logo links for up to a million requests a month, and reads of brandfetch.com never count.

The API key reads brands, brand context and card statement lines, and it stays private.

The client ID only searches brands and builds logo links, and it's meant to sit inside those links on a web page.

No, a cache-only read that finds nothing doesn't count against your requests.

One that finds the brand counts like any other read.

Yes, it saves up to five original logo files per brand into a private folder you choose, after you approve.

It never overwrites a file, and the private download links never show up in what your AI reads.

Yes, the Brandfetch MCP server connects as many accounts as you set up in BRANDFETCH_ACCOUNTS.

Every tool takes an optional account, and an account never borrows another one's key.

To disconnect the Brandfetch MCP server, revoke its key in your Brandfetch dashboard, which cuts access right away.

Then remove the server from your AI app's config.

The Brandfetch MCP server works with any app that speaks MCP.

That includes Claude Code, Claude Desktop, Codex, Cursor, VS Code, Windsurf, Zed, Cline, GitHub Copilot CLI, Gemini CLI, OpenCode, OpenClaw, Antigravity and Hermes.

I did.

I'm Navid Moazzez, and I made the Brandfetch MCP server & CLI as one of my free tools on navid.me.

You can read more about me.

The code is on GitHub under the AGPL-3.0-or-later license, and the package is on npm.

More MCP servers & CLIs

Related free tools

Navid Moazzez

AI business strategist

Navid Moazzez helps creators and founders master AI and build their own AI Operating System (AI OS) to automate their business and life.

Navid.me is reader-supported. When you buy through links on this site, I may earn an affiliate commission. Read the affiliate disclaimer.

Free AI newsletter

The most actionable AI newsletter for founders

Every week, get proven AI strategies, curated tools, and step-by-step systems to grow your audience, create better content, and build a profitable creator business.

No fluff, no filler, no BS. Just five minutes each week that might level up your online business and life.

P.S. Sign up now to get free access to my ultimate AI tools guide for creators.

Loved by 10,000+ readers
Loved by 10,000+ readers