Odel
Brandfetch

Brandfetch

@brandfetch9PythonMITUpdated 5 days ago

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

Server endpointStreamable HTTPAPI keyProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Brandfetch MCP Server

The official Model Context Protocol server for Brandfetch. It gives AI assistants access to brand search, company data, logos and design assets, and LLM-ready brand context from the Brandfetch API.

Full documentation: https://docs.brandfetch.com/mcp/overview

Tools

ToolDescription
brand_searchSearch for brands by name using Brandfetch's search index.
get_brandLook up full brand data by domain, stock ticker, ISIN, or crypto symbol.
enrich_transactionIdentify a merchant brand from a credit-card or bank-statement string.
get_brand_contextGet LLM-ready brand context for a domain — voice, audience, positioning, style.
build_logo_urlsConstruct Brandfetch Logo CDN URLs for one or more brands (no API call).
send_feedbackReport bugs, wrong or stale brand data, or missing capabilities to Brandfetch.

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, or connect via OAuth from a client that supports it.

Claude Desktop / Claude Code

{
  "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):

{
  "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, 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.
  • 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. You can run your own instance with Docker.

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 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

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

Development

Requires uv and Python 3.11.

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

License

MIT