Brandfetch MCP Server
Model Context Protocol (MCP) server that lets AI assistants fetch logos, colors, fonts, and company info from the Brandfetch API.
Features
get_brand_details – Full brand profile by domain
search_brands – Keyword search for matching brands
get_brand_logo – SVG/PNG assets in light/dark themes
get_brand_colors – Curated color palettes with metadata
get_logo_url – Fast logo URL lookup by domain
Persistent usage tracking – SQLite-based quota management
Smart API Usage
This server prioritizes the Logo-by-Domain API (high quota, unlimited usage) and only falls back to the Brand API (limited quota) when necessary:
Domain lookup first - Direct logo-by-domain API calls with high usage limits
Brand API fallback - Only used when domain lookup fails, with monthly quota tracking
Persistent usage tracking - SQLite-based counter prevents quota overages
Warning system - Alerts when approaching Brand API limits
Requirements
Python 3.10+
Brandfetch API keys (both Logo and Brand API)
uv (recommended package manager)
Quickstart (one page)
Get the right API keys
Visit https://brandfetch.com/developers and get both keys:Logo API Key - For high-quota domain lookups
Brand API Key - For fallback searches (limited quota)
→ Need screenshots? See API_KEY_SETUP.md.
Run locally with Python
uv venv && source .venv/bin/activate uv pip install -e ".[dev]" cp .env.example .env # then add both BRANDFETCH_LOGO_KEY and BRANDFETCH_BRAND_KEY python manual_test.pyRun with Docker (optional)
docker build -t brandfetch-mcp . docker run --rm \ -e BRANDFETCH_LOGO_KEY=your_logo_key \ -e BRANDFETCH_BRAND_KEY=your_brand_key \ brandfetch-mcpWire up Claude Desktop
{ "mcpServers": { "brandfetch": { "command": "uv", "args": ["--directory", "/absolute/path/to/brandfetch_mcp", "run", "mcp-brandfetch"], "env": { "BRANDFETCH_LOGO_KEY": "your_logo_key", "BRANDFETCH_BRAND_KEY": "your_brand_key" } } } }Restart Claude Desktop; look for the hammer icon.
Usage
Quick health check
Handy prompts
"Get brand details for stripe.com"
"Search for coffee brands"
"Fetch the SVG logo for github.com"
"What color palette does netflix.com use?"
"Get a logo URL for github.com" (fast domain lookup)
"Find the logo for GitHub" (name search with heuristics)
Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/fooBar)Commit your changes (
git commit -am 'Add some fooBar')Push to the branch (
git push origin feature/fooBar)Create a new Pull Request
License
Troubleshooting
Issue | Fix |
401 Unauthorized | You grabbed the Logo API key—generate the Brand API key instead. |
No hammer icon in Claude | Check Claude Desktop → Settings → Developer logs; verify JSON and absolute paths. |
Import errors | Activate the venv and rerun
. |
Known Limitations
Development Mode: Must run from project root directory (
.envpath resolution works in development mode only)Test Coverage: Some get_brand_logo tests mock wrong layer - functionality works but tests need updating
Pip Installation: Environment file loading only works when running from source, not pip-installed packages
Support
Open GitHub issues for bugs/requests
More setup detail: API_KEY_SETUP.md
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables AI assistants to fetch company logos, brand colors, fonts, and corporate information from the Brandfetch API using domain lookups or keyword searches.