figma-dev-tools
🎨 Figma Dev Tools v1.4.4
Figma → Beliebiges Frontend-Framework Design-to-Code MCP Server
English | 中文
Kompletter Werkzeugkasten, der Figma-Design und Frontend-Entwicklung miteinander verbindet, unterstützt 🖥️ GUI-Konfigurationsassistent, intelligentes Extrahieren von Design-Tokens, hochwertige Komponentengenerierung (React/Vue/Svelte/HTML usw.), automatischer Ressourcen-Download, MCP-Integration zwischen Editoren. Speziell für KI-Agenten optimiert, um Kernprobleme wie Div-Suppe, Kontextexplosion, hartcodierte Hex-Werte, Ressourcenpfad-Handhabung, Flex-Layout-Verzerrung, fehlende Barrierefreiheit, reaktionsfähige Anpassung und Paywall-Absicherung zu lösen.
✨ v1.4.4 Paywall-Absicherung + Hochwertige Wiedergabe + Leistungsoptimierung
Kern-Absicherung und Wiedergabe
Optimierungspunkt | Beschreibung | Version |
🧱 Paywall-Browser-Absicherung | Neuer | v1.4.4 |
🤖 Visueller Näherungsmodus | Neuer | v1.4.4 |
📏 DPR/Bildschirmgrößen-Erkennung | Screenshots werden entsprechend dem tatsächlichen | v1.4.4 |
🎯 Bewertungswerkzeug für Wiedergabetreue | Neues MCP-Tool | v1.4.4 |
📐 Absolute Positionierung | Fehler behoben: Knoten mit | v1.4.4 |
🎨 Verläufe/Mehrfachschatten/Innenschatten | Fehler behoben: Lineare/radiale Verlaufsfüllung, Mehrfachschatten, Innenschatten gingen verloren, alle auf Volltonfarben zurückgesetzt | v1.4.4 |
✂️ mask/clip-path Wiedergabe | Fehler behoben: runde Avatare, unregelmäßige Zuschnitte wurden verzerrt, jetzt abgebildet als | v1.4.4 |
➖ strokeDash gestrichelt/gepunktet | Fehler behoben: gestrichelte und gepunktete Rahmen wurden alle als durchgezogene Linien dargestellt | v1.4.4 |
🔤 Rich-Text mit mehreren Stilen | Fehler behoben: | v1.4.4 |
🌍 i18n Internationalisierung von Fehlermeldungen | Harte Chinesisch-Fehlermeldungen in | v1.4.4 |
Leistungsoptimierungen (Neu in v1.4.4)
Optimierungspunkt | Beschreibung | Version |
🚀 Browser-Instanzpool | Neuer | v1.4.4 |
💾 Screenshot-Cache | Neuer | v1.4.4 |
⏱️ Gestaffelte Timeouts | Navigation/Rendering/Screenshot haben separate Timeouts (Standard 20s/10s/5s), genaue Identifizierung der Timeout-Phase | v1.4.4 |
🧠 Hybride intelligente Warte-Strategie |
| v1.4.4 |
🔁 Exponentielles Backoff-Retry | Netzwerkfehler, Timeout-Fehler automatisches Wiederholen (Standard 2 Mal, anfängliche Verzögerung 500ms, exponentieller Backoff), Parameterfehler kein Wiederholen | v1.4.4 |
🔥 Warm-Up-Mechanismus |
| v1.4.4 |
📊 Leistungsmetriken |
| v1.4.4 |
🐛 Logische Black-Hole-Korrekturen | Behebung von 9 logischen Black Holes: Inkonsistenter Screenshot-Selektor, hartcodierte Größen, devModeCss-Injektionsrisiko, nicht geclamptes fidelityScore, Prüfreihenfolge von Abhängigkeiten usw. | v1.4.4 |
🧪 Testabdeckung | 35 neue Testfälle (BrowserPool + ScreenshotCache + Leistungsoptimierungskonfiguration), insgesamt 95 Tests alle bestanden | v1.4.4 |
Leistungsvergleich (Vorher/Nachher v1.4.4-Optimierung)
Szenario | Vorher | Nachher | Verbesserung |
Nachfolgender Screenshot (gleiche Sitzung) | 5-8 s | 1-2 s | 3-4x |
Wiederholte Anfrage (Cache-Treffer) | 5-8 s | <100 ms | 50x+ |
Netzwerkfluktuation-Wiederherstellung | Direkter Fehlschlag | Automatischer Retry | Verbesserte Verfügbarkeit |
Leistungsoptimierungskonfiguration (Optional, abwärtskompatibel)
// 通过 BrowserFallbackService 配置
const service = new BrowserFallbackService({
navigationTimeout: 20000, // 导航超时(毫秒)
renderTimeout: 10000, // 渲染等待超时(毫秒)
screenshotTimeout: 5000, // 截图操作超时(毫秒)
waitStrategy: 'hybrid', // 等待策略:hybrid/conservative/aggressive
maxRetries: 2, // 最大重试次数
retryBaseDelay: 500, // 重试初始延迟(毫秒)
enableScreenshotCache: true, // 启用截图缓存
screenshotCacheTtl: 3600000, // 缓存有效期(毫秒,默认 1 小时)
browserIdleTimeout: 60000, // 浏览器空闲超时(毫秒,默认 60 秒)
});📜 Versionshistorie Zusammenfassung
Version | Thema | Kerninhalt |
v1.4.4 | Paywall-Absicherung + Leistungsoptimierung | Browser-Ausweichscreenshot, Visueller Näherungsmodus, Wiedergabetreue-Bewertung, Leistungsoptimierung (Instanzpool/Cache/Gestaffelte Timeouts) |
v1.4.3 | Stabilitäts- und Sicherheitsverbesserungen | GUI-Anforderungskörperschutz, Zirkelverweiserkennung, Rekursionstiefenschutz, Cache-Konsistenz |
v1.4.1 | Codequalitätsoptimierung | Null any-Typen, oxlint null Warnungen, Code-Stil-Vereinheitlichung |
v1.4.0 | Großes Update | XSS-Sicherheitsschutz, intelligente Ebenenkorrektur, SVG-Inline-Rendering, Animationserkennung, lokaler verschlüsselter Cache, Optimierung des Bewertungsalgorithmus, H5-Anpassung, sicherer Token-Speicher |
v1.3.x | Grundlegende Fähigkeiten | GUI-Konfigurationsassistent, i18n-Internationalisierung, Barrierefreiheitsverbesserungen, Flex-Korrekturen, Designsystem-Ausrichtung, reaktionsfähige Inferenz, Designregelprüfung |
✨ Feature-Highlights
Feature | Beschreibung | Version |
🖥️ GUI-Konfigurationsassistent | Browser-GUI-Konfiguration: Willkommensseite → Sprachauswahl → Token-Konfiguration + Echtzeit-Validierung → Editor-Erkennung mit einem Klick installieren → Framework-Präferenzauswahl → Abschlussseite, null Einstiegshürde | v1.3.0 |
🔗 19 MCP-Tools | Vollständige Abdeckung des gesamten Workflows: URL-Parsing → Token-Extraktion → Komponentengenerierung → Ressourcen-Download → Paywall-Absicherung → Wiedergabetreue-Prüfung | v1.4.4 |
🧠 Framework-unabhängige strukturierte Daten | Ausgabe von id/name/role/type/size/layout/styles/text/asset/children JSON, unterstützt Vue/Svelte/HTML/Angular/Solid und andere Frameworks | v1.1.0 |
⚛️ React + Tailwind erstklassige Unterstützung | Semantische Tag-Auswahl + Tailwind-Mapping + cn()-Kombination + TODO-Markierung, hochwertige TSX mit einem Klick | v1.3.2 |
🔧 Flex-Layout automatische Korrektur | Intelligente Korrektur von Icon-Verzerrungen, Textabbrüchen, Überläufen und anderen Flex-Problemen | v1.3.2 |
♿ Barrierefreiheitsverbesserungen | Automatische Hinzufügung von semantischen Tags, alt, ARIA-Attributen | v1.3.2 |
🎨 Designsystem-Ausrichtung | Automatische Zuordnung von Farb-/Abstands-/Schrift-/Radius-/Schattenvariablen | v1.3.2 |
📱 Reaktionsfähige Inferenz | Intelligente Inferenz von Breakpoints, liefert Vorschläge für reaktionsfähige Präfixe | v1.3.2 |
✅ Designregel-Vorprüfung | Überprüfung der Designqualität vor der Code-Generierung mit Verbesserungsvorschlägen | v1.3.2 |
🧠 Intelligente Ebenenoptimierung | Automatische Abflachung redundanter GROUP/FRAME, eliminiert ~60% bedeutungslose verschachtelte divs | v1 |
📊 Progressiver Kontext | Metadaten-Übersicht (~4KB) → designContext-Details, vermeidet Kontextexplosion | v1.2 |
🎯 Mehrstufiger Token-Abgleich | codeSyntax.WEB → präziser Hex → CIE76-Farbabstands-Fuzzy → @theme-Erweiterungsvorschlag | v1 |
🖼️ Automatische Ressourcen-Pipeline | Bild/SVG erkennen → nach public/ herunterladen → SVGO-Optimierung → publicCdnUrl()-Referenz generieren | v1.2 |
🧩 SVG-Sprite-Generierung | Batch-Icons zu einem Sprite zusammenführen, CSS-Farbsteuerung unterstützt | v1.3.2 |
🌍 i18n Internationalisierung | Zweisprachige Unterstützung Chinesisch/Englisch, | v1.3.2 |
🔐 Sicherer Token-Speicher | Sicheres Speichern von Token in der System-Schlüsselkette | v1.3.2 |
💻 CLI-Befehlszeile | Unterstützt Skript- und CI/CD-Integration, auch ohne MCP verwendbar, neue Befehle gui/structured/lint/lang/token | v1 (gui v1.3.0) |
🔄 8+ Editoren unterstützt | Trae, VS Code, Cursor, Windsurf, Claude Desktop, Zed, Cline, Roo Code Installation mit einem Klick (GUI autom. Erkennung) | v1 (gui v1.3.0) |
🚀 Null-Konfiguration Start | Unterstützt | v1.2 |
🚀 Schnellstart
📚 Möchtest du eine kompakte, versionssynchrone Kurzanleitung? Siehe QUICKSTART.md (Chinesisch) / QUICKSTART.en-US.md (Englisch). Nachfolgend die ausführliche Anleitung.
Methode Null: GUI-Konfiguration (Empfohlen für Anfänger ⭐)
Keine Befehle merken nötig, komplette Konfiguration über die Browser-GUI:
# 直接启动 GUI 配置面板
npx figma-dev-tools gui
# 或全局安装后
figma-dev guiNach dem Start wird automatisch der Browser geöffnet (Standard-Port 54321, bei Belegung automatisch 54322/54323 versucht), den Anweisungen folgen:
Willkommensseite - Figma-Dev-Tools-Funktionen kennenlernen
Sprachauswahl - Zweisprachiger Wechsel Chinesisch/Englisch
Token-Konfiguration - Figma-Token eingeben, Echtzeit-Validierung
Editor-Erkennung - Automatische Erkennung von 8+ installierten Editoren, MCP-Konfiguration mit einem Klick installieren
Framework-Präferenz - Bevorzugtes Framework auswählen (React/Vue/HTML)
Abschlussseite - Konfiguration erfolgreich, Link zur Anleitung
💡 Du kannst den GUI-Modus auch über den Assistentenbefehl starten:
figma-dev wizard --gui figma-dev init --gui
Methode Eins: Null-Konfiguration npx Direktausführung (Schnellste)
Keine Installation erforderlich, MCP-Server mit einem Befehl starten:
# 直接通过 npx 运行,传入 API Key
npx -y figma-dev-tools --figma-api-key=your-figma-token-hereIn der Editor-MCP-Konfiguration verwenden:
{
"mcpServers": {
"figma-dev-tools": {
"command": "npx",
"args": ["-y", "figma-dev-tools", "--figma-api-key=figd_your_token_here"]
}
}
}Methode Zwei: Ein-Klick-Installation (Empfohlen für Langzeitnutzung)
# npm
npx figma-dev-tools install
# pnpm
pnpm dlx figma-dev-tools install
# yarn
yarn dlx figma-dev-tools install
# bun
bunx figma-dev-tools installDas Installationsskript führt automatisch durch:
Erkennung installierter KI-Editoren (Trae/VS Code/Cursor/Windsurf/Claude Desktop/Zed/Cline/Roo Code u.a. 8+)
Automatische Erkennung des Paketmanagers (npm/pnpm/yarn/bun)
Download/Kompilierung des Tools
Konfiguration der MCP-Einstellungen für die entsprechenden Editoren (Zed verwendet das Feld mcp_servers)
Generierung der
.env.example-Vorlage
💡 Einfacher:
figma-dev guiausführen, um die grafische Oberfläche zur Erkennung und Installation der Editor-Konfiguration zu nutzen.
Methode Drei: Als Projektabhängigkeit installieren
# npm
npm install figma-dev-tools --save-dev
# pnpm
pnpm add figma-dev-tools -D
# yarn
yarn add figma-dev-tools --dev
# bun
bun add figma-dev-tools -dMethode Vier: Aus lokalen Quellen installieren
# 克隆或复制 figma-dev-tools 目录到项目中
cp -r figma-dev-tools/ your-project/tools/
cd your-project/tools/figma-dev-tools
npm install # 或 pnpm install / yarn install / bun install
npm run build # 或 pnpm build / yarn build / bun run build1. Figma Access Token abrufen
Bei Figma anmelden
Rechts oben auf das Profilbild klicken → Settings → Account
Personal access tokens finden → Generate new token
Namen eingeben, Berechtigung File content (Read only) auswählen
Generierten Token kopieren (⚠️ wird nur einmal angezeigt)
💡 Bei GUI-Konfiguration den Token direkt im Browser-Interface einfügen; automatische Validierung und Speicherung.
2. Token konfigurieren
Methode A: GUI-Konfiguration (empfohlen v1.3.0+)
figma-dev guiToken im Browser-Interface eingeben, Echtzeit-Validierung, dann automatisch sicher gespeichert.
Methode B: Sicherer Speicher (empfohlen v1.3.2+)
# 交互式保存 Token 到系统密钥链
figma-dev token set
# 或直接通过参数
figma-dev token set -t figd_your_token_hereMethode C: Über Befehlszeilenparameter
npx figma-dev-tools --figma-api-key=your-figma-token-here
# 或短参数
npx figma-dev-tools -t your-figma-token-hereMethode D: Über .env-Datei
Erstelle eine .env-Datei im Verzeichnis figma-dev-tools/:
FIGMA_ACCESS_TOKEN=your-figma-token-hereMethode E: MCP-Konfiguration env
In der Editor-MCP-Konfiguration hinzufügen:
{
"mcpServers": {
"figma-dev-tools": {
"command": "node",
"args": ["<path>/dist/index.js"],
"env": {
"FIGMA_ACCESS_TOKEN": "your-figma-token-here"
}
}
}
}3. Erstes Figma → Code Beispiel
React + Tailwind (empfohlen, erweiterte Version v1.4.0):
Im KI-Editor (z.B. Trae) direkt chatten:
帮我用 figma-dev-tools 还原这个 Figma 设计稿:
https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032
场景名:landing-page
组件名:HeroSectionKI führt automatisch den folgenden erweiterten Workflow aus (v1.3.2):
figma_lint_design- Designregel-Vorprüfung (optional, Probleme anzeigen)figma_parse_urlURL parsenfigma_get_metadataSeitenstrukturübersicht abrufenfigma_get_screenshotVisuelle Basis abrufenfigma_generate_jsxTSX-Code mit einem Klick generieren (inkl. Flex-Korrektur, a11y-Verbesserungen, Designsystem-Ausrichtung, reaktionsfähige Inferenz)figma_download_assetsBildressourcen herunterladen (SVGO automatisch optimiert)
Andere Frameworks (Vue/Svelte/HTML usw.):
Verwende figma_get_structured_data, um eine framework-unabhängige JSON-Struktur abzurufen:
帮我用 figma_get_structured_data 获取这个 Figma 节点的结构化数据,然后生成 Vue 组件:
https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032CLI-Kurzerfahrung
# 🖥️ 启动 GUI 可视化配置面板(v1.3.0 新,小白推荐)
npx figma-dev-tools gui
# 查看文件信息
npx figma-dev info "https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032"
# 设计规范预检(v1.3.2 新)
npx figma-dev lint "https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032"
# 生成 React 组件(增强版)
npx figma-dev jsx "https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032" \
--name HeroSection --scene landing-page
# 获取框架无关结构化数据(v1.1.0 新)
npx figma-dev structured "https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032" \
--format json --output ./hero-structured.json
# 同步 Design Tokens
npx figma-dev sync "https://www.figma.com/design/xxxxx/MyProject" \
--format oklch --output ./src/styles
# 语言设置(v1.3.2 新)
npx figma-dev lang switch # 交互式切换中英文
npx figma-dev lang set zh-CN
# Token 安全管理(v1.3.2 新)
npx figma-dev token set # 保存 Token 到密钥链
npx figma-dev token list # 列出已保存 Token🔧 MCP-Tool-Referenz
Insgesamt 19 MCP-Tools, nach Nutzungsablauf geordnet:
# | Toolname | Funktion | Schlüsselparameter | Version |
1 |
| Analysiere Figma-URL, extrahiere fileKey/nodeId |
| v1 |
2 |
| Validiere die Gültigkeit von Figma Access Token |
| v1 |
3 |
| Rufe Basis-Informationen einer Datei ab (Seitenliste, Komponenteanzahl) |
| v1 |
4 |
| Liste Components/ComponentSets in einer Datei auf |
| v1.2 |
5 |
| Hochrangige Strukturübersicht (~4KB, vermeide Kontextexplosion) |
| v1.2 |
6 |
| Kompakter Design-Kontext (flache Hierarchie + semantische Annotation + Ressourcenliste) |
| v1.2 |
7 |
| Rufe hochauflösenden Screenshot eines Knotens ab |
| v1 |
8 |
| ⭐ Framework-unabhängige strukturierte Daten (id/name/role/type/size/layout/styles/text/asset/children) |
| v1.1.0 |
9 |
| ⭐ Neu in v1.3.2: Qualitätsvorprüfung für Code-Umsetzung |
| v1.3.2 |
10 |
| ⭐ Ein-Klick-Generierung von React/Vue+Tailwind TSX (mit Flex-Fix/a11y/Designsystem/Responsivität, v1.4.0 neu: Vue 3/UnoCSS) |
| v1.4.0 verbessert |
11 |
| Basis-Komponentengenerierung (Altlast, empfehle generate_jsx) |
| v1 |
12 |
| Ressourcen herunterladen nach public// + SVGO-Optimierung + publicCdnUrl |
| v1.2 |
13 |
| ⭐ Neu in v1.3.2: SVG Sprite generieren |
| v1.3.2 |
14 |
| Extrahiere Design-Tokens (Variables+Styles) |
| v1 |
15 |
| Generiere CSS Variables / Tailwind v4 @theme |
| v1 |
16 |
| Schreibe Tokens in Projekt-Datei (automatische Sicherung) |
| v1 |
17 |
| ⭐ Neu in v1.4.4: Status des Paywall-Fallback-Systems abfragen (Playwright-Verfügbarkeit, Konfiguration, Fallback-Priorität) | Keine | v1.4.4 |
18 |
| ⭐ Neu in v1.4.4: Browser-Fallback-Screenshot auslösen (Screenshot bei Paywall + Dev Mode CSS + visueller Näherungsmodus) |
| v1.4.4 |
19 |
| ⭐ Neu in v1.4.4: Umsetzungstreue-Prüfung (Pixel-Diff + Wärmebild der Unterschiede + quantifizierte Bewertung 0-100%) |
| v1.4.4 |
Detaillierte Tool-Parameter
figma_generate_jsx (v1.4.0 verbesserte Version, am häufigsten verwendet)
{
figmaUrl?: string; // Figma 链接(可替代 fileKey+nodeId)
fileKey?: string; // Figma 文件 Key
nodeId?: string; // 目标节点 ID
componentName?: string; // 组件名(如 HeroSection)
sceneName?: string; // 场景名(用于资源路径,如 landing-page)
maxDepth?: number; // 节点树最大遍历深度,默认 15(1-30)
framework?: 'react' | 'vue'; // 目标框架,默认 react(v1.4.0 新增 vue)
styleFormat?: 'tailwind' | 'unocss'; // 样式方案,默认 tailwind(v1.4.0 新增 unocss)
skipEnhancements?: boolean; // 是否跳过 v1.2.0 增强(Flex/a11y/设计系统/响应式)
skipLintCheck?: boolean; // 是否跳过设计规范检查提示
accessToken?: string; // 可选,优先用环境变量
}Verbesserte Ausgabe von v1.4.0:
Vollständiger React + TypeScript + Tailwind TSX Code (Prettier-formatiert)
🔧 Flex-Fixbericht: Liste automatisch korrigierter Layout-Probleme (Icon-Verzerrung, Textabschneidung usw.)
♿ Barrierefreiheitsverbesserungsbericht: Hinzugefügte semantische Labels, alt-Texte, ARIA-Attribute
🎨 Designsystem-Vorschläge: Vorschläge zur Variablenzuordnung von Farbe/Abstand/Radius/Schatten
📱 Responsivitätsvorschläge: Breakpoint-Ableitung, sm/md/lg-Präfix-Vorschläge
⚠️ Liste der Tokens, die eine @theme-Erweiterung erfordern
🖼️ Liste der herunterzuladenden Ressourcen (nodeId, Name, Typ)
🧩 Hinweise auf wiederverwendbare Komponenten
Statistik der reduzierten Knoten
✅ Designrichtlinien-Bewertungshinweis (unter 80 Punkten wird eine vorherige Reparatur empfohlen)
figma_lint_design (Neu in v1.3.2, Qualitätsvorprüfung für Code-Umsetzung)
{
figmaUrl?: string; // Figma 链接
fileKey?: string; // Figma 文件 Key
nodeId?: string; // 目标节点 ID(可选,默认检查整个文件)
maxDepth?: number; // 最大检查深度,默认 15(1-30)
accessToken?: string; // 可选
}Prüfpunkte:
Verwendung von Auto Layout
Namenskonvention der Ebenen
Verwendung des 4px/8px Rasters für Abstände/Größen/Radien
Wiederverwendung von Komponenten
Minimale barrierefreie Klickgröße (48×48px)
Verschachtelungstiefe
Konsistenz der Textstile
Verwendung von Farben
Ausgabe:
Qualitätsbewertung 0-100 Punkte
Kategorisierte Statistik von Fehlern/Warnungen/Hinweisen
Nach Kategorien aufgeschlüsselte Problemliste
Konkrete Reparaturempfehlungen
Siehe:
FIGMA-DESIGN-GUIDELINES.md
figma_create_icon_sprite (Neu in v1.3.2, SVG Sprite-Generierung)
{
svgDir: string; // 包含 SVG 文件的目录
outputPath: string; // sprite.svg 输出路径
typesPath?: string; // 可选,TypeScript 类型文件路径
prefix?: string; // symbol id 前缀,默认 "icon-"
removeFill?: boolean; // 是否移除 fill 以便 CSS color 控制,默认 true
}figma_get_structured_data (Neu in v1.1.0, Multi-Framework-Unterstützung)
{
figmaUrl?: string; // Figma 链接(可替代 fileKey+nodeId)
fileKey?: string; // Figma 文件 Key
nodeId: string; // 目标节点 ID(必需)
maxDepth?: number; // 最大节点树深度,默认 15(1-30)
accessToken?: string; // 可选,优先用环境变量
}Ausgabeinhalt:
Vollständige, framework-unabhängige JSON-Struktur, jeder Knoten enthält:
id/name- Knotenbezeichnerrole- Semantische Rolle (button/card/image/text/icon/section usw.)type- Figma-Knotentyp (FRAME/TEXT/RECTANGLE/GROUP/INSTANCE usw.)size- { width, height }layout- Flex-Layout-Eigenschaften (display/flexDirection/justifyContent/alignItems/gap/padding usw.)styles- Stileigenschaften (color/backgroundColor/borderRadius/shadow/fontSize/fontWeight usw.)text- Textinhalt (nur TEXT-Knoten)asset- Ressourceninformationen (Bildknoten: Typ, Format, Download-URL)children- Array der Unterknoten
Vorschau-Zusammenfassung: Semantische Rolle, Knotentyp, Größe, Gesamtknotenzahl, Anzahl Farben, Anzahl Ressourcen, Anzahl Textknoten
structuredContent- Vollständige strukturierte Knoten-Baumstruktur, die direkt durchlaufen werden kann, um Code für jedes Framework zu generieren
Geeignete Frameworks:
✅ React / Next.js / Remix (besser mit generate_jsx)
✅ Vue 2/3 / Nuxt
✅ Svelte / SvelteKit
✅ Natives HTML / CSS
✅ Angular
✅ SolidJS
✅ Qwik
✅ Astro
✅ Beliebiges Frontend-Framework
figma_download_assets
{
figmaUrl?: string;
fileKey: string;
sceneName: string; // 对应 public/<场景>/ 目录
assetNodeIds: string[]; // 从 generate_jsx 获取的 nodeId 列表
projectRoot?: string; // 项目根目录,默认自动检测
scale?: number; // 导出倍率 1-4,默认 2
svgFormat?: 'svg' | 'png'; // 矢量格式,默认 svg
optimizeSvg?: boolean; // 使用 SVGO 优化 SVG,默认 true
}figma_extract_tokens
{
figmaUrl?: string;
fileKey: string;
nodeId?: string; // 可选,仅提取该节点下的 tokens
colorFormat?: 'hex' | 'rgb' | 'oklch' | 'hsl'; // 默认 oklch(Tailwind v4 推荐)
spacingUnit?: 'px' | 'rem'; // 默认 px
tokenPrefix?: string; // Token 名称前缀
}💻 CLI-Befehlsreferenz
# 全局安装后使用
npm install -g figma-dev-tools
figma-dev <command> [options]
# 或 npx 直接运行
npx figma-dev-tools <command> [options]
# 🖥️ v1.3.0 新:启动 GUI 可视化配置面板
npx figma-dev-tools gui
# 传入 API Key
npx figma-dev-tools --figma-api-key=your-token <command>
npx figma-dev-tools -t your-token <command>
# 切换语言(v1.3.2 新)
npx figma-dev-tools -l zh-CN <command>Befehl | Funktion | Häufige Optionen | Version | ||
| 🖥️ GUI-Konfigurationspanel starten |
| v1.3.0 | ||
| MCP-Konfiguration mit einem Klick in Editoren installieren | - | v1 | ||
| Installierte MCP-Konfiguration entfernen | - | v1 | ||
| Token validieren | - | v1 | ||
| Interaktiver Konfigurationsassistent |
| v1.3.0 | ||
| Konfiguration initialisieren (interaktiver Assistent) |
| v1.3.0 | ||
| 🌍 Spracheinstellungen (set/list/switch) |
| v1.3.2 | ||
| 🔐 Token-Sicherheitsverwaltung (set/get/list/delete/default) |
| v1.3.2 | ||
| Dateiinformationen anzeigen | - | v1 | ||
| ✅ Designrichtlinien-Prüfung |
| v1.3.2 | ||
| Metadatenübersicht abrufen |
| v1.1.0 | ||
| Framework-unabhängige strukturierte Daten abrufen |
| v1.1.0 | ||
| Erweiterte JSX/Vue-Komponenten generieren (Flex/a11y/Designsystem/Responsiv, v1.4.0 neu: Vue 3/UnoCSS) |
| vue | unocss | v1.4.0 |
| Basiskomponente generieren |
| v1 | ||
| Assets herunterladen (SVGO-Optimierung) |
| png | v1.1.0 | |
| Tokens synchronisieren |
| rem | v1 | |
| Screenshot abrufen |
| v1 | ||
| MCP-Server starten (stdio) | - | v1 | ||
| Tutorial-Dokumentation anzeigen (Alias |
| v1.3.0 | ||
| 📦 Cache-Verwaltung (status/clear) |
| v1.4.0 | ||
| 🔒 Datenschutzerklärung (Datensicherheitsversprechen + .gitignore-Prüfung) | - | v1.4.0 |
CLI-Beispiele:
# 🖥️ 启动 GUI 可视化配置面板(v1.3.0 新,小白推荐)
figma-dev gui
# 指定端口启动 GUI
figma-dev gui --port 3000
# 通过向导命令启动 GUI 模式
figma-dev wizard --gui
figma-dev init --gui
# 设计规范预检(v1.3.2 新)
figma-dev lint "https://www.figma.com/design/xxx/yyy?node-id=23-11032"
# 一键生成 Hero 区 React 组件(增强版)
figma-dev jsx "https://www.figma.com/design/xxx/yyy?node-id=23-11032" \
--name HeroSection \
--scene landing-page \
--depth 8
# 获取框架无关结构化数据(JSON 格式输出到文件)
figma-dev structured "https://www.figma.com/design/xxx/yyy?node-id=23-11032" \
--depth 8 \
--format json \
--output ./hero-data.json
# 批量下载资源(自动 SVGO 优化)
figma-dev assets "https://www.figma.com/design/xxx/yyy?node-id=23-11032" \
--scene landing-page \
--nodes "23-11032,23-11050,23-11080" \
--scale 2
# 生成 SVG Sprite(v1.3.2 新,需先下载图标)
# 通过 MCP 工具 figma_create_icon_sprite 调用
# 保存 Token 到系统密钥链(v1.3.2 新)
figma-dev token set -t figd_your_token_here
# 切换到中文界面(v1.3.2 新)
figma-dev lang set zh-CN🖥️ Unterstützte Editoren (8+)
Editor | Ein-Klick-Installation | GUI-Erkennung | Konfigurationsformat | Manueller Konfigurationspfad |
Trae | ✅ Automatische Erkennung und Installation | ✅ | mcpServers | Projektstamm |
VS Code | ✅ Automatische Erkennung und Installation | ✅ | mcpServers |
|
Cursor | ✅ Automatische Erkennung und Installation | ✅ | mcpServers |
|
Windsurf | ✅ Automatische Erkennung und Installation | ✅ | mcpServers |
|
Claude Desktop | ✅ Automatische Erkennung und Installation | ✅ | mcpServers |
|
Zed | ✅ Automatische Erkennung und Installation | ✅ | mcp_servers |
|
Cline (VS Code/Cursor-Plugin) | ✅ Automatische Erkennung und Installation | ✅ | mcpServers | VS Code/Cursor globaler Speicher |
Roo Code (VS Code/Cursor-Plugin) | ✅ Automatische Erkennung und Installation | ✅ | mcpServers | VS Code/Cursor globaler Speicher |
💡 Einfachste Konfigurationsmethode: Führen Sie
figma-dev guiaus Starten Sie die grafische Oberfläche, erkennen Sie automatisch alle auf Ihrem Computer installierten Editoren, wählen Sie die zu konfigurierenden Editoren aus und installieren Sie mit einem Klick – ohne manuelle Suche nach Konfigurationsdateipfaden.
MCP-Konfigurationsvorlage
Standardformat (Trae/VS Code/Cursor/Windsurf/Claude Desktop/Cline/Roo Code):
{
"mcpServers": {
"figma-dev-tools": {
"command": "node",
"args": ["<path-to-figma-dev-tools>/dist/index.js"],
"env": {
"FIGMA_ACCESS_TOKEN": "your-figma-token-here"
}
}
}
}Zed-Format (Beachten Sie, dass das Feld mcp_servers heißt):
{
"mcp_servers": {
"figma-dev-tools": {
"command": "node",
"args": ["<path-to-figma-dev-tools>/dist/index.js"],
"env": {
"FIGMA_ACCESS_TOKEN": "your-figma-token-here"
}
}
}
}Zero-Config npx-Methode (keine lokale Installation erforderlich):
{
"mcpServers": {
"figma-dev-tools": {
"command": "npx",
"args": ["-y", "figma-dev-tools", "--figma-api-key=figd_your_token_here"]
}
}
}💡 Verwenden Sie
npx figma-dev-tools installoderfigma-dev guiEs erkennt automatisch den Editor und füllt den korrekten Pfad aus. Bei Zed wird automatisch das Feldmcp_serversverwendet.
⚙️ Konfigurationshinweise
Umgebungsvariablen (.env)
Kopieren Sie .env.example in .env und füllen Sie aus:
# 必需:Figma Personal Access Token
# 获取地址:https://www.figma.com/developers/api#access-tokens
FIGMA_ACCESS_TOKEN=your-figma-token-here
# 可选:Figma OAuth Token(企业版使用)
FIGMA_OAUTH_TOKEN=
# 可选:自定义 Figma API 端点(企业代理)
FIGMA_API_BASE=https://api.figma.com
# 可选:默认导出倍率(1-4,默认 2)
FIGMA_DEFAULT_SCALE=2
# 可选:默认颜色格式(hex/rgb/oklch/hsl,默认 oklch)
FIGMA_DEFAULT_COLOR_FORMAT=oklch
# 可选:资源输出基础目录(默认 public)
FIGMA_ASSETS_BASE_DIR=public
# 可选:资源 CDN 前缀(默认 /)
FIGMA_CDN_PREFIX=/
# v1.3.2 新增:默认语言(zh-CN/en-US)
FIGMA_DEFAULT_LANG=zh-CN
# v1.3.0 新增:GUI 默认端口(默认 54321)
FIGMA_GUI_PORT=54321MCP-Konfigurationspriorität
Token-Lesepriorität:
Befehlszeilenargument
--figma-api-key/-t/--tokenÜber die GUI-Oberfläche konfiguriertes und gespeichertes Token (v1.3.0 neu, automatisch in sicherem Speicher abgelegt)
Standard-Token im sicheren Speicher (v1.3.2 neu, gespeichert mit
figma-dev token set)accessToken-Parameter, der beim Aufruf des MCP-Tools übergeben wirdenv.FIGMA_ACCESS_TOKENin der MCP-KonfigurationFIGMA_ACCESS_TOKENin der.env-DateiSystemumgebungsvariable
FIGMA_ACCESS_TOKEN
🏗️ Architekturdiagramm
┌──────────────────────────────────────────────────────────────────────────────────┐
│ 用户界面层 │
│ ┌──────────────┐ ┌──────────────────────────────────────────────────────────┐ │
│ │ 💻 CLI 终端 │ │ 🖥️ GUI 可视化配置面板 (v1.3.0) │ │
│ │ 命令行交互 │ │ ┌──────┐ ┌──────┐ ┌───────┐ ┌────────┐ ┌──────────┐ │ │
│ │ │ │ │欢迎页│→│语言选│→│Token配│→│编辑器检│→│ 完成页 │ │ │
│ │ │ │ │ │ │择 │ │置验证 │ │测一键装│ │ 教程链接 │ │ │
│ └──────┬───────┘ │ └──────┘ └──────┘ └───────┘ └────────┘ └──────────┘ │ │
│ │ └──────────────────────────┬─────────────────────────────┘ │
│ │ │ 端口 54321/54322/54323 │
└─────────┼─────────────────────────────────────┼────────────────────────────────┘
│ │
└─────────────────┬───────────────────┘
│ HTTP (GUI) / stdio (MCP)
▼
┌──────────────────────────────────────────────────────────────────────────────────┐
│ figma-dev-tools MCP Server v1.4.4 │
│ 🖥️ GUI | 🌍 i18n | ♿ a11y | 🔧 Flex Fix | 📱 Responsive | 🔒 XSS | 🗂️ Hierarchy │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────────────────────┐ │
│ │ figma-url │───▶│figma-client │───▶│ Figma REST API │ │
│ │ 解析器 │ │ API 客户端 │ │ (figma.com) │ │
│ └─────────────┘ └──────┬───────┘ └─────────────────────────────────────┘ │
│ │ 🔒 AES-256-GCM 本地加密缓存 │
│ ┌────────────────┼────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │node-processor│ │design-context│ │tokens-extractor│ │
│ │ 节点精简 │ │ 渐进式上下文 │ │ Token 提取 │ │
│ │ GROUP扁平化 │ │ metadata概览 │ │ Variables+Styles│ │
│ │ 🗂️层级自动修复│ │ context详情 │ │ │ │
│ │ 语义角色标注 │ │ │ │ │ │
│ └──────┬──────┘ └──────┬───────┘ └───────┬───────┘ │
│ │ │ │ │
│ └────────┬───────┴───────────┬───────┘ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌────────────────┐ ┌──────────────────┐ │
│ │token-matcher │ │tailwind-mapper │ │ design-linter │ │
│ │多级Token匹配 │ │完整属性映射 │ │ ✅ 设计规范检查 │ │
│ │codeSyntax→ │ │flex/padding/ │ │ Auto Layout/命名 │ │
│ │精确→模糊匹配 │ │gap/shadow等 │ │ 间距/尺寸/无障碍 │ │
│ │ │ │ │ │ 🗂️父子层级错位检测│ │
│ └──────┬───────┘ └───────┬────────┘ └────────┬─────────┘ │
│ │ │ │ │
│ └─────────┬─────────┘ │ │
│ ▼ ▼ │
│ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ code-generator │───────▶│ v1.4.0 Enhancements │ │
│ │ React JSX生成 │ │ ┌──────────────────┐ │ │
│ │ 语义标签+cn() │ │ │ 🔧 flex-fixer │ │ │
│ │ TODO标记 │ │ │ ♿ a11y-enhancer │ │ │
│ │ 🔒 XSS全链路防护 │ │ │ 🎨 design-system │ │ │
│ │ Prettier格式化 │ │ │ 📱 responsive │ │ │
│ └────────┬─────────┘ │ │ 🎨 svg-inline │ │ │
│ ┌───────────────┴──────────────┐ │ │ ✨ animation │ │ │
│ ▼ ▼ ▼ │ └──────────────────┘ │ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │asset- │ │ vue-generator│ │ svg-inline │ │ │
│ │downloader │ │ Vue SFC生成 │ │ renderer │ │ │
│ │图片/SVG下载 │ │ │ │ 矢量→内联SVG │ │ │
│ │SVGO优化 │ └──────────────┘ │ svgo优化 │ │ │
│ │publicCdnUrl()│ └──────────────┘ │ │
│ └──────┬───────┘ │ │
│ │ │ │
│ └──────────────┬─────────────────────────────────────────┘ │
│ ▼ │
│ ┌────────────────┐ ┌──────────────┐ ┌─────┐ │
│ │ file-writer │ │ CLI 命令 │ │i18n │ │
│ │ 文件写入 │ │ gui/lint/ │ │ zh/ │ │
│ │ CSS/Tailwind/ │ │ lang/token/ │ │ en │ │
│ │ JSON/TSX/Vue │ │ jsx/structur │ └─────┘ │
│ │ Prettier格式化│ │ ed/sync/asset│ │
│ └────────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────────────────┐ │
│ │svg-sprite-gen │ │ token-store │ │ 🖥️ GUI 服务器 (v1.3.0) │ │
│ │SVG Sprite生成 │ │ 🔐 安全存储 │ │ ┌───────┐ ┌───────┐ ┌──────┐ │ │
│ │TS类型定义 │ │ Keychain/凭据管 │ │ │index │ │ app │ │style │ │ │
│ └──────────────────┘ └──────────────────┘ │ │.html │ │.js │ │.css │ │ │
│ │ └───────┘ └───────┘ └──────┘ │ │
│ │ 静态资源 + Express 服务 │ │
│ └──────────────────────────────┘ │
│ │
└───────────────────────────────────────────────────────────────────────────────┘📋 Projektstruktur
figma-dev-tools/
├── bin/
│ └── figma-dev.js # CLI 入口(v1.3.0 新增 gui 命令)
├── mcp-standalone.mjs # 零配置 MCP 入口(v1.1.0 新)
├── gui/ # 🖥️ v1.3.0 新:GUI 可视化配置面板
│ ├── index.html # GUI 主页面
│ ├── app.js # 前端交互逻辑
│ └── styles.css # GUI 样式
├── src/
│ ├── index.ts # MCP 服务器入口(v1.4.0 新增 svg-inline/hierarchy/cache)
│ ├── types.ts # TypeScript 类型定义
│ ├── i18n/ # 🌍 v1.3.2 新:国际化
│ │ ├── index.ts # i18n 核心
│ │ ├── zh-CN.ts # 中文语言包
│ │ └── en-US.ts # 英文语言包
│ ├── cli/
│ │ └── index.ts # CLI 命令定义
│ ├── services/
│ │ ├── figma-client.ts # Figma REST API 客户端(含本地加密缓存)
│ │ ├── node-processor.ts # ⭐ 节点树精简 + 语义标注 + 🗂️层级自动修复
│ │ ├── design-context.ts # ⭐ 渐进式上下文服务
│ │ ├── token-matcher.ts # ⭐ 多级 Token 匹配
│ │ ├── tailwind-mapper.ts # ⭐ Tailwind 属性映射
│ │ ├── code-generator.ts # ⭐ JSX 代码生成(v1.4.0:XSS防护+import分组排序+交互推断+语义标签)
│ │ ├── vue-generator.ts # 🟢 v1.4.0:Vue SFC 代码生成
│ │ ├── flex-fixer.ts # 🔧 Flex 布局修复
│ │ ├── a11y-enhancer.ts # ♿ 无障碍增强
│ │ ├── design-system.ts # 🎨 设计系统对齐
│ │ ├── responsive-inferrer.ts # 📱 响应式推断
│ │ ├── design-linter.ts # ✅ 设计规范检查(含🗂️层级错位检测)
│ │ ├── hierarchy-fixer.ts # 🗂️ v1.4.0:智能层级修复(父子错位自动修复)
│ │ ├── svg-inline-renderer.ts # 🎨 v1.4.0:SVG内联渲染(svgo优化+LRU缓存)
│ │ ├── animation-detector.ts # ✨ v1.4.0:动效检测(基础框架,预留扩展)
│ │ ├── component-mapper.ts # 🧩 v1.4.0:组件库映射(shadcn/ui等检测提示)
│ │ ├── interaction-inferrer.ts # 🤖 v1.4.0:交互逻辑推断(按钮/表单/Tab/弹窗状态自动推断)
│ │ ├── watch-mode.ts # 👁️ v1.4.0:Watch模式(轮询Figma变更自动重生成代码)
│ │ ├── cache.ts # ⚡ v1.4.0:AES-256-GCM本地加密缓存(LRU+TTL)
│ │ ├── code-formatter.ts # 💅 Prettier 代码格式化
│ │ ├── asset-downloader.ts# ⭐ 资源下载管线(SVGO 优化)
│ │ ├── svg-sprite-generator.ts # 🧩 SVG Sprite 生成
│ │ ├── token-store.ts # 🔐 Token 安全存储
│ │ ├── tokens-extractor.ts# Tokens 提取
│ │ └── file-writer.ts # 文件写入
│ ├── types/
│ │ └── nodes.ts # 节点类型定义
│ └── utils/
│ ├── figma-url.ts # URL 解析
│ ├── color.ts # 颜色转换 + CIE76 色差
│ ├── cn.ts # className 合并工具(tailwind-merge + clsx)
│ ├── security.ts # 🔒 v1.4.0:XSS安全防护(6个安全函数)
│ └── errors.ts # 错误处理
├── dist/ # 编译输出
├── .env.example # 环境变量模板
├── FIGMA-DESIGN-GUIDELINES.md # 📖 Figma 设计规范指南
├── DEVELOPMENT.md # 开发文档
├── OPTIMIZATION-ANALYSIS.md # 优化分析
├── package.json # v1.4.0
├── tsconfig.json
├── README.md # 本文件
├── LICENSE # MIT 许可证
└── SKILL.md # AI Agent 使用指南❓ FAQ / Fehlerbehebung
F: Ich bin Anfänger und weiß nicht, wie ich die Konfiguration vornehmen soll?
Lösung (v1.3.0 neue Funktion – einfachste Methode): Führen Sie direkt den GUI-Konfigurationsassistenten aus, ohne sich Befehle merken zu müssen:
npx figma-dev-tools guiDer Browser öffnet automatisch die Konfigurationsoberfläche. Folgen Sie den Schritten:
Wählen Sie die Sprache (Deutsch)
Fügen Sie Ihren Figma-Token ein (automatische Validierung)
Wählen Sie die zu konfigurierenden Editoren aus (automatische Erkennung installierter Editoren)
Klicken Sie auf Ein-Klick-Installation – fertig!
F: Wie starte ich die GUI-Konfiguration?
Lösung (v1.3.0 neu): Es gibt drei Möglichkeiten, die GUI zu starten:
# 方式一:直接启动 gui 命令(推荐)
figma-dev gui
# 或 npx figma-dev-tools gui
# 方式二:向导命令加 --gui 参数
figma-dev wizard --gui
# 方式三:初始化命令加 --gui 参数
figma-dev init --guiStandardport: 54321
Wenn Port 54321 belegt ist, wird automatisch 54322, 54323 versucht
Nach dem Start wird automatisch der Standardbrowser geöffnet
Unterstützt Deutsch/Englisch-Umschaltung
Echtzeit-Validierung der Token-Eingabe
Automatische Erkennung von 8+ Editoren und Ein-Klick-Installation der Konfiguration
F: Kann ich den GUI-Port anpassen?
Lösung (v1.3.0 neu):
# 指定端口启动
figma-dev gui --port 3000
# 或通过环境变量
FIGMA_GUI_PORT=3000 figma-dev guiF: Der MCP-Server startet nicht?
Überprüfung:
Wurde
npm install && npm run buildausgeführt (oder entsprechende pnpm/yarn/bun-Befehle)?Existiert die Datei
dist/index.js?Node.js-Version ≥ 20 (mit
node -vprüfen)Ist der Pfad in der MCP-Konfiguration korrekt? (Absolute Pfade empfohlen)
Für Zero-Config direkt
npx -y figma-dev-tools --figma-api-key=xxxverwendenEmpfohlen: Zuerst mit GUI konfigurieren:
figma-dev guierledigt die gesamte Konfiguration automatisch
F: API-Anfrage gibt 401 Unauthorized zurück?
Lösung:
Überprüfen, ob
FIGMA_ACCESS_TOKENkorrekt konfiguriert istSicherstellen, dass das Token nicht abgelaufen ist (neu generieren)
Sicherstellen, dass das Token die Berechtigung File content (Read only) hat
Sicherstellen, dass Sie Zugriff auf die Figma-Datei haben (Datei muss für den Link sichtbar sein oder Sie sind Mitarbeiter)
Ab v1.3.0 können Sie das Token über die GUI-Oberfläche eingeben und in Echtzeit auf Gültigkeit prüfen
Ab v1.3.2 können Sie mit
figma-dev token setdas Token sicher speichern, um Klartext-Konfigurationsfehler zu vermeidenVersuchen Sie, das Token direkt über den Parameter
--figma-api-keyzu übergeben
F: Generierte Symbole werden zu Ellipsen/verzerrt?
Lösung (v1.3.2 automatische Reparatur):
Dies ist ein klassisches Flex-Layout-Problem: Flex-Container standardmäßig
align-items: stretchdehnt untergeordnete Elementefigma_generate_jsxin v1.3.2 erkennt dies automatisch und fügtalign-items: center+flex-shrink: 0+ feste Breite/Höhe zur Reparatur hinzuWenn das Problem weiterhin besteht, rufen Sie
figma_lint_designauf, um die Auto-Layout-Einstellungen im Design zu überprüfen
F: Ich verwende Vue/Svelte/andere Frameworks, nicht React?
Lösung: Verwenden Sie das in v1.1.0 neu hinzugefügte Tool figma_get_structured_data, das eine framework-unabhängige JSON-Struktur mit vollständigen Knotenhierarchien, Stilen, Texten und Asset-Informationen ausgibt. Basierend auf diesen Daten können Sie Code für jedes Framework generieren.
CLI unterstützt auch:
npx figma-dev structured "https://www.figma.com/design/xxx/yyy?node-id=23-11032" --format json💡 Im Schritt "Framework-Präferenz" der GUI-Konfiguration können Sie Ihr bevorzugtes Framework auswählen.
F: Die generierten Komponenten haben andere Farben/Abstände als das Design?
Lösung:
Stellen Sie sicher, dass in Figma Variablen für Farben/Abstände verwendet werden und
codeSyntax.WEBgesetzt istDie Designsystem-Ausrichtung in v1.3.2 gleicht automatisch Farb-/Abstands-/Schrift-/Ecken-/Schattenvariablen ab
Empfohlenes Farbformat:
oklch(nativ von Tailwind v4 unterstützt). Bei Problemen aufhexumschaltenFarben, die nicht auf vorhandene Tokens passen, werden über
@theme inlineerweitert – nicht direktbg-[#hex]schreibenÜberprüfen Sie die TODO-Kommentare und den Designsystem-Vorschlagsbericht im generierten Code
Rufen Sie vor der Generierung
figma_lint_designauf, um die Designrichtlinien zu prüfen
F: Der generierte Code enthält viele redundante verschachtelte divs?
Lösung:
Verwenden Sie
figma_generate_jsxaus v1.4.0 anstelle der älterenfigma_generate_component.UI-Designer sollten mehrfache, bedeutungslose Group-Verschachtelungen vermeiden (verwenden Sie Frame zur Bereichsaufteilung).
Rufen Sie
figma_lint_designauf, um Probleme mit der Verschachtelungstiefe zu prüfen.Überprüfen Sie, ob Knoten, die im generierten Code als layout-only markiert sind, fälschlicherweise beibehalten wurden.
Große Abschnitte sollten zur Generierung in Blöcke aufgeteilt werden, um die Verarbeitung zu tiefer Knotenbäume in einem Durchgang zu vermeiden.
F: Bildressourcen werden nicht automatisch heruntergeladen?
Lösung:
Sie MÜSSEN das Tool
figma_download_assetsaufrufen und diependingAssets[].nodeIdaus der Ausgabe vongenerate_jsxübergeben.Stellen Sie sicher, dass der Parameter
sceneNamegesetzt ist (Ressourcen werden im Verzeichnispublic/<Szenenname>/abgelegt).Ab v1.3.2 werden SVGs beim Herunterladen automatisch mit SVGO optimiert, um redundante Attribute zu entfernen.
Überprüfen Sie, ob der Bildknoten in Figma einen IMAGE-Fill hat.
Netzwerkproblem: Der Figma-Bild-CDN erfordert möglicherweise einen Proxy/Zugang.
F: Wie kann der generierte Code responsiv gemacht werden?
Lösung (neue Funktion in v1.3.2):
figma_generate_jsxaus v1.3.2 erkennt automatisch responsive Breakpoints und gibt im Responsive-Vorschlagsbericht Empfehlungen mit sm/md/lg-Präfixen.Es wird empfohlen, Designs getrennt für Mobil/Desktop zu erstellen oder Auto-Layout-Constraints zu verwenden.
Passen Sie die Klassennamen basierend auf den Responsive-Vorschlägen manuell an, indem Sie responsive Präfixe hinzufügen (z. B.
md:flex-row).
F: Dem generierten Code fehlen Barrierefreiheits-Attribute?
Lösung (automatische Verbesserung in v1.3.2):
figma_generate_jsxaus v1.3.2 fügt automatisch hinzu:Semantische HTML-Tags (
<button>statt<div onClick>,<h1>-<h6>usw.)Alt-Text für Bilder
ARIA-Labels und -Rollen
Hinweise zur Mindestgröße für barrierefreie Klickziele
Der Barrierefreiheits-Verbesserungsbericht listet alle hinzugefügten Verbesserungen auf.
Rufen Sie
figma_lint_designauf, um Barrierefreiheitsprobleme im Design zu prüfen.
F: API-Anforderungsratenbegrenzung?
Die Figma-API hat eine Ratenbegrenzung (ca. 60 Anfragen/Minute).
Beim Massen-Download von Ressourcen wird im Tool intern automatisch gedrosselt.
Bei großen Dateien wird eine Aufteilung empfohlen, um eine hohe Anzahl von Anfragen in kurzer Zeit zu vermeiden.
F: Welche Frontend-Frameworks werden unterstützt?
React + Tailwind CSS: Erstklassige Unterstützung (TSX-Codegenerierung + volle Verbesserungen ab v1.3.2).
Vue 2/3 / Nuxt: Über
figma_get_structured_datastrukturierte Daten abrufen, KI kann Vue SFC generieren.Svelte / SvelteKit: Wie oben.
Angular: Wie oben.
SolidJS / Qwik: Wie oben.
Natives HTML / CSS: Wie oben.
Astro: Wie oben.
Next.js: Unterstützt, aber vermeiden Sie
next/image(verwenden Sie normale<img>oderpublicCdnUrl()).Vite + React: Empfohlen, passt am besten zum generierten Code.
💡 Im GUI-Konfigurationsassistenten können Sie Ihre Framework-Präferenz auswählen.
F: Die Konfiguration für den Zed-Editor funktioniert nicht?
Lösung: Zed verwendet das Feld mcp_servers (Unterstrich), nicht mcpServers (CamelCase).
Verwenden Sie die grafische Oberfläche
figma-dev guifür die Ein-Klick-Konfiguration, die die Feldunterschiede von Zed automatisch behandelt.Oder verwenden Sie
npx figma-dev-tools install, das diesen Unterschied ebenfalls automatisch behandelt.
F: Wie kann ich die Oberflächensprache wechseln?
Lösung (neu in v1.3.2):
# CLI 交互式切换
figma-dev lang switch
# 直接设置
figma-dev lang set zh-CN # 中文
figma-dev lang set en-US # English
# 或通过环境变量
FIGMA_DEFAULT_LANG=zh-CN💡 Im zweiten Schritt der GUI-Konfigurationsoberfläche können Sie auch direkt die Sprache auswählen.
F: Wie kann ich das Figma-Token sicher speichern?
Lösung (empfohlen ab v1.3.0+):
Am einfachsten: Führen Sie
figma-dev guiaus, geben Sie das Token in der GUI-Oberfläche ein, es wird automatisch validiert und im sicheren Speicher abgelegt.Befehlszeilenmethode (neu in v1.3.2):
# 交互式保存(推荐,会验证 Token)
figma-dev token set
# 直接保存
figma-dev token set -t figd_your_token_here
# 列出已保存 Token
figma-dev token list
# 查看 Token(掩码显示)
figma-dev token get
# 设置默认 Token
figma-dev token default workDas Token wird im Systemsicherheitsspeicher abgelegt:
macOS: Keychain
Windows: Credential Manager
Linux: libsecret (falls nicht verfügbar, Rückfall auf verschlüsselte Datei)
📖 Designrichtlinien
Siehe FIGMA-DESIGN-GUIDELINES.md – der vollständige Leitfaden zu Figma-Designrichtlinien für Designer und KI, einschließlich:
Auto-Layout-Nutzungsrichtlinien
Namenskonventionen für Ebenen
4px/8px-Rastersystem
Empfehlungen zur Wiederverwendung von Komponenten
Anforderungen an barrierefreies Design
Best Practices von Design zu Code
Es wird empfohlen, vor der Codegenerierung figma_lint_design auszuführen, um die Designqualität zu prüfen.
🎯 Vergleich mit anderen Lösungen
Der folgende Vergleich basiert auf öffentlich zugänglichen Informationen von 2025-2026 und spiegelt nur die Fähigkeitsunterschiede zwischen figma-dev-tools v1.4.4 und den jeweiligen Lösungen wider, nicht deren gesamtes Können. Mit „zu bestätigen“ gekennzeichnete Punkte sind in öffentlichen Quellen nicht eindeutig geklärt.
vs. Kommerzielle SaaS-Lösungen
Vergleichsdimension | figma-dev-tools v1.4.4 | Builder.io | Anima | Locofy | Seal (NetEase Seal D2C) |
Positionierung | Open-Source-MCP-Toolkette | Kommerzielle SaaS + KI-Plattform | Kommerzielles SaaS | Kommerzielles SaaS | Internes Tool / Figma-Plugin |
Preis | Kostenlos & Open Source (MIT) | Freemium (Pro $24/Monat+) | Freemium ($20/Monat+) | Freemium ($29/Monat+) | Kostenlos (Registrierung erforderlich) |
MCP-Protokollunterstützung | ✅ | ✅ | ✅ | ✅ | ❌ |
GUI-Visuelle Konfiguration | ✅ v1.3.0 (Browser-GUI) | ✅ (Fusion Canvas) | ✅ (AI Playground) | ✅ (Figma-Plugin) | ✅ (Figma-Plugin) |
React-Codegenerierung | ✅ TSX + Tailwind | ✅ | ✅ | ✅ | ✅ |
Vue-Codegenerierung | ✅ v1.4.0 (Vue 3 SFC + UnoCSS) | ✅ | ✅ | ✅ | ✅ |
Framework-unabhängige Strukturdaten | ✅ v1.1.0 (JSON-Ausgabe) | ❌ | ❌ | ❌ | ❌ |
Design-Token-Extraktion | ✅ Variables + Styles | ✅ | Zu bestätigen | ✅ | Zu bestätigen |
Automatische Flex-Layout-Korrektur | ✅ v1.3.2 (Symbolverformung/Textabschneiden) | Teilweise (automatisch responsiv) | ✅ | ✅ | ✅ (Auto-Layout-Wiederherstellung) |
Barrierefreiheits-Verbesserung (a11y) | ✅ v1.3.2 (Semantische Tags/alt/ARIA) | ✅ (Review agents) | Zu bestätigen | ✅ (Agent Mode) | Zu bestätigen |
Automatischer Ressourcen-Download | ✅ publicCdnUrl + SVGO | ✅ | ✅ | ✅ | Zu bestätigen |
Wiedergabetreue-Prüfung (Pixel-Diff) | ✅ v1.4.4 (pixelmatch + Heatmap) | ❌ | ❌ | Zu bestätigen („pixel-perfect“-Werbung) | Teilweise (Designprüfung) |
Paywall-Absicherung (Screenshot-Fallback) | ✅ v1.4.4 (Playwright + visuelle Annäherung) | ❌ | ❌ | ❌ | ❌ |
Multi-Editor-Integration | ✅ 8+ (GUI automatische Erkennung & Ein-Klick-Installation) | ✅ (VS Code/Cursor) | ✅ (Frontier-Erweiterung) | ✅ (Cursor/Windsurf usw.) | ❌ |
CLI-Befehlszeile | ✅ 20+ Befehle | ✅ (Visual Copilot CLI) | Zu bestätigen | Zu bestätigen | ❌ |
i18n-Internationalisierung | ✅ v1.3.2 (Zweisprachig Chinesisch/Englisch) | ✅ | Zu bestätigen | ✅ (Agent Mode Anweisungen) | Zu bestätigen |
Sichere Token-Speicherung | ✅ v1.3.2 (Systemschlüsselkette) | ✅ | Zu bestätigen | Zu bestätigen | Zu bestätigen |
vs. Open-Source / Offizielle Tools
Vergleichsdimension | figma-dev-tools v1.4.4 | @figma/code-connect | Framelink Figma MCP | figma-mcp (Community) | Design Lint AI |
Positionierung | Open-Source-MCP-Toolkette | Offizielles Figma-Komponenten-Mapping | Open-Source-MCP (8k+ Sterne) | Open-Source-MCP (mehrere Projekte) | Figma-Plugin |
Preis | Kostenlos & Open Source (MIT) | Kostenlos (erfordert Dev/Full-Sitz) | Kostenlos & Open Source (MIT) | Kostenlos & Open Source | Freemium (Pro $19/Monat+) |
MCP-Protokollunterstützung | ✅ | ✅ (Integration mit offiziellem MCP) | ✅ | ✅ | ❌ |
GUI-Visuelle Konfiguration | ✅ v1.3.0 | ✅ (Code Connect UI öffentlicher Beta-Test) | ❌ (Konfigurationsdatei-gesteuert) | ❌ | ✅ (Figma-Plugin) |
Codegenerierung | ✅ Ein-Klick TSX/Vue | ❌ (Nur Komponenten-Mapping, kein D2C) | ❌ (Nur Datenbereitstellung, Generierung durch KI) | ❌ (Nur Datenbereitstellung) | N/A (Kein Codegenerierungstool) |
Design-Token-Extraktion | ✅ | ✅ (variables + code syntax) | ❌ | ❌ | ✅ (Token-Validierung) |
Automatische Flex-Layout-Korrektur | ✅ v1.3.2 | ❌ | ❌ | Teilweise (Auto-Layout-Konfiguration) | ❌ |
Barrierefreiheits-Verbesserung (a11y) | ✅ v1.3.2 | ❌ | ❌ | ❌ | ✅ (WCAG-Prüfung) |
Automatischer Ressourcen-Download | ✅ | ❌ | ✅ (download_figma_images) | ✅ | ❌ |
Wiedergabetreue-Prüfung (Pixel-Diff) | ✅ v1.4.4 | ❌ | ❌ | ❌ | ❌ |
Paywall-Absicherung (Screenshot-Fallback) | ✅ v1.4.4 | N/A (Offizielle Funktion betrifft keine Paywall) | ❌ | ❌ | ❌ |
Multi-Editor-Integration | ✅ 8+ (GUI automatische Erkennung) | ✅ (VS Code/Cursor/Android Studio usw.) | ✅ (Alle MCP-Clients) | ✅ (Alle MCP-Clients) | ❌ |
CLI-Befehlszeile | ✅ 20+ Befehle | ✅ ( | ✅ (npx-Start) | ✅ | ❌ (Team API) |
i18n-Internationalisierung | ✅ v1.3.2 | ❌ | ❌ | ❌ | ❌ |
SVG-Sprite-Generierung | ✅ v1.3.2 | ❌ | ❌ | ❌ | ❌ |
Differenzierungsvorteile
Paywall-Absicherung: Der exklusive
BrowserFallbackServicevon figma-dev-tools v1.4.4 startet automatisch einen Playwright-Screenshot-Fallback, wenn die Figma-REST-API aufgrund einer Paywall fehlschlägt. Kein Wettbewerber bietet einen ähnlichen Mechanismus.Wiedergabetreue-Prüfungszyklus:
figma_verify_fidelitybietet Pixel-Diff + Differenz-Heatmap + quantitative Bewertung (0-100%). Andere Tools bleiben meist bei der „pixel-perfect“-Werbung ohne automatisierte Prüfung.Framework-unabhängige Strukturdaten:
figma_get_structured_datagibt standardisiertes JSON aus, das jedes Framework unterstützt. Kommerzielle SaaS-Lösungen sind oft an bestimmte Frameworks gebunden.Open Source + Kostenlos + Voll funktionsfähig: MIT-Lizenz, alle 19 MCP-Tools ohne kostenpflichtigen Sitz nutzbar.
📜 Lizenz
MIT © figma-dev-tools contributors
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Figma MCP server brings Figma design context directly into your AI workflow.
Connect AI coding agents to Anima Playground, Figma, and your design system.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qq1006492122/figma-dev-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server