Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
제작자가 쓴 설명(영어 원문)
Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
MIROMIRO_API_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://miromiro.app/mcpClaude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"miromiro": {
"command": "npx",
"args": [
"-y",
"miromiro-mcp"
],
"env": {
"MIROMIRO_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http miromiro https://miromiro.app/mcpclaude mcp add miromiro --env MIROMIRO_API_KEY=your-value -- npx -y miromiro-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"miromiro": {
"url": "https://miromiro.app/mcp"
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"miromiro": {
"command": "npx",
"args": [
"-y",
"miromiro-mcp"
],
"env": {
"MIROMIRO_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"miromiro": {
"type": "http",
"url": "https://miromiro.app/mcp"
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"miromiro": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"miromiro-mcp"
],
"env": {
"MIROMIRO_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://miromiro.app/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 도메인 miromiro.app 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: MIROMIRO_API_KEY
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.3.1)은 3개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Figma Context MCP, Claude Real Video, Figma MCP Server
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.
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 WordPressshopify-section - any site's section as a Shopify theme section (.liquid)clone-section - a section as Tailwind, HTML+CSS, React or Vuematch-brand - a site's colors, fonts and design tokens to build in its styleextract-assets - images, SVG icons, videos, audio and Lottie filesclaude 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).
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).
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).
{ "mcpServers": { "miromiro": { "url": "https://miromiro.app/mcp" } } } to ~/.cursor/mcp.json.claude mcp add --transport http miromiro https://miromiro.app/mcp, then /mcp in a session to sign in.[mcp_servers.miromiro] with url = "https://miromiro.app/mcp" to ~/.codex/config.toml, then run codex mcp login miromiro.claude, claude-code, codex, cursor, grok-bot, muse or openai-dots).?access_key=mm_live_... to the URL, or send it as an Authorization: Bearer header.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
| Tool | What it returns | Credits |
|---|---|---|
extract_code | A 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 UI | 10 |
extract_brand | Named 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_tokens | Full 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_fonts | Every font file and family the site loads, with weights, formats, and file URLs | 5 |
extract_videos | Video 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 fetch | 1 |
extract_audio | Audio files, og:audio, and podcast enclosures, tagged by source; a direct audio-file URL is returned as the single result | 1 |
extract_lottie | Lottie animation JSON files declared in the page | 3 |
extract_svgs | Inline SVG code (sanitized, paste-ready) plus external SVG file URLs | 1 |
extract_assets | Every image URL on a page, tagged by source, with alt text; a direct image-file URL is returned as the single result | 1 |
list_site_pages | Every 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_page | A 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 only | 30 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.
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.
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.
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:
| Prompt | Arguments | What it does |
|---|---|---|
clone_section | url, section?, framework? | Rebuild a section of a live site as paste-ready code, with its real values, and list the other sections |
brand_kit | url | The brand colors, fonts, logo and socials, explained (declared vs inferred) |
design_tokens | url, format? | The complete token system as CSS, Tailwind, DTCG or JSON, with a short summary |
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 haslimit (up to 200) - raise the item cap: "give me 80 SVGs, not 20"full_output: true - complete long strings, like entire inline SVG markupGenerated 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 changedscreenshot: 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."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.
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앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요