# Brandfetch [Health: Active]

**Category:** 🎯 Marketing  
**Repository:** https://github.com/Brandfetch/brandfetch-mcp-server  
**GitHub Stars:** 9  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/brandfetch-2

## Description
Search brands and retrieve design assets, company data, other brand context from Brandfetch's API

## Tools
Capabilities this server exposes over MCP:

- **brand_search** — Search for brands by name using Brandfetch's search index.
- **get_brand** — Look up full brand data by domain, email, ticker, ISIN, or crypto symbol; renders the interactive brand card on MCP Apps hosts.
- **get_brand_data** — The same brand data with no card — for logo walls, multi-brand work, and data that feeds generated content.
- **enrich_transaction** — Identify a merchant brand from a credit-card or bank-statement string.
- **get_brand_context** — Get LLM-ready brand context for a domain — voice, audience, positioning, style.
- **build_logo_urls** — Construct Brandfetch Logo CDN URLs for one or more brands (no API call).
- **send_feedback** — Report bugs, wrong or stale brand data, or missing capabilities to Brandfetch.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "brandfetch": {
    "url": "https://mcp.brandfetch.io/mcp"
  }
}
```

## Documentation & README

# Brandfetch MCP Server

The official [Model Context Protocol](https://modelcontextprotocol.io) server for
[Brandfetch](https://brandfetch.com). It gives AI assistants access to brand
search, company data, logos and design assets, and LLM-ready brand context from
the Brandfetch API.

- Learn more: **https://brandfetch.com/developers/mcp**
- Full documentation: **https://docs.brandfetch.com/mcp/overview**

## Tools

| Tool                 | Description                                                                                                                     |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `brand_search`       | Search for brands by name using Brandfetch's search index.                                                                      |
| `get_brand`          | Look up full brand data by domain, email, ticker, ISIN, or crypto symbol; renders the interactive brand card on MCP Apps hosts. |
| `get_brand_data`     | The same brand data with no card — for logo walls, multi-brand work, and data that feeds generated content.                     |
| `enrich_transaction` | Identify a merchant brand from a credit-card or bank-statement string.                                                          |
| `get_brand_context`  | Get LLM-ready brand context for a domain — voice, audience, positioning, style.                                                 |
| `build_logo_urls`    | Construct Brandfetch Logo CDN URLs for one or more brands (no API call).                                                        |
| `send_feedback`      | Report bugs, wrong or stale brand data, or missing capabilities to Brandfetch.                                                  |

## Interactive brand card (MCP Apps)

On hosts that support the [MCP Apps extension](https://modelcontextprotocol.io/docs/extensions/apps)
(claude.ai, Claude Desktop, ...), `get_brand` results render as an interactive
brand card: logo preview, format switcher (SVG/PNG/WebP/...), download and
copy-URL actions. Hosts without Apps support fall back to the regular JSON tool
result. `get_brand_data` returns the same brand data without the card, so a
logo wall of six brands is six data calls rather than six cards; the model picks
between the two by their descriptions. The widget source lives in
[`ui/`](https://github.com/Brandfetch/brandfetch-mcp-server/blob/HEAD/ui/) and is served by the server as the
`ui://brandfetch/brand-card.html` resource.

## Quick start (hosted server)

The easiest way to use this server is to connect to the Brandfetch-hosted
endpoint — no install, no infrastructure:

```
https://mcp.brandfetch.io/mcp
```

Authentication uses a Brandfetch MCP token (a `bf1.` bearer token). Generate one
from the **Keys and MCP** page in the
[Brandfetch dashboard](https://developers.brandfetch.com), or connect via OAuth
from a client that supports it.

### Claude Desktop / Claude Code

```json
{
  "mcpServers": {
    "brandfetch": {
      "type": "http",
      "url": "https://mcp.brandfetch.io/mcp",
      "headers": {
        "Authorization": "Bearer bf1.YOUR_TOKEN"
      }
    }
  }
}
```

### Cursor

Add to `~/.cursor/mcp.json` (or the project `.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "brandfetch": {
      "url": "https://mcp.brandfetch.io/mcp",
      "headers": {
        "Authorization": "Bearer bf1.YOUR_TOKEN"
      }
    }
  }
}
```

Clients that support OAuth can instead point at `https://mcp.brandfetch.io/mcp`
with no token and complete the authorization flow in the browser.

## Quota errors

`get_brand`, `get_brand_data`, `enrich_transaction`, and `get_brand_context` consume API credits
from your plan; `brand_search` and `build_logo_urls` don't and keep working
when your credits run out.

- **429 "API quota exhausted"** — your key has used all of its API credits.
  Check usage or upgrade in the [Brandfetch dashboard](https://developers.brandfetch.com).
- **403 "Forbidden"** — the key has no available API credits or lacks access
  to that endpoint. The key itself may be valid, so check your plan and key
  status in the dashboard before rotating it.

## Self-hosting

This is an HTTP (streamable-http) MCP server built with
[FastMCP](https://github.com/jlowin/fastmcp). You can run your own instance with
Docker.

```bash
docker build -t brandfetch-mcp-server .
docker run --rm -p 8080:8080 brandfetch-mcp-server
```

The server then listens on `http://localhost:8080/mcp`. Point your MCP client at
that URL and send your Brandfetch credentials as a `Bearer` token.

> The `Dockerfile` bundles the [AWS Lambda Web Adapter](https://github.com/awslabs/aws-lambda-web-adapter)
> and a few `AWS_LWA_*` environment variables. These are inert outside of AWS
> Lambda and can be ignored (or removed) for a plain container/host deployment.

### Running without Docker

```bash
uv sync
uv run uvicorn src.main:app --host 0.0.0.0 --port 8080
```

## Development

Requires [uv](https://docs.astral.sh/uv/) and Python 3.11.

```bash
uv sync                 # install dependencies
uv run pytest           # run the tests
uv run ruff check .     # lint
uv run ruff format .    # format
```

## License

[MIT](https://github.com/Brandfetch/brandfetch-mcp-server/blob/HEAD/LICENSE)

