Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Miromiro

by SoraiaBarrosoversion 0.3.1i★ –iComputer or cloud
Registry nameapp.miromiro/miromiro

Install

Overview

Description from the maker (original English)

Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Design, images & audio
  • You need to fill in: MIROMIRO_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: MIROMIRO_API_KEY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://miromiro.app/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "miromiro": {
      "command": "npx",
      "args": [
        "-y",
        "miromiro-mcp"
      ],
      "env": {
        "MIROMIRO_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http miromiro https://miromiro.app/mcp

Or run it on your computer

claude mcp add miromiro --env MIROMIRO_API_KEY=your-value -- npx -y miromiro-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "miromiro": {
      "url": "https://miromiro.app/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "miromiro": {
      "command": "npx",
      "args": [
        "-y",
        "miromiro-mcp"
      ],
      "env": {
        "MIROMIRO_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "miromiro": {
      "type": "http",
      "url": "https://miromiro.app/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "miromiro": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "miromiro-mcp"
      ],
      "env": {
        "MIROMIRO_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://miromiro.app/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MIROMIRO_API_KEY secret required env
    API key from https://miromiro.app/api/dashboard (free tier: 100 credits/month, no card)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain miromiro.app (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Design, images & audioi

  • More stars than 0% of the other 2177 servers in this category
  • Published to the registry more recently than 19% of the other 2177 servers in this category
  • Basic checks equal to or better than 100% of the other 2177 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Miromiro safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: MIROMIRO_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.1) reached the registry 3 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

Runs on your computer★ 16,165MITUpdated 5 months ago
Install

Claude Real Video

by HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

Runs on your computer★ 2,284MITUpdated 2 months ago
Install

Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.

Runs in the cloud★ 2,152Updated 13 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

miromiro-mcp

MCP server for the MiroMiro design-extraction API. Give your AI agent the real design of any live website - brand colors, fonts, design tokens, SVGs, images, Lottie animations, and paste-ready component code - so it builds from actual values instead of guessing from a screenshot.

Works with Claude (web, desktop, Claude Code), ChatGPT, Cursor, Windsurf, Codex, and any MCP client.

Claude Code plugin

Install as a plugin to get the tools plus five skills that teach Claude when to reach for each one:

  • elementor-section - any site's section as an Elementor template to import into WordPress
  • shopify-section - any site's section as a Shopify theme section (.liquid)
  • clone-section - a section as Tailwind, HTML+CSS, React or Vue
  • match-brand - a site's colors, fonts and design tokens to build in its style
  • extract-assets - images, SVG icons, videos, audio and Lottie files
claude plugin marketplace add SoraiaBarroso/miromiro-mcp

claude plugin install miromiro@miromiro

The plugin uses the remote server, so there is nothing to install and no key to paste - on first use it opens a one-click MiroMiro sign-in that links a free account (300 credits/month, no card).

Skills for OpenClaw and other agents

The same skills live in skills/. Each one uses the MiroMiro MCP tools when they are connected and otherwise calls the REST API with MIROMIRO_API_KEY (free key, 300 credits a month: https://miromiro.app/api/onboarding).

Quick start: remote server (nothing to install)

A hosted server lives at:

https://miromiro.app/mcp

Paste that URL into any client that accepts a remote MCP server. On first use it opens a one-click MiroMiro sign-in that links a free account (300 credits/month, no card).

  • Claude (web or desktop): Settings → Connectors → Add custom connector → paste the URL. Or use the one-click install.
  • ChatGPT: Settings → Security and login → enable Developer mode, then Settings → Plugins → New Plugin with the URL (authentication: OAuth).
  • Cursor (remote): add { "mcpServers": { "miromiro": { "url": "https://miromiro.app/mcp" } } } to ~/.cursor/mcp.json.
  • Claude Code: claude mcp add --transport http miromiro https://miromiro.app/mcp, then /mcp in a session to sign in.
  • Codex: add [mcp_servers.miromiro] with url = "https://miromiro.app/mcp" to ~/.codex/config.toml, then run codex mcp login miromiro.
  • Grok Bot: ask the bot "Add a custom MCP server called miromiro at https://miromiro.app/mcp", then press Authorize.
  • Muse: Settings → Connectors → Add custom connector → paste the URL.
  • Step-by-step pages for each agent: https://miromiro.app/api/agents/chatgpt (swap the last part for claude, claude-code, codex, cursor, grok-bot, muse or openai-dots).
  • Raw API key instead of OAuth: append ?access_key=mm_live_... to the URL, or send it as an Authorization: Bearer header.

Local server (npm)

Prefer a local stdio process with the key in an env var? Get a free key at miromiro.app/api/dashboard, then:

Cursor (~/.cursor/mcp.json) / Windsurf (Settings → MCP):

{

"mcpServers": { "miromiro": { "command": "npx", "args": ["-y", "miromiro-mcp"], "env": { "MIROMIRO_API_KEY": "mm_live_your_key" } } } }

Claude Code (run in your terminal, not inside a claude session):

claude mcp add miromiro -s user \

--env MIROMIRO_API_KEY=mm_live_your_key \ -- npx -y miromiro-mcp

Tools

ToolWhat it returnsCredits
extract_codeA section of a live page as a paste-ready component (Tailwind, HTML+CSS, JSX or Vue) or an importable Elementor template / Shopify section, plus the tokens it uses - start here to rebuild real UI10
extract_brandNamed color roles (primary/accent/background/text), palette, fonts split by role, logo, social profiles, a 0-1 confidence score, and signals explaining where the colors came from (declared tokens vs inferred)10
extract_design_tokensFull token system with usage counts; format: css or tailwind for paste-ready output, dtcg for a W3C Design Tokens file (Style Dictionary / Figma variables)10
extract_fontsEvery font file and family the site loads, with weights, formats, and file URLs5
extract_videosVideo files, og:video, and player embeds (YouTube, Vimeo, Wistia, Loom), tagged by source; a direct video-file URL is returned as the single result, and a YouTube/Vimeo/TikTok/Dailymotion/Loom video URL returns its player embed without a fetch1
extract_audioAudio files, og:audio, and podcast enclosures, tagged by source; a direct audio-file URL is returned as the single result1
extract_lottieLottie animation JSON files declared in the page3
extract_svgsInline SVG code (sanitized, paste-ready) plus external SVG file URLs1
extract_assetsEvery image URL on a page, tagged by source, with alt text; a direct image-file URL is returned as the single result1
list_site_pagesEvery page of a website (from the sitemap, else the homepage links): pages with their own layout, templates grouping pages that share one layout, and suggested (every layout once)0 (free on every plan)
extract_pageA whole page as code: every section top to bottom in the framework you ask for, plus pagePreviewUrl (the page assembled, with a Download HTML button). Paid plans, credit packs and AppSumo only30 per page

All tools are read-only and retry-safe. Identical calls within 24 hours are served from cache for free, and failed calls are never billed.

Asking for a part of the page by name

extract_code takes section - one of hero, header, footer, pricing, features, testimonials, faq, cta - so the agent never has to invent a CSS selector for a page it cannot see. Every result also lists the page's other sections with ready selectors for follow-up calls. A selector or section that matches nothing falls back to the hero with a note saying what the page does have, instead of a dead-end 404.

Every extract_code result carries previewUrl: a page showing exactly the returned code rendered, so you can compare it with the live site even if your agent adapts the code; downloadUrl: the code exactly as returned, as a file in the format you asked for (.jsx, .vue, .html, .elementor.json, .liquid); and pagePreviewUrl: every section of that page extracted so far, assembled in order. Agents are told to build on the returned code rather than regenerate it: they make it better to use where they can (clear names, reusable components with props, shorter code without redundant wrappers or duplicated classes, your theme tokens) as long as it renders the same, hand clean code over as it is, and never retype the real layout and styles. Inline SVGs over 2 KB (logo walls, illustrations) come back as permanent hosted .svg files behind an that keeps their classes, size and color, which keeps the code small enough for the agent to use as-is (astro.build's hero: 73 KB to 14 KB). Pass inline_svg: true for fully self-contained code.

Extracting a whole website

list_site_pages(url) scans the site for free and groups its pages by layout, so a blog with 62 posts shows up as one template rather than 62 pages. The agent shows you the list and asks which pages you want before spending anything. It then calls extract_page(url) once per chosen page, with optional framework (tailwind by default, or html, jsx, vue, elementor, shopify) and theme (light or dark).

extract_page costs a flat 30 credits per page, however long the page is, and a page already extracted in the last 24 hours is free. If a page has more sections than fit in one call, the result says complete: false and calling again with the same url finishes it at no extra charge. Whole-site extraction needs a paid plan, a credit pack or an AppSumo license: on a free key, extract_page returns a 402 (site_requires_plan) that the agent relays, and extract_code still works for single sections.

Prompts (slash commands)

The server exposes three MCP prompts, which clients surface before the first call - Claude Code as /mcp__miromiro__clone_section, /mcp__miromiro__brand_kit and /mcp__miromiro__design_tokens, VS Code as /miromiro. , Cursor in its prompt menu:

PromptArgumentsWhat it does
clone_sectionurl, section?, framework?Rebuild a section of a live site as paste-ready code, with its real values, and list the other sections
brand_kiturlThe brand colors, fonts, logo and socials, explained (declared vs inferred)
design_tokensurl, format?The complete token system as CSS, Tailwind, DTCG or JSON, with a short summary
Controlling output size (remote server)

Remote results are trimmed by default so a big page cannot flood the chat context, and every trimmed response says exactly what was dropped. Two optional arguments loosen it per call:

  • response_format: 'concise' | 'detailed' - the one-word knob: concise keeps lists to 10 entries for a chat answer, detailed returns everything the tool has
  • limit (up to 200) - raise the item cap: "give me 80 SVGs, not 20"
  • full_output: true - complete long strings, like entire inline SVG markup

Generated code is never trimmed. Results stop at roughly 20k tokens (25k for extract_code) so they fit the tool-result cap of Claude Code, Claude Desktop and Cursor, and the truncation_note says how many tokens were cut and which argument brings them back.

The REST API and this local npm server always return everything untrimmed, so limit and full_output apply to the remote server only. Every tool on both servers accepts render: true (forces a real browser, +5 credits, on every plan; usually not needed because the server re-runs JavaScript-only or refused pages in a browser by itself - see Notes), plus two more shared arguments:

  • fresh: true - skip the 24-hour cache and re-extract the live page (charged normally); use when the site just changed
  • screenshot: true (requires render: true) - the result gains a screenshot field: a public URL of a 1440x900 capture of the page, live for 7 days, at no extra credits - show it to the user to verify an extraction. Pass 'full' instead of true for the entire page height.

Examples

"Rebuild stripe.com's pricing section in React"

The agent calls extract_code with the URL, gets the section's real markup, colors, fonts, and spacing, and adapts actual values instead of guessing.

Extraction returns a page's light styles by default, so a site you know as dark comes back light unless you ask otherwise:

"Rebuild linear.app's pricing card in its dark theme"

The agent passes theme: "dark" and the page's prefers-color-scheme: dark rules and custom properties become the component itself. Every result also carries a theme field saying which one you actually got. Sites that switch themes with a JavaScript class toggle cannot be selected this way - you get the page default plus a hint saying so.

"Build a dashboard in the style of linear.app"

The agent calls extract_brand and extract_design_tokens, gets Linear's real colors, fonts, and spacing scale, and builds to match.

"What fonts does apple.com use?"

The agent calls extract_fonts and returns every family with its font file URLs and weights.

Notes

  • extract_code always loads the page in a real browser and reads what it actually shows (on every plan, no extra credits), so it never needs render: true

Only the beginning is shown; read the rest in the repo

Ask PopNx