OpenBrand
ethanjyx/openbrand · 751 stars · TypeScript · MIT
MCP server Extract brand assets (logos, colors, backdrops) from any website; open source alternative to Brand.dev
Install
npx skills add tight-studio/openbrandThese repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.
Files
Extract brand assets (logos, colors, backdrops, brand name) from any website URL.
As an API call
Get your free API key from openbrand.sh/dashboard.
cURL
curl "https://openbrand.sh/api/extract?url=https://stripe.com" \
-H "Authorization: Bearer your_api_key"
TypeScript
const res = await fetch(
"https://openbrand.sh/api/extract?url=https://stripe.com",
{ headers: { Authorization: "Bearer your_api_key" } }
);
const brand = await res.json();
Python
import requests
res = requests.get(
"https://openbrand.sh/api/extract",
params={"url": "https://stripe.com"},
headers={"Authorization": "Bearer your_api_key"},
)
brand = res.json()
As an agent skill
Add OpenBrand to Claude Code, Cursor, Codex, Gemini CLI, and 40+ other agents:
npx skills add tight-studio/openbrand
Once installed, your agent automatically knows how to extract brand assets — just ask it to "extract brand assets from stripe.com".
As an npm package
No API key required. Runs as a library from your server-side code.
npm add openbrand
import { extractBrandAssets } from "openbrand";
const result = await extractBrandAssets("https://stripe.com");
if (result.ok) {
// result.data.brand_name → "Stripe"
// result.data.logos → LogoAsset[]
// result.data.colors → ColorAsset[]
// result.data.backdrop_images → BackdropAsset[]
} else {
// result.error.code → "ACCESS_BLOCKED" | "NOT_FOUND" | "SERVER_ERROR" | ...
// result.error.message → human-readable explanation
}
As an MCP server
Use OpenBrand as a tool in Claude Code, Cursor, or any MCP-compatible client.
- Install the MCP server (no API key needed to install):
claude mcp add --transport stdio openbrand -- npx -y openbrand-mcp
- Get your API key from openbrand.sh/dashboard and add it:
claude mcp add --transport stdio \
--env OPENBRAND_API_KEY=your_api_key \
openbrand -- npx -y openbrand-mcp
Or add to .claude/settings.json:
{
"mcpServers": {
"openbrand": {
"command": "npx",
"args": ["-y", "openbrand-mcp"],
"env": {
"OPENBRAND_API_KEY": "your_api_key"
}
}
}
}
Then ask Claude to "extract brand assets from stripe.com" and it will use the extract_brand_assets tool automatically.
Self-hosting the web app
git clone https://github.com/tight-studio/openbrand.git
cd openbrand
bun install
bun dev
No environment variables required. Open http://localhost:3000.
What it extracts
- Logos — favicons, apple-touch-icons, header/nav logos, inline SVGs (with dimension probing)
- Brand colors — from theme-color meta tags, manifest.json, and dominant colors from logo imagery
- Backdrop images — og:image, CSS backgrounds, hero/banner images
- Brand name — from og:site_name, application-name, logo alt text, page title
Tech stack
Next.js, React, TypeScript, Cheerio, Sharp, Tailwind CSS
License
Facts
- Kind
- MCP server
- Repo
- ethanjyx/openbrand
- Group
- Uncategorized
- Stars
- 751
- License
- MIT
- Language
- TypeScript
- Last push
- 2026-05-12
- Forks
- 66
- Homepage
- openbrand.sh
- 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
- 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
- 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
- 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
- 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k