Miromiro vs Brandsystem MCP — Build

A side-by-side look at the Miromiro and Brandsystem MCP — Build MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Miromiro logoMiromiroMarketing · Local subprocess (stdio)Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.60GoodAuth: not declaredBrandsystem MCP — Build logoBrandsystem MCP — BuildMarketing · Local subprocess (stdio)Build portable .brand runtimes from websites, Figma, and PDFs for use across AI tools.59GoodAuth: not declared

Verdict: choose Miromiro for marketing work as a local process; choose Brandsystem MCP — Build for marketing as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Miromiro logoChoose Miromiro when

  • You need dedicated capabilities in the Marketing domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: MIROMIRO_API_KEY.
  • You want tools like extract_code, extract_brand, extract_design_tokens.
Explore Miromiro

Brandsystem MCP — Build logoChoose Brandsystem MCP — Build when

  • You need dedicated capabilities in the Marketing domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like brand_start, brand_status, brand_extract_web.
Explore Brandsystem MCP — Build

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMiromiro logoMiromiroBrandsystem MCP — Build logoBrandsystem MCP — Build
CategoryMarketingMarketing
Quality signal60/100 · Good59/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsMIROMIRO_API_KEYNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars015
Directory activity 1 views 0 installs 0 upvotes 0 views 0 installs 0 upvotes
Tools934

Tools & capabilities

Miromiro tools 9

  • extract_codeUse when the user asks to rebuild, clone, copy, port, restyle or 'make it look like' part of a real website, or wants a site's section as Tailwind, HTML+CSS, React (JSX) or Vue. Give it the URL and, when the user named a part of the page, section (hero, header, footer, pricing, features, testimonials, faq, cta) - never invent a CSS selector. With neither, it auto-detects the hero; every call also returns `sections`, each other extractable section with a label and a ready selector for a follow-up call. Returns a self-contained component with the page's real resolved styles (true colors, fonts, spacing, copy) plus the tokens and assets it uses, so you adapt real values instead of estimating from a screenshot. For jsx/vue, repeated structures collapse into a data array rendered with .map()/v-for; ::before/::after come back as real elements; @keyframes ship in the css field. The `theme` field says which theme the code actually is - sites with a prefers-color-scheme dark variant return the light branch unless you pass theme='dark'; say which you returned. Not for: whole-page scraping, page text, or sites that need a login. Reads static HTML/CSS by default; if the result is thin or carries a `hint`, call again with render=true (+5 credits).
  • extract_brandUse when the user wants a site's brand: its colors, fonts, logo, theme or social links - 'what colors does stripe use', 'match this brand', 'build something in the style of X'. Returns role colors (primary, accent, background, text) as hex with human-readable names, the wider palette, fonts by role, logo candidates, social profiles, dark/light theme, and a 0-1 confidence score with `signals` explaining where the colors came from: read signals.explanation and tell the user whether they were declared by the site ('css-var'/'theme-color') or inferred from usage frequency ('usage', a guess) - never present inferred colors as the official palette. Not for: markup or layout (use extract_code) or the full token list (use extract_design_tokens).
  • extract_design_tokensUse when the user wants a site's complete token system - every color, font family, size, weight, spacing value, radius, shadow, line height, gradient and breakpoint with usage counts - or a paste-ready :root block (format='css'), tailwind.config (format='tailwind') or W3C Design Tokens file (format='dtcg', for Style Dictionary / Figma variables). Returns values and counts only, not layout or which element uses what: if the user asked to rebuild or clone a section, use extract_code, which returns the markup with the values in place. A site shipping light and dark themes returns the union of both (see colorSchemes) - pick colors by role, not by frequency, and use extract_code with theme=dark for one theme on its own. Not for: a short brand summary (use extract_brand).
  • extract_assetsUse when the user wants the images from a page - photos, illustrations, backgrounds, favicon, social image - as resolved URLs tagged by source (img, srcset, picture, CSS background, favicon, og). Not for: icons and vector logos (use extract_svgs) or fonts (use extract_fonts). If images are mounted by JavaScript, call again with render=true (+5 credits).
  • extract_svgsUse when the user wants a site's icons or vector logos: inline SVGs as paste-ready markup plus external .svg file URLs. Not for: raster images (use extract_assets). If icons are mounted by JavaScript, call again with render=true (+5 credits).
  • extract_fontsUse when the user asks which fonts a site uses or wants to match its typography: every @font-face file with family/weight/style/format, Google Fonts links and preloads, grouped per family in `families` (pass fields='families' for just that). On a type-foundry site the families served are demo cuts (subset, features stripped), flagged demo:true with a note - pass that on, they are not the usable typeface. Not for: colors (use extract_brand) or code (use extract_code).
  • extract_lottieUse when the user wants a site's Lottie or animation JSON files. Most Lotties are injected at runtime, so pass render=true (+5 credits) when the static call finds none.
  • extract_videosUse when the user wants the videos on a page: <video>/<source> files, og:video, YouTube/Vimeo/Wistia/Loom embeds and direct video links, each tagged by source with a poster when declared. `source: "embed"` is a player page, not a downloadable file. Most players mount with JavaScript: if the result is thin or empty, call again with render=true (+5 credits).
  • extract_audioUse when the user wants the audio files on a page: <audio>/<source> files, og:audio, podcast enclosures and download links, each tagged by source. If a JavaScript player mounts the audio at runtime, call again with render=true (+5 credits).

Brandsystem MCP — Build tools 34

  • brand_startBegin here.** Creates a brand system from a website URL in under 60 seconds. Use `mode='auto'` for one-call setup with rendered and deep-site fallback on weak JS-rendered sites.
  • brand_statusCheck progress, get next steps, or see a getting-started guide if no brand exists yet.
  • brand_extract_webExtract logo (SVG/PNG), colors, and fonts from any website URL.
  • brand_extract_visualScreenshot the rendered page in headless Chrome and extract computed colors, fonts, and visual context from JS-heavy sites.
  • brand_extract_siteDiscover representative pages, render them across desktop and mobile, capture screenshots, sample multiple components, and persist `extraction-evidence.json`.
  • brand_generate_designmdGenerate `design-synthesis.json` and `DESIGN.md` from extracted evidence or the current brand state.
  • brand_extract_figmaExtract from Figma design files (higher accuracy). Two-phase: plan then ingest.
  • brand_set_logoAdd/replace logo via SVG markup, URL, or data URI.
  • brand_compileGenerate DTCG design tokens, brand runtime contract, and interaction policy from extracted data.
  • brand_clarifyResolve ambiguous brand values interactively (color roles, font confirmations).
  • brand_auditValidate .brand/ directory for completeness and correctness.
  • brand_reportGenerate portable HTML brand report. Upload to any AI chat as instant guidelines.
  • +22 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Miromiro

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "miromiro": {
      "command": "npx",
      "args": [
        "-y",
        "miromiro-mcp"
      ],
      "env": {
        "MIROMIRO_API_KEY": "YOUR_MIROMIRO_API_KEY_HERE"
      }
    }
  }
}

Brandsystem MCP — Build

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "brandsystem-mcp-build": {
      "command": "npx",
      "args": [
        "-y",
        "@brandsystem/mcp"
      ]
    }
  }
}

Frequently asked questions

Miromiro is categorized under Marketing and uses a local stdio subprocess. Brandsystem MCP — Build belongs to Marketing and uses a local stdio subprocess. Pick Miromiro for marketing work and Brandsystem MCP — Build for marketing.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Miromiro has no declared pricing — check the project's own site. Brandsystem MCP — Build has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add miromiro and brandsystem-mcp-build as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Miromiro has a quality signal of 60/100 (Good) with 1 views, 0 installs and 0 GitHub stars. Brandsystem MCP — Build has 59/100 (Good) with 0 views, 0 installs and 15 GitHub stars.