Skip to main content
Glama
qq1006492122

figma-dev-tools

by qq1006492122

🎨 Figma Dev Tools v1.4.10

Figma → 모든 프론트엔드 프레임워크 디자인-코드 원클릭 변환 MCP 서버

English | 中文

Figma 디자인과 프론트엔드 개발을 연결하는 완전한 도구 체인으로 🖥️ GUI 시각화 구성 마법사, 디자인 토큰 지능형 추출, 고충실도 컴포넌트 생성(React/Vue/Svelte/HTML 등), 리소스 자동 다운로드, 크로스 에디터 MCP 통합을 지원합니다. AI Agent에 최적화되어 div soup, 컨텍스트 폭발, hex 하드코딩, 리소스 경로 처리, Flex 레이아웃 변형, 접근성 부족, 반응형 대응, 페이월 대비 등 핵심 문제점을 해결합니다.


✨ v1.4.4 페이월 대비 + 고충실도 복원 + 성능 최적화

핵심 대비 및 복원

최적화 항목

설명

버전

🧱 페이월 브라우저 대비

BrowserFallbackService 추가: Figma REST API가 페이월/권한으로 실패 시 자동으로 Playwright 헤드리스 브라우저를 실행하여 디자인 페이지를 로드하고 스크린샷 보장

v1.4.4

🤖 시각적 근사 모드

VisualApproximationService 추가: 노드 JSON을 가져올 수 없을 때 스크린샷을 VLM에 전달하여 근사 코드 스켈레톤 생성, "근사 모드 ~75%" + TODO 목록 명확히 표시

v1.4.4

📏 DPR/화면 크기 인식

스크린샷을 사용자의 실제 devicePixelRatio에 따라 1x/2x/3x로 출력하여 다양한 OS 렌더링 차이에 대응

v1.4.4

🎯 복원도 점수 도구

figma_verify_fidelity MCP 도구 추가: Figma 스크린샷 vs 생성된 코드 스크린샷 픽셀 diff, 정량적 유사도 출력

v1.4.4

📐 절대 위치 복원

layoutMode=NONE 노드의 relativeTransform 누락 수정, 플로팅 요소 회전/오프셋 정확히 매핑

v1.4.4

🎨 그라데이션/다중 그림자/inner shadow

선형/방사형 그라데이션 채우기, 다중 그림자, 내부 그림자 복원 누락 수정, 모두 단색으로 다운그레이드되던 문제 해결

v1.4.4

✂️ mask/clip-path 복원

둥근 아바타, 이형 크롭 왜곡 수정, overflow:hidden + border-radius 또는 clip-path로 매핑

v1.4.4

➖ strokeDash 점선/점선

점선, 점선 테두리가 모두 실선으로 표시되던 문제 수정

v1.4.4

🔤 리치 텍스트 다중 스타일

styleOverrideTable 미파싱으로 전체 텍스트가 동일한 스타일로 사용되던 문제 수정

v1.4.4

🌍 i18n 오류 메시지 국제화

figma-client.ts의 하드코딩된 중국어 오류 메시지를 모두 i18n 키 참조로 변경, GUI 선택 언어(zh-CN/en-US)에 따라 출력, 기본값 중국어

v1.4.4

성능 최적화 (v1.4.4 신규)

최적화 항목

설명

버전

🚀 브라우저 인스턴스 풀

BrowserPool 추가: 재사용 가능한 Playwright 브라우저 인스턴스 유지, 후속 스크린샷에서 1-3초 시작 단계 생략, 60초 유휴 시 자동 회수

v1.4.4

💾 스크린샷 캐시

ScreenshotCache 추가: url+nodeId+dpr 기반 스크린샷 결과 캐싱, LRU 제거 + TTL 만료, 중복 요청 초 단위 반환

v1.4.4

⏱️ 계층형 타임아웃

탐색/렌더링/스크린샷 각각 타임아웃 구성 (기본 20s/10s/5s), 타임아웃 단계 정확히 파악

v1.4.4

🧠 하이브리드 스마트 대기 전략

domcontentloaded + 캔버스 요소 가시성 + 네트워크 유휴 감지, Figma SPA networkidle이 항상 도달하지 못하는 문제 해결

v1.4.4

🔁 지수 백오프 재시도

네트워크 오류, 타임아웃 오류 자동 재시도 (기본 2회, 초기 지연 500ms, 지수 백오프), 매개변수 오류는 재시도하지 않음

v1.4.4

🔥 워밍업 메커니즘

warmup()이 서비스 시작 시 브라우저 인스턴스를 미리 실행하여 첫 호출 지연 제거

v1.4.4

📊 성능 지표 계측

getPerformanceStats()가 브라우저 풀 및 스크린샷 캐시 통계 정보 노출 (히트율/인스턴스 수/사용 횟수)

v1.4.4

🐛 로직 블랙홀 수정

9곳 로직 블랙홀 수정: 스크린샷 selector 불일치, 크기 하드코딩, devModeCss 주입 위험, fidelityScore 미클램프, 의존성 검사 순서 등

v1.4.4

🧪 테스트 커버리지

35개 테스트 케이스 추가 (BrowserPool + ScreenshotCache + 성능 최적화 구성), 총 95개 테스트 모두 통과

v1.4.4

성능 비교 (v1.4.4 최적화 전후)

시나리오

최적화 전

최적화 후

향상

후속 스크린샷 (동일 세션)

5-8초

1-2초

3-4x

중복 요청 (캐시 히트)

5-8초

<100ms

50x+

네트워크 지터 복구

직접 실패

자동 재시도

가용성 향상

성능 최적화 구성 (선택 사항, 하위 호환 가능)

// 通过 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

📜 버전 기록 요약

버전

주제

핵심 내용

v1.4.10

버전 번호 통일 + figd_ Token 인증 수정

figd_ 유형 Token 인증 수정 (X-Figma-Token 헤더), CLI/GUI 버전 번호 통일 (package.json에서 읽어옴), 모든 문서 버전 번호 동기화 업데이트

v1.4.9

figd_ Token 인증 수정

figd_ 유형 Token이 Authorization 대신 X-Figma-Token 요청 헤더를 사용해야하는 호환성 문제 수정, Token 검증 완전 통과

v1.4.8

--update EBUSY 호환 + 문서

--update 자동 EBUSY 감지 및 robocopy 롤백, CLI 문서 보완 (-v/--ver/--update), 중복 아이콘 수정, 오류 상세 표시

v1.4.7

Token 검증 최적화 + i18n

Token 검증 실패 시 구체적 이유 표시 (HTTP 401/403/429), GUI 오류 상세 표시, CLI 오류 캡처 강화, 오류 메시지 전면 국제화

v1.4.4

페이월 대비 + 성능 최적화

브라우저 대비 스크린샷, 시각적 근사 모드, 복원도 점수, 성능 최적화 (인스턴스 풀/캐시/계층형 타임아웃)

v1.4.3

안정성 및 보안 강화

GUI 요청 본문 보호, 순환 참조 감지, 재귀 깊이 보호, 캐시 일관성

v1.4.1

코드 품질 최적화

any 유형 제로, oxlint 경고 제로, 코드 규범 통일

v1.4.0

주요 업데이트

XSS 보안 방어, 지능형 계층 수정, SVG 인라인 렌더링, 애니메이션 감지, 로컬 암호화 캐시, 점수 알고리즘 최적화, H5 대응, Token 안전 저장

v1.3.x

기본 기능 구축

GUI 시각화 구성, i18n 국제화, 접근성 강화, Flex 수정, 디자인 시스템 정렬, 반응형 추론, 디자인 규범 검사


✨ 기능 하이라이트

특성

설명

버전

🖥️ GUI 시각화 구성 마법사

브라우저 그래픽 인터페이스 구성, 환영 페이지 → 언어 선택 → Token 구성+실시간 검증 → 에디터 감지 원클릭 설치 → 프레임워크 선호도 선택 → 완료 페이지, 초보자도 쉽게 사용

v1.3.0

🔗 19개 MCP 도구

URL 파싱 → Token 추출 → 컴포넌트 생성 → 리소스 다운로드 → 페이월 대비 → 복원도 검증 전체 프로세스 완벽 커버

v1.4.4

🧠 프레임워크 무관 구조화 데이터

id/name/role/type/size/layout/styles/text/asset/children JSON 출력, Vue/Svelte/HTML/Angular/Solid 등 모든 프레임워크 지원

v1.1.0

⚛️ React + Tailwind 1차 지원

시맨틱 태그 선택 + Tailwind 매핑 + cn() 병합 + TODO 표시, 원클릭 고충실도 TSX 생성

v1.3.2

🔧 Flex 레이아웃 자동 수정

아이콘 변형, 텍스트 잘림, 오버플로 등 Flex 문제 스마트 수정

v1.3.2

♿ 접근성 강화

시맨틱 태그, alt, ARIA 속성 자동 추가

v1.3.2

🎨 디자인 시스템 정렬

색상/간격/폰트/둥근 모서리/그림자 변수 자동 매칭

v1.3.2

📱 반응형 추론

브레이크포인트 스마트 추론, 반응형 접두사 제안 제공

v1.3.2

✅ 디자인 규범 사전 검사

코드 생성 전 디자인 품질 검사 및 수정 제안 제공

v1.3.2

🧠 지능형 계층 간소화

중복 GROUP/FRAME 자동 평탄화, 약 60% 무의미한 중첩 div 제거

v1

📊 점진적 컨텍스트

metadata 개요(~4KB) → designContext 상세, 컨텍스트 폭발 방지

v1.2

🎯 다중 레벨 Token 매칭

codeSyntax.WEB → 정확한 hex → CIE76 색차 퍼지 → @theme 확장 제안

v1

🖼️ 리소스 자동 파이프라인

이미지/SVG 감지 → public/ 다운로드 → SVGO 최적화 → publicCdnUrl() 참조 생성

v1.2

🧩 SVG Sprite 생성

배치 아이콘을 Sprite로 병합, CSS color로 색상 제어 지원

v1.3.2

🌍 i18n 국제화

중영 이중 언어 지원, figma-dev lang switch로 전환

v1.3.2

🔐 안전한 Token 저장

시스템 키체인에 Token 안전 저장

v1.3.2

💻 CLI 명령줄

스크립트 및 CI/CD 통합 지원, MCP 없이도 사용 가능, gui/structured/lint/lang/token 명령 추가

v1 (gui v1.3.0)

🔄 8+ 에디터 지원

Trae, VS Code, Cursor, Windsurf, Claude Desktop, Zed, Cline, Roo Code 원클릭 설치 (GUI 자동 감지)

v1 (gui v1.3.0)

🚀 제로 구성 시작

npx -y figma-dev-tools --figma-api-key=xxx 직접 실행 지원, 사전 설치 및 구성 불필요

v1.2


🚀 빠른 시작

📚 버전과 동기화된 간결한 속성 가이드를 원하시나요? QUICKSTART.md (중국어) / QUICKSTART.en-US.md (영어)를 참조하세요. 아래는 상세 설명입니다.

방법 0: GUI 시각화 구성 (초보자 추천 ⭐)

명령어를 기억할 필요 없이, 브라우저 그래픽 인터페이스로 모든 구성을 완료합니다:

# 直接启动 GUI 配置面板
npx figma-dev-tools gui

# 或全局安装后
figma-dev gui

시작 후 자동으로 브라우저가 열립니다 (기본 포트 54321, 점유 시 자동으로 54322/54323 시도). 안내 단계에 따라 진행합니다:

  1. 환영 페이지 - figma-dev-tools 기능 소개

  2. 언어 선택 - 중국어/English 이중 언어 전환

  3. Token 구성 - Figma Token 입력, 실시간 유효성 검증

  4. 에디터 감지 - 8+ 설치된 에디터 자동 감지, 선택 후 MCP 구성 원클릭 설치

  5. 프레임워크 선호도 - 자주 사용하는 프레임워크 선택 (React/Vue/HTML)

  6. 완료 페이지 - 구성 성공, 사용 튜토리얼 링크 제공

💡 마법사 명령을 통해 GUI 모드를 시작할 수도 있습니다:

figma-dev wizard --gui
figma-dev init --gui

방법 1: 제로 구성 npx 직접 실행 (가장 빠름)

설치 불필요, 한 줄 명령으로 MCP 서버 시작:

# 直接通过 npx 运行,传入 API Key
npx -y figma-dev-tools --figma-api-key=your-figma-token-here

에디터 MCP 구성에서 사용:

{
  "mcpServers": {
    "figma-dev-tools": {
      "command": "npx",
      "args": ["-y", "figma-dev-tools", "--figma-api-key=figd_your_token_here"]
    }
  }
}

방법 2: 원클릭 설치 (장기 사용 권장)

# 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 install

설치 스크립트가 자동으로:

  • 설치된 AI 에디터 감지 (Trae/VS Code/Cursor/Windsurf/Claude Desktop/Zed/Cline/Roo Code 등 8+)

  • 패키지 관리자 자동 감지 (npm/pnpm/yarn/bun)

  • 도구 다운로드/컴파일

  • 해당 에디터의 MCP settings 구성 (Zed는 mcp_servers 필드 사용)

  • .env.example 템플릿 생성

💡 더 간단한 방법: figma-dev gui 실행하여 그래픽 인터페이스로 에디터 구성을 원클릭 감지 및 설치하세요.

방법 3: 프로젝트 종속성 설치

# 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 -d

방법 4: 로컬 소스에서 설치

# 克隆或复制 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 build

1. Figma Access Token 획득

  1. Figma 로그인

  2. 오른쪽 상단 아바타 → Settings → Account

  3. Personal access tokens → Generate new token

  4. 이름 입력, File content (Read only) 권한 체크

  5. 생성된 Token 복사 (⚠️ 한 번만 표시됨)

💡 GUI 구성 시 브라우저 인터페이스에 Token을 직접 붙여넣으면 자동으로 검증 및 저장됩니다.

2. Token 구성

방법 A: GUI 시각화 구성 (v1.3.0+ 권장)

figma-dev gui

브라우저 인터페이스에 Token을 입력하면 실시간 유효성 검증 후 자동 안전 저장됩니다.

방법 B: 안전 저장 (v1.3.2+ 권장)

# 交互式保存 Token 到系统密钥链
figma-dev token set

# 或直接通过参数
figma-dev token set -t figd_your_token_here

방법 C: 명령줄 매개변수 사용

npx figma-dev-tools --figma-api-key=your-figma-token-here
# 或短参数
npx figma-dev-tools -t your-figma-token-here

방법 D: .env 파일 사용

figma-dev-tools/ 디렉토리에 .env 파일 생성:

FIGMA_ACCESS_TOKEN=your-figma-token-here

방법 E: MCP 구성 env

에디터 MCP 구성에 추가:

{
  "mcpServers": {
    "figma-dev-tools": {
      "command": "node",
      "args": ["<path>/dist/index.js"],
      "env": {
        "FIGMA_ACCESS_TOKEN": "your-figma-token-here"
      }
    }
  }
}

3. 첫 Figma → 코드 예제

React + Tailwind (권장, v1.4.0 강화판):

AI 에디터(예: Trae)에서 직접 대화:

帮我用 figma-dev-tools 还原这个 Figma 设计稿:
https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032

场景名:landing-page
组件名:HeroSection

AI는 다음 강화 프로세스(v1.3.2)를 자동으로 실행합니다:

  1. figma_lint_design - 디자인 규범 사전 검사 (선택 사항, 문제점 표시)

  2. figma_parse_url 링크 파싱

  3. figma_get_metadata 페이지 구조 개요 획득

  4. figma_get_screenshot 시각적 기준 획득

  5. figma_generate_jsx TSX 코드 원클릭 생성 (Flex 수정, a11y 강화, 디자인 시스템 정렬, 반응형 추론 포함)

  6. figma_download_assets 이미지 리소스 다운로드 (SVGO 자동 최적화)

다른 프레임워크 (Vue/Svelte/HTML 등):

figma_get_structured_data 도구를 사용하여 프레임워크 무관 JSON 구조 획득:

帮我用 figma_get_structured_data 获取这个 Figma 节点的结构化数据,然后生成 Vue 组件:
https://www.figma.com/design/xxxxx/MyProject?node-id=23-11032

CLI 빠른 체험

# 🖥️ 启动 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 도구 참조

총 19개 MCP 도구, 사용 흐름 순서대로 정렬:

#

도구 이름

기능

주요 매개변수

버전

1

figma_parse_url

Figma URL을 파싱하여 fileKey/nodeId 추출

url

v1

2

figma_validate_token

Figma Access Token 유효성 확인

accessToken

v1

3

figma_get_file

파일 기본 정보(페이지 목록, 컴포넌트 개수) 불러오기

fileKey / figmaUrl

v1

4

figma_list_components

파일 내 Components/ComponentSets 나열

fileKey

v1.2

5

figma_get_metadata

고수준 구조 개요(~4KB, 컨텍스트 폭발 방지)

fileKey/nodeId/depth

v1.2

6

figma_get_design_context

간결한 디자인 컨텍스트(계층 평탄화 + 의미 태그 + 리소스 목록)

fileKey/nodeId/maxDepth

v1.2

7

figma_get_screenshot

노드 고화질 스크린샷 획득

fileKey/nodeId/scale

v1

8

figma_get_structured_data

⭐ 프레임워크 독립적 구조화 데이터(id/name/role/type/size/layout/styles/text/asset/children)

fileKey/nodeId/maxDepth

v1.1.0

9

figma_lint_design

⭐ v1.3.2 신규: 코드 변환 품질 사전 점검

fileKey/nodeId/maxDepth

v1.3.2

10

figma_generate_jsx

⭐ 원클릭 React/Vue+Tailwind TSX 생성(Flex 수정/a11y/디자인 시스템/반응형 포함, v1.4.0 신규 Vue 3/UnoCSS)

fileKey/nodeId/componentName/sceneName

v1.4.0 강화

11

figma_generate_component

기본 컴포넌트 생성(구버전, generate_jsx 권장)

fileKey/nodeId/styleFormat

v1

12

figma_download_assets

public/<장면>/에 리소스 다운로드 + SVGO 최적화 + publicCdnUrl

fileKey/sceneName/assetNodeIds

v1.2

13

figma_create_icon_sprite

⭐ v1.3.2 신규: SVG Sprite 스프라이트 생성

svgDir/outputPath/typesPath

v1.3.2

14

figma_extract_tokens

디자인 토큰(Variables+Styles) 추출

fileKey/colorFormat

v1

15

figma_generate_styles

CSS Variables / Tailwind v4 @theme 생성

tokens/outputFormat

v1

16

figma_sync_to_project

토큰을 프로젝트 파일에 기록(자동 백업)

tokens/outputDir/format

v1

17

figma_dev_fallback_status

⭐ v1.4.4 신규: 유료화 장벽 우회 시스템 상태 조회(Playwright 사용 가능 여부, 설정, 우회 우선순위)

없음

v1.4.4

18

figma_dev_fallback_capture

⭐ v1.4.4 신규: 브라우저 우회 스크린샷 실행(유료화 장벽 시 스크린샷 + Dev Mode CSS + 시각적 근사 모드)

figmaUrl/devicePixelRatio/framework

v1.4.4

19

figma_verify_fidelity

⭐ v1.4.4 신규: 구현 충실도 검증(픽셀 diff + 차이 히트맵 + 정량적 점수 0-100%)

figmaUrl/codeContent/threshold

v1.4.4

도구 상세 매개변수

figma_generate_jsx(v1.4.0 강화판, 가장 자주 사용됨)

{
  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 강화 출력:

  • 완전한 React + TypeScript + Tailwind TSX 코드(Prettier 서식 적용)

  • 🔧 Flex 수정 보고서: 자동 수정된 레이아웃 문제(아이콘 변형, 텍스트 잘림 등) 목록

  • ♿ 접근성 강화 보고서: 의미 태그, alt 텍스트, ARIA 속성 추가 현황

  • 🎨 디자인 시스템 제안: 색상/간격/모서리/그림자 변수 매칭 제안

  • 📱 반응형 제안: 중단점 추론, sm/md/lg 접두사 제안

  • ⚠️ @theme 확장이 필요한 토큰 목록

  • 🖼️ 다운로드가 필요한 리소스 목록(nodeId, 이름, 유형)

  • 🧩 재사용 가능한 컴포넌트 힌트

  • 노드 간소화 통계

  • ✅ 디자인 규범 점수 힌트(80점 미만이면 먼저 수정 권장)

figma_lint_design(v1.3.2 신규, 코드 변환 품질 사전 점검)

{
  figmaUrl?: string;           // Figma 链接
  fileKey?: string;            // Figma 文件 Key
  nodeId?: string;             // 目标节点 ID(可选,默认检查整个文件)
  maxDepth?: number;           // 最大检查深度,默认 15(1-30)
  accessToken?: string;        // 可选
}

점검 항목:

  • Auto Layout 사용 규범

  • 레이어 명명 규정 준수

  • 간격/크기/모서리가 4px/8px 그리드 사용 여부

  • 컴포넌트 재사용 현황

  • 접근성 최소 클릭 크기(48×48px)

  • 중첩 계층 깊이

  • 텍스트 스타일 일관성

  • 색상 사용 규범

출력:

  • 0-100점 품질 점수

  • 오류/경고/힌트 분류 통계

  • 카테고리별 세부 이슈 목록

  • 구체적인 수정 제안

  • 참조: FIGMA-DESIGN-GUIDELINES.md

figma_create_icon_sprite(v1.3.2 신규, SVG Sprite 생성)

{
  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 신규, 다중 프레임워크 지원)

{
  figmaUrl?: string;           // Figma 链接(可替代 fileKey+nodeId)
  fileKey?: string;            // Figma 文件 Key
  nodeId: string;              // 目标节点 ID(必需)
  maxDepth?: number;           // 最大节点树深度,默认 15(1-30)
  accessToken?: string;        // 可选,优先用环境变量
}

출력 내용:

  • 완전한 프레임워크 독립적 JSON 구조, 각 노드 포함:

    • id / name - 노드 식별자

    • role - 의미 역할(button/card/image/text/icon/section 등)

    • type - Figma 노드 유형(FRAME/TEXT/RECTANGLE/GROUP/INSTANCE 등)

    • size - { width, height }

    • layout - Flex 레이아웃 속성(display/flexDirection/justifyContent/alignItems/gap/padding 등)

    • styles - 스타일 속성(color/backgroundColor/borderRadius/shadow/fontSize/fontWeight 등)

    • text - 텍스트 내용(TEXT 노드 전용)

    • asset - 리소스 정보(이미지 노드: 유형, 형식, 다운로드 URL)

    • children - 자식 노드 배열

  • 미리보기 요약: 의미 역할, 노드 유형, 크기, 총 노드 수, 색상 수, 리소스 수, 텍스트 노드 수

  • structuredContent - 완전한 구조화된 노드 트리, 임의 프레임워크 코드 생성에 직접 순회 가능

적용 프레임워크:

  • ✅ React / Next.js / Remix(generate_jsx와 함께 사용 시 더 좋음)

  • ✅ Vue 2/3 / Nuxt

  • ✅ Svelte / SvelteKit

  • ✅ 네이티브 HTML / CSS

  • ✅ Angular

  • ✅ SolidJS

  • ✅ Qwik

  • ✅ Astro

  • ✅ 모든 프론트엔드 프레임워크

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 명령어 참고

# 全局安装后使用
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>

명령어

기능

일반 옵션

버전

figma-dev gui

🖥️ GUI 시각적 설정 패널 실행

--port <n> 포트 지정 (기본값 54321)

v1.3.0

figma-dev install

각 편집기에 MCP 설정 한 번에 설치

-

v1

figma-dev uninstall

설치된 MCP 설정 제거

-

v1

figma-dev validate <token>

토큰 검증

-

v1

figma-dev wizard

대화형 설정 마법사

--gui GUI 모드 실행

v1.3.0

figma-dev init

설정 초기화 (대화형 마법사)

--gui GUI 모드 실행

v1.3.0

figma-dev lang

🌍 언어 설정 (set/list/switch)

set <lang> / switch

v1.3.2

figma-dev token

🔐 토큰 보안 관리 (set/get/list/delete/default)

set -t <token>

v1.3.2

figma-dev info <url>

파일 정보 보기

-

v1

figma-dev lint <url>

✅ 디자인 규격 사전 검사

--node <id> --depth <n> --format md/json --output <file>

v1.3.2

figma-dev metadata <url>

메타데이터 개요 가져오기

--node <id> --depth <n>

v1.1.0

figma-dev structured <url>

프레임워크에 독립적인 구조화된 데이터 가져오기

--node <id> --depth <n> --format pretty/json --output <file>

v1.1.0

figma-dev jsx <url>

향상된 JSX/Vue 컴포넌트 생성 (Flex/a11y/디자인 시스템/반응형, v1.4.0에 Vue 3/UnoCSS 추가)

--name <ComponentName> --scene <name> --depth <n> `--framework react

vue --style tailwind

unocss --skip-lint --inline-svg`

v1.4.0

figma-dev component <url>

기본 컴포넌트 생성

--name <name> --node <id> --js --style tailwind --no-children --output <dir>

v1

figma-dev assets <url>

리소스 다운로드 (SVGO 최적화)

--node <id> --nodes <id1,id2> --scene <name> --scale <n> `--svg-format svg

png --project-root `

v1.1.0

figma-dev sync <url>

토큰 동기화

--node <id> --format oklch `--spacing-unit px

rem --prefix --output-format all --file-name `

v1

figma-dev screenshot <url>

스크린샷 가져오기

--node <id> --format png --scale 2 --download <dir>

v1

figma-dev mcp

MCP 서버 시작 (stdio)

-

v1

figma-dev tutorial

튜토리얼 문서 보기 (별칭 help, 자동으로 브라우저 열기)

--no-browser

v1.3.0

figma-dev cache

📦 캐시 관리 (status/clear)

status / clear -f

v1.4.0

figma-dev privacy

🔒 개인정보 보호 정책 (데이터 보안 약속 + .gitignore 확인)

-

v1.4.0

figma-dev -v / --ver

📌 현재 버전 확인

-

v1.4.8

figma-dev --update

🔄 최신 버전 확인 및 업데이트 (EBUSY 파일 점유 자동 처리)

-

v1.4.8

CLI 예시:

# 🖥️ 启动 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

🖥️ 지원 편집기 (8+)

편집기

한 번에 설치

GUI 자동 감지

설정 형식

수동 설정 경로

Trae

✅ 자동 감지 설치

✅

mcpServers

프로젝트 루트 .mcp.json 또는 User Settings

VS Code

✅ 자동 감지 설치

✅

mcpServers

.vscode/mcp.json 또는 User Settings JSON

Cursor

✅ 자동 감지 설치

✅

mcpServers

~/.cursor/mcp.json (전역) 또는 프로젝트 .cursor/mcp.json

Windsurf

✅ 자동 감지 설치

✅

mcpServers

~/.codeium/windsurf/mcp_config.json

Claude Desktop

✅ 자동 감지 설치

✅

mcpServers

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)%APPDATA%\Claude\claude_desktop_config.json (Windows)

Zed

✅ 자동 감지 설치

✅

mcp_servers

~/.zed/settings.json

Cline (VS Code/Cursor 플러그인)

✅ 자동 감지 설치

✅

mcpServers

VS Code/Cursor 전역 저장소 cline_mcp_settings.json

Roo Code (VS Code/Cursor 플러그인)

✅ 자동 감지 설치

✅

mcpServers

VS Code/Cursor 전역 저장소 mcp_settings.json

💡 가장 간단한 설정 방법: figma-dev gui 실행 그래픽 인터페이스를 시작하여 컴퓨터에 설치된 모든 편집기를 자동으로 감지하고, 설정할 편집기를 선택한 후 한 번에 설치를 완료하세요. 설정 파일 경로를 직접 찾을 필요가 없습니다.

MCP 설정 템플릿

표준 형식 (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 형식 (필드명이 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"
      }
    }
  }
}

제로 설정 npx 방식 (로컬 설치 불필요):

{
  "mcpServers": {
    "figma-dev-tools": {
      "command": "npx",
      "args": ["-y", "figma-dev-tools", "--figma-api-key=figd_your_token_here"]
    }
  }
}

💡 npx figma-dev-tools install 또는 figma-dev gui 사용 편집기를 자동으로 감지하여 올바른 경로를 채워줍니다. Zed는 자동으로 mcp_servers 필드를 사용합니다.


⚙️ 설정 설명

환경 변수 (.env)

.env.example을 복사하여 .env로 만들고 작성:

# 必需: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=54321

MCP 설정 우선순위

토큰 읽기 우선순위:

  1. 명령줄 인수 --figma-api-key / -t / --token

  2. GUI 인터페이스에서 구성 및 저장된 토큰 (v1.3.0 신규, 자동으로 안전한 저장소에 저장)

  3. 안전한 저장소의 기본 토큰 (v1.3.2 신규, figma-dev token set으로 저장)

  4. MCP 도구 호출 시 전달된 accessToken 매개변수

  5. MCP 설정의 env.FIGMA_ACCESS_TOKEN

  6. .env 파일의 FIGMA_ACCESS_TOKEN

  7. 시스템 환경 변수 FIGMA_ACCESS_TOKEN


🏗️ 아키텍처 다이어그램

┌──────────────────────────────────────────────────────────────────────────────────┐
│                         用户界面层                                                 │
│  ┌──────────────┐  ┌──────────────────────────────────────────────────────────┐  │
│  │  💻 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 服务        │ │
│                                              └──────────────────────────────┘ │
│                                                                               │
└───────────────────────────────────────────────────────────────────────────────┘

📋 프로젝트 구조

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 / 문제 해결

Q: 저는 초보자인데, 처음 사용해서 설정 방법을 모릅니다.

해결 방법 (v1.3.0 신규 기능 - 가장 간단한 방법): GUI 시각적 설정 마법사를 직접 실행하세요. 명령어를 기억할 필요가 없습니다:

npx figma-dev-tools gui

브라우저가 자동으로 설정 인터페이스를 열며, 안내 단계를 따라 클릭하기만 하면 됩니다:

  1. 한국어 선택

  2. Figma 토큰 붙여넣기 (자동 검증)

  3. 설정할 편집기 선택 (설치된 편집기 자동 감지)

  4. 한 번에 설치 클릭, 완료!

Q: GUI 그래픽 인터페이스 설정을 어떻게 시작하나요?

해결 방법 (v1.3.0 신규): GUI를 시작하는 세 가지 방법:

# 方式一:直接启动 gui 命令(推荐)
figma-dev gui
# 或 npx figma-dev-tools gui

# 方式二:向导命令加 --gui 参数
figma-dev wizard --gui

# 方式三:初始化命令加 --gui 参数
figma-dev init --gui
  • 기본 포트: 54321

  • 54321이 사용 중이면 자동으로 54322, 54323 시도

  • 시작 후 기본 브라우저 자동 열기

  • 한국어/영어 전환 지원

  • 토큰 입력 시 실시간 유효성 검증

  • 8+ 종류의 편집기 자동 감지 및 한 번에 설정 설치

Q: GUI에서 포트를 사용자 지정할 수 있나요?

해결 방법 (v1.3.0 신규):

# 指定端口启动
figma-dev gui --port 3000

# 或通过环境变量
FIGMA_GUI_PORT=3000 figma-dev gui

Q: MCP 서버가 시작되지 않습니다.

확인 사항:

  1. npm install && npm run build (또는 pnpm/yarn/bun 해당 명령어)를 실행했는지 확인

  2. dist/index.js 파일이 존재하는지 확인

  3. Node.js 버전 ≥ 20 (node -v로 확인)

  4. MCP 설정의 경로가 올바른지 확인 (절대 경로 권장)

  5. 제로 설정 방식은 npx -y figma-dev-tools --figma-api-key=xxx를 직접 사용 가능

  6. 먼저 GUI로 설정하는 것을 권장: figma-dev gui, 모든 설정을 자동으로 완료

Q: API 요청이 401 Unauthorized를 반환합니다.

해결 방법:

  1. FIGMA_ACCESS_TOKEN이 올바르게 설정되었는지 확인

  2. 토큰이 만료되지 않았는지 확인 (새로 생성해 보세요)

  3. 토큰에 File content (Read only) 권한이 체크되어 있는지 확인

  4. 해당 Figma 파일에 접근 권한이 있는지 확인 (파일이 링크로 공개되어 있거나 협력자여야 함)

  5. v1.3.0+에서는 GUI 인터페이스를 사용하여 토큰을 입력하고 실시간 유효성 검증 가능

  6. v1.3.2+에서는 figma-dev token set을 사용하여 안전하게 저장하고, 평문 설정 오류 방지

  7. --figma-api-key 매개변수를 통해 토큰을 직접 전달해 보세요

Q: 생성된 아이콘이 타원형으로 변형됩니다.

해결 방법 (v1.3.2 자동 수정):

  • Flex 레이아웃의 고전적인 문제입니다: Flex 컨테이너의 기본 align-items: stretch가 자식 요소를 늘립니다.

  • v1.3.2의 figma_generate_jsx는 자동으로 감지하여 align-items: center + flex-shrink: 0 + 고정 너비/높이를 추가하여 수정합니다.

  • 문제가 지속되면 figma_lint_design을 호출하여 디자인 시안의 Auto Layout 설정을 확인하세요.

Q: 저는 React가 아닌 Vue/Svelte/기타 프레임워크를 사용합니다.

解决: 使用 v1.1.0 新增的 figma_get_structured_data 工具,它输出框架无关的 JSON 结构,包含完整的节点层级、样式、文本、资源信息,你可以基于这个数据生成任意框架的代码。

CLI 也支持:

npx figma-dev structured "https://www.figma.com/design/xxx/yyy?node-id=23-11032" --format json

💡 在 GUI 配置的"框架偏好"步骤中可以选择你常用的框架。

Q: 生成的组件颜色/间距与设计稿不一致?

解决:

  1. 确保 Figma 中使用了 Variables 定义颜色/间距,并设置了 codeSyntax.WEB

  2. v1.3.2 的设计系统对齐功能会自动匹配颜色/间距/字体/圆角/阴影变量

  3. 颜色格式推荐 oklch(Tailwind v4 原生支持),如遇问题切换为 hex

  4. 未命中现有 token 的颜色会通过 @theme inline 扩展,不要直接写 bg-[#hex]

  5. 检查生成代码中的 TODO 注释和设计系统建议报告

  6. 生成前先调用 figma_lint_design 检查设计稿规范

Q: 生成代码有很多冗余嵌套 div?

解决:

  1. 使用 v1.4.0 的 figma_generate_jsx 而非旧版 figma_generate_component

  2. UI 设计师应避免多层无意义 Group 嵌套(用 Frame 划分区域)

  3. 调用 figma_lint_design 检查嵌套层级问题

  4. 检查生成代码中标记为 layout-only 的节点是否被错误保留

  5. 大区块建议拆分后逐块生成,避免单次处理过深节点树

Q: 图片资源没有自动下载?

解决:

  1. 必须调用 figma_download_assets 工具,传入 generate_jsx 输出的 pendingAssets[].nodeId

  2. 确保 sceneName 参数已设置(资源会放到 public/<场景名>/ 目录)

  3. v1.3.2 下载时自动使用 SVGO 优化 SVG,移除冗余属性

  4. 检查 Figma 中的图片节点是否有 IMAGE fill

  5. 网络问题:Figma 图片 CDN 可能需要科学上网

Q: 如何让生成的代码支持响应式?

解决(v1.3.2 新功能):

  1. v1.3.2 的 figma_generate_jsx 会自动推断响应式断点,在响应式建议报告中给出 sm/md/lg 前缀建议

  2. 设计稿建议按移动端/桌面端分别设计,或使用 Auto Layout 约束

  3. 根据响应式建议,手动调整类名添加响应式前缀(如 md:flex-row)

Q: 生成的代码缺少无障碍属性?

解决(v1.3.2 自动增强):

  • v1.3.2 的 figma_generate_jsx 已自动添加:

    • 语义化 HTML 标签(<button> 而非 <div onClick>、<h1>-<h6> 等)

    • 图片 alt 文本

    • ARIA 标签和角色

    • 无障碍最小点击尺寸提示

  • 无障碍增强报告会列出所有添加的增强项

  • 调用 figma_lint_design 检查设计稿中的无障碍问题

Q: API 请求频率限制?

  • Figma API 有速率限制(约 60 请求/分钟)

  • 批量下载资源时工具内部已自动节流

  • 大文件建议拆分处理,避免短时间大量请求

Q: 支持哪些前端框架?

  • React + Tailwind CSS:一级支持(TSX 代码生成 + v1.3.2 全增强)

  • Vue 2/3 / Nuxt:通过 figma_get_structured_data 获取结构化数据,AI 可生成 Vue SFC

  • Svelte / SvelteKit:同上

  • Angular:同上

  • SolidJS / Qwik:同上

  • 原生 HTML / CSS:同上

  • Astro:同上

  • Next.js:支持,但注意不要用 next/image(用普通 <img> 或 publicCdnUrl())

  • Vite + React:推荐,与生成代码最匹配

💡 在 GUI 配置向导中可以选择你的框架偏好。

Q: Zed 编辑器配置不生效?

解决: Zed 使用 mcp_servers 字段(下划线),不是 mcpServers(驼峰)。

  • 使用 figma-dev gui 图形界面一键配置,自动处理 Zed 的字段差异

  • 或使用 npx figma-dev-tools install 也会自动处理这个差异

Q: 如何切换界面语言?

解决(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

💡 在 GUI 配置界面的第二步也可以直接选择语言。

Q: 如何安全存储 Figma Token?

解决(v1.3.0+ 推荐):

  • 最简单:运行 figma-dev gui,在 GUI 界面输入 Token,自动验证并存入安全存储

  • 命令行方式(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 work

Token 会保存在系统安全存储中:

  • macOS: Keychain

  • Windows: Credential Manager

  • Linux: libsecret(如不可用则回退到加密文件)


📖 设计规范

参见 FIGMA-DESIGN-GUIDELINES.md,这是给设计师和 AI 的完整 Figma 设计规范指南,包含:

  • Auto Layout 使用规范

  • 图层命名约定

  • 4px/8px 网格系统

  • 组件复用建议

  • 无障碍设计要求

  • 设计到代码的最佳实践

生成代码前建议先运行 figma_lint_design 检查设计稿质量。


🎯 与其他方案对比

以下对比基于 2025-2026 年公开信息整理,仅反映 figma-dev-tools v1.4.4 与各方案的能力差异,不代表对方全部能力。标注"需确认"表示公开资料未明确说明。

vs 商业 SaaS 方案

对比维度

figma-dev-tools v1.4.4

Builder.io

Anima

Locofy

Seal(网易海豹 D2C)

定位

开源 MCP 工具链

商业 SaaS + AI 平台

商业 SaaS

商业 SaaS

企业内部工具 / Figma 插件

价格

免费开源(MIT)

免费增值(Pro $24/mo+)

免费增值($20/mo+)

免费增值($29/mo+)

免费(需注册)

MCP 协议支持

✅

✅

✅

✅

❌

GUI 可视化配置

✅ v1.3.0(浏览器图形界面)

✅(Fusion 画布)

✅(AI Playground)

✅(Figma 插件)

✅(Figma 插件)

React 代码生成

✅ TSX + Tailwind

✅

✅

✅

✅

Vue 代码生成

✅ v1.4.0(Vue 3 SFC + UnoCSS)

✅

✅

✅

✅

框架无关结构化数据

✅ v1.1.0(JSON 输出)

❌

❌

❌

❌

设计 Tokens 提取

✅ Variables + Styles

✅

需确认

✅

需确认

Flex 布局自动修复

✅ v1.3.2(图标变形/文本截断)

部分(自动响应式)

✅

✅

✅(自动布局还原)

无障碍(a11y)增强

✅ v1.3.2(语义标签/alt/ARIA)

✅(Review agents)

需确认

✅(Agent Mode)

需确认

资源自动下载

✅ publicCdnUrl + SVGO

✅

✅

✅

需确认

还原度校验(像素 diff)

✅ v1.4.4(pixelmatch + 热力图)

❌

❌

需确认("pixel-perfect"宣传)

部分(设计稿检查)

付费墙兜底(截图保底)

✅ v1.4.4(Playwright + 视觉近似)

❌

❌

❌

❌

多编辑器集成

✅ 8+(GUI 自动检测一键安装)

✅(VS Code/Cursor)

✅(Frontier 扩展)

✅(Cursor/Windsurf 等)

❌

CLI 命令行

✅ 20+ 命令

✅(Visual Copilot CLI)

需确认

需确认

❌

i18n 国际化

✅ v1.3.2(中英文双语)

✅

需确认

✅(Agent Mode 指令)

需确认

Token 安全存储

✅ v1.3.2(系统密钥链)

✅

需确认

需确认

需确认

vs 开源 / 官方工具

对比维度

figma-dev-tools v1.4.4

@figma/code-connect

Framelink Figma MCP

figma-mcp(社区)

Design Lint AI

定位

开源 MCP 工具链

Figma 官方组件映射

开源 MCP(8k+ stars)

开源 MCP(多个项目)

Figma 插件

价格

免费开源(MIT)

免费(需 Dev/Full 席位)

免费开源(MIT)

免费开源

免费增值(Pro $19/mo+)

MCP 协议支持

✅

✅(与官方 MCP 集成)

✅

✅

❌

GUI 可视化配置

✅ v1.3.0

✅(Code Connect UI 公测)

❌(配置文件驱动)

❌

✅(Figma 插件)

代码生成

✅ 一键 TSX/Vue

❌(仅组件映射,非 D2C)

❌(仅提供数据,由 AI 生成)

❌(仅提供数据)

N/A(非代码生成工具)

设计 Tokens 提取

✅

✅(variables + code syntax)

❌

❌

✅(Token validation)

Flex 布局自动修复

✅ v1.3.2

❌

❌

部分(Auto-Layout 配置)

❌

无障碍(a11y)增强

✅ v1.3.2

❌

❌

❌

✅(WCAG 检查)

资源自动下载

✅

❌

✅(download_figma_images)

✅

❌

还原度校验(像素 diff)

✅ v1.4.4

❌

❌

❌

❌

付费墙兜底(截图保底)

✅ v1.4.4

N/A(官方功能不涉及付费墙)

❌

❌

❌

多编辑器集成

✅ 8+(GUI 自动检测)

✅(VS Code/Cursor/Android Studio 等)

✅(所有 MCP 客户端)

✅(所有 MCP 客户端)

❌

CLI 命令行

✅ 20+ 命令

✅(figma connect CLI)

✅(npx 启动)

✅

❌(Team API)

i18n 国际化

✅ v1.3.2

❌

❌

❌

❌

SVG Sprite 生成

✅ v1.3.2

❌

❌

❌

❌

差异化优势

  • 付费墙兜底:figma-dev-tools v1.4.4 独有的 BrowserFallbackService,当 Figma REST API 因付费墙失败时自动启动 Playwright 截图保底,竞品中无一提供类似机制

  • 还原度校验闭环:figma_verify_fidelity 提供像素 diff + 差异热力图 + 量化评分(0-100%),其他工具多停留在"pixel-perfect"宣传,无自动化校验

  • 框架无关结构化数据:figma_get_structured_data 输出标准 JSON,支持任意框架,商业 SaaS 多锁定特定框架

  • 开源 + 免费 + 全功能:MIT 许可,无需付费席位即可使用全部 19 个 MCP 工具


📜 License

MIT © figma-dev-tools contributors

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects 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 npm
    40
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Converts Figma designs into structured code context with token-aware styling, enabling AI agents to generate production-level frontend code.
    1
    6 npm
    MIT