Search

์‹ค์Šต

04. ์‹ค์Šต โ€” Framelink MCP

๋ชฉํ‘œ

Framelink MCP๋ฅผ ์„ค์น˜ํ•˜๊ณ , ๊ณต๊ฐœ๋œ Figma ํŒŒ์ผ์˜ ํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ React๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ํ†ตํ•ฉํ•œ๋‹ค.

์ค€๋น„๋ฌผ

โ€ข
Figma ๊ณ„์ • (๋ฌด๋ฃŒ OK)
โ€ข
Personal Access Token
โ€ข
VS Code + GitHub Copilot
โ€ข
Node.js 18+
โ€ข
์‹ค์Šต์šฉ ๊ณต๊ฐœ Figma ํŒŒ์ผ URL (Figma Community ๋””์ž์ธ ์‹œ์Šคํ…œ ์ถ”์ฒœ)

์‹ค์Šต 1๋‹จ๊ณ„ โ€” Figma Token ๋ฐœ๊ธ‰

1.
Figma ์›น โ†’ Settings โ†’ Security
2.
Generate new personal access token
3.
๊ถŒํ•œ: File content: Read, Variables: Read
4.
ํ† ํฐ ๋ณต์‚ฌ (์˜ˆ: figd_xxxxxxxx)
์ฒดํฌ: ํ† ํฐ์„ ์•ˆ์ „ํ•œ ๊ณณ์— ์ €์žฅ (.env, 1Password ๋“ฑ)

์‹ค์Šต 2๋‹จ๊ณ„ โ€” VS Code MCP ์„ค์ •

Ctrl+Shift+P โ†’ >MCP: Open User Configuration
๋‹ค์Œ ์ถ”๊ฐ€:
{ "mcp": { "servers": { "figma-developer-mcp": { "type": "stdio", "command": "npx", "args": [ "-y", "figma-developer-mcp@0.5.0", "--figma-api-key=figd_์—ฌ๊ธฐ์—_ํ† ํฐ", "--stdio" ], "env": {} } } } }
JSON
๋ณต์‚ฌ
>MCP: Restart Server ์‹คํ–‰.
์ฒดํฌ: Copilot ์ฑ„ํŒ… ๋„๊ตฌ ํŒจ๋„์— figma-developer-mcp ํ‘œ์‹œ + get_figma_data ๋„๊ตฌ ๋ณด์ž„

์‹ค์Šต 3๋‹จ๊ณ„ โ€” ์‹ค์Šต ํ”„๋กœ์ ํŠธ ์ค€๋น„

cd E:/์‹ค์Šตํด๋” npm create vite@latest framelink-practice -- --template react-ts cd framelink-practice npm install npm install -D tailwindcss postcss autoprefixer npx tailwindcss init -p code .
PowerShell
๋ณต์‚ฌ
tailwind.config.js, index.css ์„ค์ • (๊ณต์‹ MCP ์‹ค์Šต๊ณผ ๋™์ผ)

์‹ค์Šต 4๋‹จ๊ณ„ โ€” Figma URL ์ค€๋น„

1.
Figma Community์—์„œ ๋ฌด๋ฃŒ ๋””์ž์ธ ์‹œ์Šคํ…œ ํŒŒ์ผ 1๊ฐœ ๋ณต์ œ
โ€ข
์˜ˆ: "Material 3 Design Kit", "Untitled UI Free" ๋“ฑ
2.
๋ณต์ œํ•œ ํŒŒ์ผ์—์„œ Card/Button ๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ 1๊ฐœ ์šฐํด๋ฆญ โ†’ Copy link to selection
3.
URL ํ˜•ํƒœ: https://www.figma.com/design/xxxxx/...?node-id=12-34
์ฒดํฌ: URL์ด ?node-id= ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š”์ง€ ํ™•์ธ

์‹ค์Šต 5๋‹จ๊ณ„ โ€” ์ปดํฌ๋„ŒํŠธ ๋ณ€ํ™˜

Copilot ์ฑ„ํŒ…:
๋‹ค์Œ Figma ์ปดํฌ๋„ŒํŠธ๋ฅผ React + TypeScript + Tailwind๋กœ ๋งŒ๋“ค์–ด์„œ src/components/Card.tsx ์— ์ €์žฅํ•ด์ค˜. Props๋Š” ์ถ”๋ก ํ•ด์„œ ์ž‘์„ฑํ•˜๊ณ , ์‚ฌ์šฉ๋œ ์ƒ‰์ƒ์€ ์ธ๋ผ์ธ hex ๊ทธ๋Œ€๋กœ ๋‘ฌ๋„ ์ข‹์•„. [๋ณต์‚ฌํ•œ Figma URL]
Plain Text
๋ณต์‚ฌ
์ฒดํฌ: src/components/Card.tsx ์ž๋™ ์ƒ์„ฑ, ์ฝ”๋“œ๊ฐ€ ๋””์ž์ธ๊ณผ ์œ ์‚ฌ

์‹ค์Šต 6๋‹จ๊ณ„ โ€” ์•„์ด์ฝ˜ ๋‹ค์šด๋กœ๋“œ

Copilot ์ฑ„ํŒ…:
๋‹ค์Œ ๋…ธ๋“œ์˜ ์•„์ด์ฝ˜๋“ค์„ SVG๋กœ src/assets/icons/ ์— ์ €์žฅํ•ด์ค˜. [Figma URL]
Plain Text
๋ณต์‚ฌ
์ฒดํฌ: SVG ํŒŒ์ผ ์ƒ์„ฑ + download_figma_images ํ˜ธ์ถœ ํ”์ 

์‹ค์Šต 7๋‹จ๊ณ„ โ€” ํŽ˜์ด์ง€ ๋‹จ์œ„ ๋„์ „

1.
Figma์—์„œ ํŽ˜์ด์ง€ ์ „์ฒด Frame URL ๋ณต์‚ฌ
2.
Copilot:
์ด Figma ํŽ˜์ด์ง€๋ฅผ src/pages/Landing.tsx ๋กœ ๋งŒ๋“ค์–ด์ค˜. ์„น์…˜์„ Hero, Features, Pricing, Footer๋กœ ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ. ๋””์ž์ธ ํ† ํฐ์€ tailwind.config.js์˜ theme.extend๋กœ ์ถ”์ถœ.
Plain Text
๋ณต์‚ฌ
์ฒดํฌ:
โ€ข
์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ๋จ
โ€ข
tailwind.config.js์— ํ† ํฐ ๋“ฑ๋ก๋จ

์‹ค์Šต 8๋‹จ๊ณ„ โ€” ์‹คํ–‰ ๋ฐ ๋น„๊ต

npm run dev
PowerShell
๋ณต์‚ฌ
โ€ข
๋ธŒ๋ผ์šฐ์ € ๊ฒฐ๊ณผ Figma ์›๋ณธ ๋น„๊ต
โ€ข
์ฐจ์ด์ ์„ ๋…ธํŠธ์— ๊ธฐ๋ก

ํšŒ๊ณ  ์ฒดํฌ๋ฆฌ์ŠคํŠธ

๊ณต์‹ MCP ๋Œ€๋น„ ๋ฌด์—‡์ด ๋” ํŽธํ–ˆ๋Š”๊ฐ€?
๋ฌด์—‡์ด ๋” ๋ถ€์กฑํ–ˆ๋Š”๊ฐ€? (์˜ˆ: Code Connect)
ํ† ํฐ/์Šค์ฝ”ํ”„ ๊ถŒํ•œ ๋ฌธ์ œ๋Š” ์—†์—ˆ๋Š”๊ฐ€?
์–ด๋–ค ๋…ธ๋“œ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์•ผ ๊ฒฐ๊ณผ๊ฐ€ ์ข‹์•˜๋Š”๊ฐ€?
๋””์ž์ด๋„ˆ์™€ ํ˜‘์—…ํ•  ๋•Œ ์–ด๋–ค ์›Œํฌํ”Œ๋กœ๊ฐ€ ์ž์—ฐ์Šค๋Ÿฌ์šธ์ง€ ์ •๋ฆฌ