figma-dev-tools
🎨 Figma Dev Tools v1.4.10
Figma → Beliebiges Frontend-Framework Design-to-Code-Konvertierung MCP-Server
English | 中文
Komplette Toolchain zur Verbindung von Figma-Design und Frontend-Entwicklung, unterstützt 🖥️ GUI-Konfigurationsassistent, intelligente Extraktion von Design-Tokens, hochwertige Komponentengenerierung (React/Vue/Svelte/HTML usw.), automatischer Ressourcen-Download, MCP-Integration über Editoren hinweg. Optimiert für KI-Agenten, löst Kernprobleme wie div-soup, Kontextüberflutung, hartcodierte hex-Werte, Ressourcenpfadbehandlung, Flex-Layout-Verzerrung, fehlende Barrierefreiheit, responsive Anpassung, Paywall-Absicherung usw.
✨ v1.4.4 Paywall-Absicherung + Hochwertige Wiedergabe + Leistungsoptimierung
Kern-Absicherung und Wiedergabe
Optimierung | Beschreibung | Version |
🧱 Browser-Fallback für Paywall | Neu | v1.4.4 |
🤖 Visueller Näherungsmodus | Neu | v1.4.4 |
📏 DPR/Bildschirmgrößen-Wahrnehmung | Screenshots werden entsprechend dem tatsächlichen | v1.4.4 |
🎯 Wiedergabetreue-Bewertungstool | Neues MCP-Tool | v1.4.4 |
📐 Absolute Positionierung wiederhergestellt | Behebung des Verlusts von | v1.4.4 |
🎨 Farbverläufe/mehrere Schatten/inner shadow | Behebung des Verlusts von linearen/radialen Farbverläufen, mehreren Schatten, inneren Schatten; alle wurden fälschlich auf einfarbig reduziert | v1.4.4 |
✂️ mask/clip-path wiederhergestellt | Behebung von Verzerrungen bei runden Avataren, unregelmäßigen Ausschnitten; Abbildung auf | v1.4.4 |
➖ strokeDash gestrichelte/gepunktete Linien | Behebung des Problems, dass gestrichelte und gepunktete Rahmen alle als durchgezogene Linien dargestellt wurden | v1.4.4 |
🔤 Rich-Text mit mehreren Stilen | Behebung des Problems, dass | v1.4.4 |
🌍 i18n-Fehlermeldungen internationalisiert | Hartcodierte chinesische Fehlermeldungen in | v1.4.4 |
Leistungsoptimierung (neu in v1.4.4)
Optimierung | Beschreibung | Version |
🚀 Browser-Instanzpool | Neu | v1.4.4 |
💾 Screenshot-Cache | Neu | v1.4.4 |
⏱️ Abgestufte Timeouts | Navigation/Rendering/Screenshot haben jeweils eigene Timeouts (Standard 20s/10s/5s); präzise Lokalisierung der Timeout-Phase | v1.4.4 |
🧠 Hybride intelligente Wartestrategie |
| v1.4.4 |
🔁 Exponentielles Backoff-Retry | Netzwerkfehler, Timeout-Fehler werden automatisch wiederholt (Standard 2 Mal, anfängliche Verzögerung 500ms, exponentielles Backoff); Parameterfehler werden nicht wiederholt | v1.4.4 |
🔥 Warmup-Mechanismus |
| v1.4.4 |
📊 Leistungsmetrik-Tracking |
| v1.4.4 |
🐛 Logische Blackholes behoben | 9 logische Blackholes behoben: inkonsistenter Screenshot-Selektor, hartcodierte Größen, Risiko der | v1.4.4 |
🧪 Testabdeckung | 35 neue Testfälle (BrowserPool + ScreenshotCache + Leistungsoptimierungskonfiguration), insgesamt 95 Tests alle bestanden | v1.4.4 |
Leistungsvergleich (vor und nach Optimierung v1.4.4)
Szenario | Vor Optimierung | Nach Optimierung | Verbesserung |
Nachfolgender Screenshot (gleiche Sitzung) | 5-8 Sekunden | 1-2 Sekunden | 3-4x |
Wiederholte Anfrage (Cache-Treffer) | 5-8 Sekunden | <100ms | 50x+ |
Netzwerkstörungserholung | Direkter Fehler | Automatischer Wiederholungsversuch | 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 秒)
});Related MCP server: Figma MCP Server
📜 Versionsverlauf Zusammenfassung
Version | Thema | Kerninhalt |
v1.4.10 | Versionseinheit + figd_ Token-Authentifizierungsfix | Behebung der Authentifizierung für Token vom Typ figd_ (X-Figma-Token-Header); CLI/GUI-Version wird einheitlich aus package.json gelesen; alle Dokumentversionen synchronisiert |
v1.4.9 | figd_ Token-Authentifizierungsfix | Behebung des Kompatibilitätsproblems, dass Token vom Typ figd_ den X-Figma-Token-Request-Header anstelle von Authorization verwenden müssen; Token-Überprüfung vollständig bestanden |
v1.4.8 | --update EBUSY-Kompatibilität + Dokumentation | --update erkennt automatisch EBUSY und fällt auf robocopy zurück; CLI-Dokumentation vervollständigt (-v/--ver/--update); doppelte Symbole behoben; detaillierte Fehleranzeige |
v1.4.7 | Token-Überprüfungsoptimierung + i18n | Fehler bei Token-Überprüfung zeigen spezifische Ursache (HTTP 401/403/429); detaillierte Fehleranzeige in GUI; verbesserte Fehlererfassung in CLI; vollständige Internationalisierung der Fehlermeldungen |
v1.4.4 | Paywall-Absicherung + Leistungsoptimierung | Browser-Fallback-Screenshot, visueller Näherungsmodus, Wiedergabetreue-Bewertung, Leistungsoptimierung (Instanzpool/Cache/abgestufte Timeouts) |
v1.4.3 | Stabilitäts- und Sicherheitsverbesserung | GUI-Request-Body-Schutz, Zirkelreferenzerkennung, Rekursionstiefenschutz, Cache-Konsistenz |
v1.4.1 | Codequalitätsoptimierung | Null any-Typen, null oxlint-Warnungen, einheitliche Codestandards |
v1.4.0 | Großes Update | XSS-Sicherheitsschutz, intelligente Ebenenreparatur, SVG-Inline-Rendering, Animationserkennung, lokaler verschlüsselter Cache, Bewertungsalgorithmusoptimierung, H5-Anpassung, sicherer Token-Speicher |
v1.3.x | Basis-Funktionsaufbau | GUI-Konfigurationsassistent, i18n-Internationalisierung, Barrierefreiheitsverbesserung, Flex-Reparatur, Designsystem-Ausrichtung, responsive Inferenz, Designrichtlinienprüfung |
✨ Funktionen Highlights
Funktion | Beschreibung | Version |
🖥️ GUI-Konfigurationsassistent | Browser-GUI-Konfiguration: Begrüßungsseite → Sprachauswahl → Token-Konfiguration + Live-Überprüfung → Editor-Erkennung mit Ein-Klick-Installation → Framework-Präferenz → Abschlussseite; auch für Anfänger ohne Vorkenntnisse geeignet | v1.3.0 |
🔗 19 MCP-Tools | Vollständige Abdeckung von URL-Analyse → 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 First-Class-Unterstützung | Semantische Tag-Auswahl + Tailwind-Mapping + cn() -Zusammenführung + TODO-Markierungen; Generierung hochwertiger TSX mit einem Klick | v1.3.2 |
🔧 Flex-Layout automatische Reparatur | Intelligente Reparatur von Symbolverzerrungen, Textabschnitten, Überläufen und anderen Flex-Problemen | v1.3.2 |
♿ Barrierefreiheitsverbesserung | Automatisches Hinzufügen von semantischen Tags, alt, ARIA-Attributen | v1.3.2 |
🎨 Designsystem-Ausrichtung | Automatische Zuordnung von Farb-/Abstands-/Schrift-/Radius-/Schattenvariablen | v1.3.2 |
📱 Responsive Inferenz | Intelligente Inferenz von Breakpoints, Bereitstellung von responsiven Präfixvorschlägen | v1.3.2 |
✅ Designrichtlinien-Vorprüfung | Überprüfung der Designqualität vor der Codegenerierung und Bereitstellung von Reparaturempfehlungen | v1.3.2 |
🧠 Intelligente Ebenenverschlankung | Automatische Abflachung redundanter GROUP/FRAME, Eliminierung von ~60% unnötiger verschachtelter divs | v1 |
📊 Progressiver Kontext | metadata-Übersicht (~4KB) → designContext-Details, Vermeidung von Kontextüberflutung | v1.2 |
🎯 Mehrstufiger Token-Matching | codeSyntax.WEB → exaktes hex → CIE76-Farbabstands-Fuzzy-Matching → @theme-Erweiterungsvorschlag | v1 |
🖼️ Automatische Ressourcen-Pipeline | Erkennung von Bildern/SVGs → Download nach public/ → SVGO-Optimierung → Generierung von publicCdnUrl()-Referenzen | v1.2 |
🧩 SVG-Sprite-Generierung | Stapelweise Zusammenführung von Symbolen zu einem Sprite, Unterstützung von CSS-Farbsteuerung | v1.3.2 |
🌍 i18n-Internationalisierung | Zweisprachige Unterstützung Chinesisch/Englisch, Umschaltung mit | v1.3.2 |
🔐 Sicherer Token-Speicher | Systemtreuhandspeicherung des Tokens | v1.3.2 |
💻 CLI-Kommandozeile | Unterstützung für Skripte und CI/CD-Integration, auch ohne MCP nutzbar; neue Befehle gui/structured/lint/lang/token | v1 (gui v1.3.0) |
🔄 Unterstützung für 8+ Editoren | Trae, VS Code, Cursor, Windsurf, Claude Desktop, Zed, Cline, Roo Code Ein-Klick-Installation (automatische GUI-Erkennung) | v1 (gui v1.3.0) |
🚀 Null-Konfigurationsstart | Unterstützt direkte Ausführung mit | v1.2 |
🚀 Schnellstart
📚 Möchten Sie eine prägnante, 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 ⭐)
Kein Befehl merken nötig, vollständige Konfiguration über die Browser-GUI:
# 直接启动 GUI 配置面板
npx figma-dev-tools gui
# 或全局安装后
figma-dev guiNach dem Start öffnet sich automatisch der Browser (Standardport 54321, bei Belegung wird automatisch 54322/54323 versucht). Folgen Sie der Schritt-für-Schritt-Anleitung:
Begrüßungsseite - Kennenlernen der figma-dev-tools-Funktionen
Sprachauswahl - Zweisprachige Umschaltung Chinesisch/Englisch
Token-Konfiguration - Eingabe des Figma-Tokens, Live-Überprüfung der Gültigkeit
Editor-Erkennung - Automatische Erkennung von 8+ installierten Editoren, Auswahl und Ein-Klick-Installation der MCP-Konfiguration
Framework-Präferenz - Auswahl des bevorzugten Frameworks (React/Vue/HTML)
Abschlussseite - Konfiguration erfolgreich, Bereitstellung von Tutorial-Links
💡 Sie können die GUI auch über den Assistentenbefehl starten:
figma-dev wizard --gui figma-dev init --gui
Methode Eins: Null-Konfiguration npx direkt ausführen (schnellste)
Keine Installation erforderlich, ein Befehl zum Starten des MCP-Servers:
# 直接通过 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 langfristige Nutzung)
# 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 wird automatisch:
Erkennen installierter KI-Editoren (Trae/VS Code/Cursor/Windsurf/Claude Desktop/Zed/Cline/Roo Code usw., 8+)
Paketmanager automatisch erkennen (npm/pnpm/yarn/bun)
Tool herunterladen/kompilieren
MCP-Einstellungen für den entsprechenden Editor konfigurieren (Zed verwendet das Feld mcp_servers)
.env.example-Vorlage generieren
💡 Einfachere Methode: Führen Sie
figma-dev guiaus, um die GUI zur Ein-Klick-Erkennung und Installation der Editor-Konfiguration zu verwenden.
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
Melden Sie sich bei Figma an
Klicken Sie oben rechts auf das Profilbild → Settings → Account
Suchen Sie Personal access tokens → Generate new token
Geben Sie einen Namen ein, aktivieren Sie die Berechtigung File content (Read only)
Kopieren Sie das generierte Token (⚠️ wird nur einmal angezeigt)
💡 Bei Verwendung der GUI-Konfiguration fügen Sie das Token einfach in der Browser-Oberfläche ein; es wird automatisch überprüft und gespeichert.
2. Token konfigurieren
Methode A: GUI-Konfiguration (empfohlen v1.3.0+)
figma-dev guiGeben Sie das Token in der Browser-Oberfläche ein, die Gültigkeit wird in Echtzeit überprüft und 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 Kommandozeilenparameter
npx figma-dev-tools --figma-api-key=your-figma-token-here
# 或短参数
npx figma-dev-tools -t your-figma-token-hereMethode D: Über .env-Datei
Erstellen Sie eine .env-Datei im Verzeichnis figma-dev-tools/:
FIGMA_ACCESS_TOKEN=your-figma-token-hereMethode E: MCP-Konfiguration env
Fügen Sie in der Editor-MCP-Konfiguration hinzu:
{
"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 sprechen:
帮我用 figma-dev-tools 还原这个 Figma 设计稿:
https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032
场景名:landing-page
组件名:HeroSectionDie KI führt automatisch den folgenden erweiterten Prozess (v1.3.2) aus:
figma_lint_design- Designrichtlinien-Vorprüfung (optional, zeigt Probleme an)figma_parse_url- Link analysierenfigma_get_metadata- Seitenstrukturübersicht abrufenfigma_get_screenshot- Visuelle Basis abrufenfigma_generate_jsx- TSX-Code mit einem Klick generieren (mit Flex-Reparatur, a11y-Verbesserung, Designsystem-Ausrichtung, responsiver Inferenz)figma_download_assets- Bildressourcen herunterladen (SVGO automatisch optimiert)
Andere Frameworks (Vue/Svelte/HTML usw.):
Verwenden Sie das Tool figma_get_structured_data, um die 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-Toolreferenz
Insgesamt 19 MCP-Tools, sortiert nach Verwendungsablauf:
# | Werkzeugname | Funktion | Wichtige Parameter | Version |
1 |
| Figma-URL parsen, fileKey/nodeId extrahieren |
| v1 |
2 |
| Gültigkeit des Figma Access Tokens überprüfen |
| v1 |
3 |
| Grundlegende Dateiinformationen abrufen (Seitenliste, Anzahl der Komponenten) |
| v1 |
4 |
| Komponenten/ComponentSets in der Datei auflisten |
| v1.2 |
5 |
| Übersicht über die hohe Struktur (~4KB, um Kontextexplosion zu vermeiden) |
| v1.2 |
6 |
| Vereinfachter Designkontext (flache Hierarchie + semantische Auszeichnungen + Ressourcenliste) |
| v1.2 |
7 |
| Hochauflösenden Screenshot des Knotens abrufen |
| 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: Vorabprüfung der Code-Wiederherstellungsqualität |
| v1.3.2 |
10 |
| ⭐ React/Vue+Tailwind TSX mit einem Klick generieren (inkl. Flex-Korrekturen/a11y/Designsystem/Responsivität, v1.4.0 neu: Vue 3/UnoCSS) |
| v1.4.0 erweitert |
11 |
| Basis-Komponentengenerierung (veraltet, generate_jsx wird empfohlen) |
| v1 |
12 |
| Ressourcen in public// herunterladen + SVGO-Optimierung + publicCdnUrl |
| v1.2 |
13 |
| ⭐ Neu in v1.3.2: SVG-Sprite generieren |
| v1.3.2 |
14 |
| Design-Token extrahieren (Variablen + Styles) |
| v1 |
15 |
| CSS-Variablen / Tailwind v4 @theme generieren |
| v1 |
16 |
| Tokens in Projektdatei schreiben (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: Wiedergabetreue-Prüfung (Pixel-Diff + Hotspot-Karte + quantifizierte Bewertung 0-100%) |
| v1.4.4 |
Detaillierte Parameter der Werkzeuge
figma_generate_jsx (v1.4.0 erweiterte 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; // 可选,优先用环境变量
}v1.4.0 erweiterte Ausgabe:
Vollständiger React + TypeScript + Tailwind TSX-Code (Prettier-formatierte)
🔧 Flex-Korrekturbericht: Liste automatisch behobener Layoutprobleme (Symbolverformung, Textabschneidung usw.)
♿ Barrierefreiheitsverbesserungsbericht: Hinzufügung semantischer Tags, Alt-Texte, ARIA-Attribute
🎨 Designsystemvorschläge: Farb-/Abstands-/Eckenradius-/Schattenvariablen-Matching-Vorschläge
📱 Responsivitätsvorschläge: Breakpoint-Ableitung, sm/md/lg-Präfixvorschläge
⚠️ Liste der Token, die eine
@theme-Erweiterung erfordern🖼️ Liste der herunterzuladenden Ressourcen (nodeId, Name, Typ)
🧩 Hinweise auf wiederverwendbare Komponenten
Knoten-Verdichtungsstatistik
✅ Bewertungshinweis zur Designkonformität (bei unter 80 Punkten wird empfohlen, zuerst zu korrigieren)
figma_lint_design (v1.3.2 neu, Vorabprüfung der Code-Wiederherstellungsqualität)
{
figmaUrl?: string; // Figma 链接
fileKey?: string; // Figma 文件 Key
nodeId?: string; // 目标节点 ID(可选,默认检查整个文件)
maxDepth?: number; // 最大检查深度,默认 15(1-30)
accessToken?: string; // 可选
}Prüfpunkte:
Auto-Layout-Verwendungskonformität
Ebenennamenskonformität
Verwendung des 4px/8px-Rasters für Abstände/Größen/Eckenradien
Wiederverwendung von Komponenten
Minimale Klickgröße für Barrierefreiheit (48×48px)
Tiefe der Verschachtelungsebenen
Konsistenz der Textstile
Farbverwendungskonformität
Ausgabe:
Qualitätsbewertung von 0-100 Punkten
Kategorisierte Statistik: Fehler/Warnungen/Hinweise
Nach Kategorien gegliederte Problemliste
Konkrete Korrekturvorschläge
Siehe:
FIGMA-DESIGN-GUIDELINES.md
figma_create_icon_sprite (v1.3.2 neu, 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 (v1.1.0 neu, Mehrfach-Framework-Unterstützung)
{
figmaUrl?: string; // Figma 链接(可替代 fileKey+nodeId)
fileKey?: string; // Figma 文件 Key
nodeId: string; // 目标节点 ID(必需)
maxDepth?: number; // 最大节点树深度,默认 15(1-30)
accessToken?: string; // 可选,优先用环境变量
}Ausgabeinhalt:
Vollständiges Framework-unabhängiges 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 für TEXT-Knoten)asset– Ressourceninformationen (Bildknoten: Typ, Format, Download-URL)children– Array von Unterknoten
Vorschauzusammenfassung: semantische Rolle, Knotentyp, Größe, Gesamtknotenanzahl, Anzahl Farben, Anzahl Ressourcen, Anzahl Textknoten
structuredContent– vollständiger strukturierter Knotenbaum, der direkt durchlaufen werden kann, um Code für beliebige Frameworks zu generieren
Unterstützte Frameworks:
✅ React / Next.js / Remix (besser in Kombination 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 | ||
| 📌 Aktuelle Version anzeigen | - | v1.4.8 | ||
| 🔄 Auf neueste Version prüfen und aktualisieren (automatische EBUSY-Dateisperrbehandlung) | - | v1.4.8 |
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.4.8 新增)
figma-dev -v
# 🔄 检查并更新到最新版本(v1.4.8 新增,自动处理 EBUSY 文件占用)
figma-dev --update
# 设计规范预检(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 | ✅ Automatisch erkennen und installieren | ✅ | mcpServers | Projektstamm |
VS Code | ✅ Automatisch erkennen und installieren | ✅ | mcpServers |
|
Cursor | ✅ Automatisch erkennen und installieren | ✅ | mcpServers |
|
Windsurf | ✅ Automatisch erkennen und installieren | ✅ | mcpServers |
|
Claude Desktop | ✅ Automatisch erkennen und installieren | ✅ | mcpServers |
|
Zed | ✅ Automatisch erkennen und installieren | ✅ | mcp_servers |
|
Cline (VS Code/Cursor-Plugin) | ✅ Automatisch erkennen und installieren | ✅ | mcpServers | VS Code/Cursor globaler Speicher |
Roo Code (VS Code/Cursor-Plugin) | ✅ Automatisch erkennen und installieren | ✅ | mcpServers | VS Code/Cursor globaler Speicher |
💡 Einfachste Konfigurationsmethode: Führe
figma-dev guiaus. Starte die grafische Oberfläche, erkennt automatisch alle auf deinem Computer installierten Editoren, wähle die zu konfigurierenden Editoren aus und installiere mit einem Klick – kein manuelles Suchen nach Konfigurationsdateipfaden erforderlich.
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 (beachte das Feld mcp_servers):
{
"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"]
}
}
}💡 Verwende
npx figma-dev-tools installoderfigma-dev gui. Erkennt automatisch Editoren und füllt die korrekten Pfade aus. Bei Zed wird automatisch das Feldmcp_serversverwendet.
⚙️ Konfigurationshinweise
Umgebungsvariablen (.env)
Kopiere .env.example in .env und fülle 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:
Kommandozeilenparameter
--figma-api-key/-t/--tokenIn der GUI konfiguriertes und gespeichertes Token (v1.3.0 neu, automatisch in sicherem Speicher)
Standard-Token im sicheren Speicher (v1.3.2 neu, gespeichert mit
figma-dev token set)accessToken-Parameter beim Aufruf des MCP-Toolsenv.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.10 │
│ 🖥️ 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 konfigurieren soll?
Lösung (v1.3.0 neue Funktion – einfachste Methode): Starte direkt den GUI-Konfigurationsassistenten, ohne Befehle merken zu müssen:
npx figma-dev-tools guiDer Browser öffnet automatisch die Konfigurationsoberfläche. Folge den Schritten:
Sprache auf Deutsch umstellen (oder Chinesisch/Englisch wählen)
Figma-Token einfügen (automatische Validierung)
Zu konfigurierende Editoren auswählen (automatische Erkennung installierter Editoren)
Auf Ein-Klick-Installation klicken – fertig!
F: Wie starte ich die GUI-Konfigurationsoberfläche?
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
Falls Port 54321 belegt ist, wird automatisch 54322, 54323 versucht
Nach dem Start wird automatisch der Standardbrowser geöffnet
Unterstützt Deutsch/Englisch-Umschaltung
Token-Eingabe mit Echtzeit-Validierung
Automatische Erkennung von 8+ Editoren und Ein-Klick-Installation
F: Kann ich den Port der GUI anpassen?
Lösung (v1.3.0 neu):
# 指定端口启动
figma-dev gui --port 3000
# 或通过环境变量
FIGMA_GUI_PORT=3000 figma-dev guiF: Der MCP-Server startet nicht?
Prü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)
Zero-Config-Methode: direkt
npx -y figma-dev-tools --figma-api-key=xxxverwendenEmpfohlen: zuerst mit GUI konfigurieren:
figma-dev guierledigt alles automatisch
F: API-Anfrage gibt 401 Unauthorized zurück?
Lösung:
Prü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 du Zugriff auf die Figma-Datei hast (Datei muss für den Link sichtbar sein oder du bist Mitarbeiter)
Ab v1.3.0: Token in der GUI eingeben, Echtzeit-Validierung
Ab v1.3.2:
figma-dev token setfür sichere Speicherung verwenden, um Klartext-Konfigurationsfehler zu vermeidenVersuche, das Token direkt über den Parameter
--figma-api-keyzu übergeben
F: Generierte Symbole werden zu Ellipsen/verzerrt?
Lösung (v1.3.2 automatische Korrektur):
Dies ist ein klassisches Flex-Layout-Problem: Flex-Container setzen standardmäßig
align-items: stretch, was Kindelemente strecktAb v1.3.2 erkennt
figma_generate_jsxdies automatisch und fügtalign-items: center+flex-shrink: 0+ feste Breite/Höhe zur Korrektur hinzuFalls das Problem weiterhin besteht, rufe
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 frameworkunabhängige JSON-Struktur ausgibt, die vollständige Knotenhierarchie, Stile, Texte und Ressourceninformationen enthält. Basierend auf diesen Daten können Sie Code für jedes Framework generieren.
Die CLI unterstützt dies ebenfalls:
npx figma-dev structured "https://www.figma.com/design/xxx/yyy?node-id=23-11032" --format json💡 Im GUI-Konfigurationsschritt „Framework-Präferenz“ können Sie Ihr bevorzugtes Framework auswählen.
F: Die generierten Komponentenfarben/-abstände stimmen nicht mit dem Design überein?
Lösung:
Stellen Sie sicher, dass in Figma Variablen zur Definition von Farben/Abständen verwendet werden und
codeSyntax.WEBgesetzt ist.Die Designsystem-Ausrichtungsfunktion von v1.3.2 gleicht automatisch Farb-/Abstands-/Schrift-/Ecken-/Schattenvariablen ab.
Empfohlenes Farbformat:
oklch(nativ von Tailwind v4 unterstützt). Bei Problemen aufhexumstellen.Farben, die keinen vorhandenen Token treffen, werden über
@theme inlineerweitert. Verwenden Sie nicht direktbg-[#hex].Überprüfen Sie die TODO-Kommentare im generierten Code und den Designsystem-Vorschlagsbericht.
Rufen Sie vor der Generierung
figma_lint_designauf, um die Design-Spezifikation 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 sinnlose Group-Verschachtelungen vermeiden (Bereiche mit Frame abgrenzen).
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 in Blöcke aufgeteilt und einzeln generiert werden, um eine zu tiefe Knotenstruktur in einem Durchlauf 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 Download automatisch mit SVGO optimiert und redundante Attribute entfernt.
Überprüfen Sie, ob die Bildknoten in Figma einen IMAGE-Fill haben.
Netzwerkproblem: Das Figma-Bild-CDN erfordert möglicherweise einen Proxy.
F: Wie kann der generierte Code responsiv gemacht werden?
Lösung (neue Funktion in v1.3.2):
figma_generate_jsxin v1.3.2 leitet automatisch responsive Breakpoints ab und gibt im Responsive-Vorschlagsbericht sm/md/lg-Präfixe vor.Es wird empfohlen, das Design separat für Mobil/Desktop zu gestalten oder Auto Layout-Einschränkungen zu verwenden.
Fügen Sie basierend auf den Responsive-Vorschlägen manuell responsive Präfixe zu den Klassen hinzu (z. B.
md:flex-row).
F: Dem generierten Code fehlen Barrierefreiheitsattribute?
Lösung (automatische Verbesserung in v1.3.2):
figma_generate_jsxin v1.3.2 fügt automatisch hinzu:Semantische HTML-Tags (
<button>statt<div onClick>,<h1>-<h6>usw.)Alt-Texte für Bilder
ARIA-Labels und -Rollen
Hinweise zur minimalen barrierefreien Klickgröße
Der Barrierefreiheits-Verbesserungsbericht listet alle hinzugefügten Verbesserungen auf.
Rufen Sie
figma_lint_designauf, um Barrierefreiheitsprobleme im Design zu prüfen.
F: API-Anfragenratenbegrenzung?
Die Figma-API hat eine Ratenbegrenzung (ca. 60 Anfragen/Minute).
Beim Batch-Download von Ressourcen wird im Tool intern automatisch gedrosselt.
Große Dateien sollten zur Vermeidung vieler Anfragen in kurzer Zeit aufgeteilt werden.
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 generierenSvelte / SvelteKit: Gleiches Vorgehen
Angular: Gleiches Vorgehen
SolidJS / Qwik: Gleiches Vorgehen
Natives HTML / CSS: Gleiches Vorgehen
Astro: Gleiches Vorgehen
Next.js: Unterstützt, aber
next/imagenicht verwenden (normales<img>oderpublicCdnUrl()verwenden)Vite + React: Empfohlen, am besten mit generiertem Code kompatibel
💡 Im GUI-Konfigurationsassistenten können Sie Ihre Framework-Präferenz auswählen.
F: Die Konfiguration des Zed-Editors funktioniert nicht?
Lösung: Zed verwendet das Feld mcp_servers (Unterstrich), nicht mcpServers (CamelCase).
Verwenden Sie die grafische Oberfläche
figma-dev guizur Ein-Klick-Konfiguration, die automatisch die Feldunterschiede von Zed behandelt.Oder verwenden Sie
npx figma-dev-tools install, das diesen Unterschied ebenfalls automatisch behandelt.
F: Wie kann ich die Oberflächensprache umschalten?
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-Konfiguration 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 verifiziert 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 systemeigenen sicheren Speicher gespeichert:
macOS: Keychain
Windows: Credential Manager
Linux: libsecret (falls nicht verfügbar, Rückfall auf verschlüsselte Datei)
📖 Designrichtlinien
Siehe FIGMA-DESIGN-GUIDELINES.md – ein vollständiger 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
Barrierefreiheitsanforderungen
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 Unterschiede zwischen figma-dev-tools v1.4.4 und den jeweiligen Lösungen wider, nicht deren vollständige Fähigkeiten. Mit „muss bestätigt werden“ gekennzeichnete Punkte sind in öffentlichen Quellen nicht eindeutig angegeben.
vs. Kommerzielle SaaS-Lösungen
Vergleichsdimension | figma-dev-tools v1.4.4 | Builder.io | Anima | Locofy | Seal (NetEase Seel D2C) |
Positionierung | Open-Source-MCP-Toolkette | Kommerzielle SaaS + KI-Plattform | Kommerzielles SaaS | Kommerzielles SaaS | Internes Unternehmenstool / Figma-Plugin |
Preis | Kostenlos und 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) | ✅ | ✅ | ✅ | ✅ |
Frameworkunabhängige strukturierte Daten | ✅ v1.1.0 (JSON-Ausgabe) | ❌ | ❌ | ❌ | ❌ |
Design-Token-Extraktion | ✅ Variables + Styles | ✅ | Muss bestätigt werden | ✅ | Muss bestätigt werden |
Automatische Flex-Layout-Korrektur | ✅ v1.3.2 (Symbolverzerrung/Textabschneidung) | Teilweise (automatisch responsiv) | ✅ | ✅ | ✅ (Auto Layout-Wiederherstellung) |
Barrierefreiheit (a11y)-Verbesserung | ✅ v1.3.2 (semantische Tags/alt/ARIA) | ✅ (Review Agents) | Muss bestätigt werden | ✅ (Agent Mode) | Muss bestätigt werden |
Automatischer Ressourcen-Download | ✅ publicCdnUrl + SVGO | ✅ | ✅ | ✅ | Muss bestätigt werden |
Wiedergabetreue-Prüfung (Pixel-Diff) | ✅ v1.4.4 (pixelmatch + Heatmap) | ❌ | ❌ | Muss bestätigt werden („pixel-perfect“-Werbung) | Teilweise (Designprüfung) |
Paywall-Abfangmechanismus (Screenshot-Notfall) | ✅ v1.4.4 (Playwright + visuelle Annäherung) | ❌ | ❌ | ❌ | ❌ |
Multi-Editor-Integration | ✅ 8+ (GUI automatische Erkennung und Ein-Klick-Installation) | ✅ (VS Code/Cursor) | ✅ (Frontier Extension) | ✅ (Cursor/Windsurf usw.) | ❌ |
CLI-Befehlszeile | ✅ 20+ Befehle | ✅ (Visual Copilot CLI) | Muss bestätigt werden | Muss bestätigt werden | ❌ |
i18n-Internationalisierung | ✅ v1.3.2 (zweisprachig Chinesisch/Englisch) | ✅ | Muss bestätigt werden | ✅ (Agent Mode-Anweisungen) | Muss bestätigt werden |
Sicherer Token-Speicher | ✅ v1.3.2 (Systemschlüsselbund) | ✅ | Muss bestätigt werden | Muss bestätigt werden | Muss bestätigt werden |
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+ Stars) | Open-Source MCP (mehrere Projekte) | Figma-Plugin |
Preis | Kostenlos und Open Source (MIT) | Kostenlos (erfordert Dev/Full-Sitz) | Kostenlos und Open Source (MIT) | Kostenlos und Open Source | Freemium (Pro $19/Monat+) |
MCP-Protokollunterstützung | ✅ | ✅ (Integration mit offiziellem MCP) | ✅ | ✅ | ❌ |
GUI-Visuelle Konfiguration | ✅ v1.3.0 | ✅ (Code Connect UI öffentliche Beta) | ❌ (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) | ❌ |
Barrierefreiheit (a11y)-Verbesserung | ✅ v1.3.2 | ❌ | ❌ | ❌ | ✅ (WCAG-Prüfung) |
Automatischer Ressourcen-Download | ✅ | ❌ | ✅ (download_figma_images) | ✅ | ❌ |
Wiedergabetreue-Prüfung (Pixel-Diff) | ✅ v1.4.4 | ❌ | ❌ | ❌ | ❌ |
Paywall-Abfangmechanismus (Screenshot-Notfall) | ✅ 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-Abfangmechanismus: Der exklusive
BrowserFallbackServicevon figma-dev-tools v1.4.4 startet automatisch einen Playwright-Screenshot-Notfall, wenn die Figma-REST-API aufgrund einer Paywall fehlschlägt. Kein Wettbewerber bietet eine ähnliche Funktion.Wiedergabetreue-Prüfungszyklus:
figma_verify_fidelitybietet Pixel-Diff + Differenz-Heatmap + quantitative Bewertung (0–100%). Andere Tools bleiben meist bei „pixel-perfect“-Werbung ohne automatisierte Prüfung.Frameworkunabhängige strukturierte Daten:
figma_get_structured_datagibt standardisiertes JSON aus und unterstützt jedes Framework. Kommerzielle SaaS-Lösungen binden oft an bestimmte Frameworks.Open Source + Kostenlos + Voll funktionsfähig: MIT-Lizenz, keine kostenpflichtigen Sitze erforderlich, um alle 19 MCP-Tools zu nutzen.
📜 Lizenz
MIT © figma-dev-tools contributors
This server cannot be deployed
Maintenance
Related MCP Connectors
The Figma MCP server brings Figma design context directly into your AI workflow.
Build and manage your design system with AI: tokens, themes, components, icons, Figma and code.
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.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects Figma designs to AI agents, enabling extraction of production-ready code, assets, and design tokens through natural language descriptions. Supports React, Vue, CSS, and Tailwind with real-time design system analysis.90,948 npm40MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to read Figma design files and automatically map responsive relationships between mobile and desktop screens to generate accurate frontend code. Eliminates manual copy-pasting by providing direct access to design tokens, dimensions, and screen layouts within AI-powered IDEs.-
- AlicenseAqualityDmaintenanceConverts Figma designs into production-ready React components with design token extraction, widget registry integration, and micro-frontend module generation.348 npm1MIT
- AlicenseAqualityDmaintenanceConverts Figma designs into structured code context with token-aware styling, enabling AI agents to generate production-level frontend code.16 npmMIT