๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

Building the Engine While Flying the Plane: Launching the Figma MCP Server โ€” Jesse Lumarie, Figma

AI Engineer ยท 2026-08-28 23:00 ยท 16:46

ํ•œ ์ค„ ํ•ต์‹ฌ

Figma๋Š” ๋น ๋ฅด๊ฒŒ ๋ณ€ํ•˜๋Š” MCP ์‚ฌ์–‘๊ณผ ๋ถˆ๊ท ๋“ฑํ•œ ํด๋ผ์ด์–ธํŠธ ์ง€์› ์†์—์„œ๋„ ๋กœ์ปฌ ์„œ๋ฒ„๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ปจํ…์ŠคํŠธ ํ‘œํ˜„, ํ‰๊ฐ€, Code Connect, ๊ถŒํ•œยท๋ณด์•ˆ๊นŒ์ง€ ํ•จ๊ป˜ ์„ค๊ณ„ํ•˜๋ฉฐ ์‹ค์ œ ์ œํ’ˆ์œผ๋กœ ๋ฐ€์–ด๋ถ™์˜€๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:00
    20% ํ”„๋กœ์ ํŠธ๊ฐ€ ์—†๋Š” ํšŒ์‚ฌ์—์„œ ์‹œ์ž‘ํ•œ 20% ํ”„๋กœ์ ํŠธ Figma์˜ ์ฒซ MCP ์„œ๋ฒ„๋Š” AI ๋„๊ตฌ๊ฐ€ ๋””์ž์ธ๊ณผ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋ฅผ ์˜ค๊ฐ€๋ฉฐ ์ปจํ…์ŠคํŠธ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ฒŒ ํ•˜๋ ค๋Š” ์‹œ๋„๋กœ ์‹œ์ž‘๋๋‹ค. ๋‚ด๋ถ€ ๋ฐ๋ชจ๋ฅผ ๋ณด๊ณ  ์ผ์ฃผ์ผ์— ํ•˜๋ฃจ์”ฉ ์ง์ ‘ ๋ถ™์žก์€ ์‹คํ—˜์ด ํŒ€์œผ๋กœ ํ™•์žฅ๋๊ณ , ์‚ฌ์–‘์ด ๋ฐ”๋€Œ๋Š” ์™€์ค‘์—๋„ ์ œํ’ˆ ๊ฐ€๋Šฅ์„ฑ์„ ํ™•์ธํ•˜๋ฉฐ ์ถœ๋ฐœ์ ์„ ๋งŒ๋“ค์—ˆ๋‹ค.
  2. 2:02
    ๊ณ ๋ฅด์ง€ ์•Š์€ ํด๋ผ์ด์–ธํŠธ ์ง€์›๊ณผ ๋ฐ”๋€Œ๋Š” ์‚ฌ์–‘ MCP๋Š” ์‚ฌ์–‘์ด ์ง„ํ–‰ ์ค‘์ด์—ˆ๊ณ  ํด๋ผ์ด์–ธํŠธ๋งˆ๋‹ค ์ง€์› ๋ฒ”์œ„์™€ ์‹œ์ ์ด ๋‹ฌ๋ผ ๋ฌด์—‡์„ ๊ธฐ์ค€์œผ๋กœ ๋งŒ๋“ค์ง€ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ค์› ๋‹ค. ์ผ๋ถ€๋Š” ๋„๊ตฌ๋งŒ ์ง€์›ํ–ˆ๊ณ , ์–ด๋–ค ํด๋ผ์ด์–ธํŠธ๋Š” ํ›จ์”ฌ ๋Šฆ๊ฒŒ ์™„์„ฑ๋„ ๋†’์€ ์ง€์›์„ ์ œ๊ณตํ–ˆ์ง€๋งŒ, ๊ทธ๋Ÿผ์—๋„ ๊ฐ•๋ ฅํ•œ ์ œํ’ˆ์ด ๋  ๊ฐ€๋Šฅ์„ฑ์€ ๋ถ„๋ช…ํ–ˆ๋‹ค.
  3. 2:55
    ๋กœ์ปฌ ์„œ๋ฒ„๊ฐ€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ค€ ๊ฒƒ ์ดˆ๊ธฐ ๋กœ์ปฌ MCP ์„œ๋ฒ„๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํ•ต์‹ฌ ์‚ฌ์šฉ์ž๋กœ ์‚ผ์•„ Figma์˜ dev mode ์ •๋ณด๋ฅผ ์ฝ”๋“œ ์—์ด์ „ํŠธ๋กœ ๋ฐ”๋กœ ๋„˜๊ธฐ๋Š” ๋ฐ ์ง‘์ค‘ํ–ˆ๋‹ค. component data, spacing, variables ๊ฐ™์€ ๋งฅ๋ฝ์„ ์ œ๊ณตํ•˜๋ฉด์„œ Figma, FigJam, Make ๋“ฑ์œผ๋กœ ์ฝ๊ธฐ ๋„๊ตฌ๋ฅผ ํ™•์žฅํ•ด ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์— ์Šค๋ฉฐ๋“ค๊ฒŒ ํ–ˆ๋‹ค.
  4. 3:52
    ์”ฌ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์”ฌ ๊ทธ๋ž˜ํ”„๋ฅผ ์—์ด์ „ํŠธ์— ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋‚ด๋ถ€์ ์œผ๋กœ ์„ธ ๊ฐ€์ง€๋ฅผ ๊ฒ€ํ† ํ–ˆ๋‹ค: ์ถ”์ƒ์ ์ด๊ณ  ๊ฐ„๊ฒฐํ•œ JSX/XML ํ˜•ํƒœ, React Tailwind์— ๊ฐ€๊นŒ์šด D2R, ๊ทธ๋ฆฌ๊ณ  plain image๋‹ค. ๋ชจ๋ธ์ด React Tailwind ๊ณ„์—ด ํ‘œํ˜„์— ์ต์ˆ™ํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฐ€์„ค์ด ์žˆ์—ˆ๊ณ , ๋‹จ์ˆœ ์ด๋ฏธ์ง€๋ณด๋‹ค ๊ตฌ์กฐํ™”๋œ ์ฝ”๋“œ ํ‘œํ˜„์ด ๋” ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ดค๋‹ค.
  5. 4:47
    ์ด๋ฏธ์ง€๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•˜๋˜ ์ด์œ  ์ด๋ฏธ์ง€๋Š” ๋ณด์กฐ ์ปจํ…์ŠคํŠธ๋กœ๋Š” ์œ ์šฉํ–ˆ์ง€๋งŒ, ๋‹จ๋…์œผ๋กœ๋Š” HTML/CSS ๋ณ€ํ™˜ ํ’ˆ์งˆ์ด ์ข‹์ง€ ์•Š์•˜๋‹ค. ์ฒ˜์Œ์—๋Š” B64๋ฅผ ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๋ง์ณค๊ณ , ๊ฒฐ๊ตญ ์ฝ”๋“œ ์ปจํ…์ŠคํŠธ์™€ ํ˜„์žฌ ๋…ธ๋“œ ์ด๋ฏธ์ง€์˜ ์กฐํ•ฉ์ด ๋” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ƒˆ๋‹ค.
  6. 5:40
    ํ‰๊ฐ€๋ฅผ ํ•œ ๋ฒˆ ์†์œผ๋กœ ์ฑ„์ ํ•˜๊ณ  ๋๋‚ธ ์ด์œ  ์ดˆ๊ธฐ ํ‰๊ฐ€๋Š” ๋ณ€์ˆ˜ ์‚ฌ์šฉ, ํ…Œ๋งˆ ๋ฐ˜์˜, ์œ„์น˜ ์ •ํ™•๋„ ๊ฐ™์€ ์ •๋Ÿ‰ ์ง€ํ‘œ์™€ ๊ฒฐ๊ณผ์˜ ๋ฏธ๊ด€ยทํŒ๋‹จ ํ’ˆ์งˆ ๊ฐ™์€ ์ •์„ฑ ์ง€ํ‘œ๋ฅผ ํ•จ๊ป˜ ๋ดค๋‹ค. ํ•˜์ง€๋งŒ Excel์—์„œ ์ˆ˜์ž‘์—…์œผ๋กœ ์ฑ„์ ํ•˜๋Š” ๋ฐฉ์‹์€ ๋„ˆ๋ฌด ๋น„ํšจ์œจ์ ์ด์–ด์„œ ์›น ์•ฑ๊ณผ LLM judges๋ฅผ ๋ถ™์ธ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ํ‰๊ฐ€ ์‹œ์Šคํ…œ์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๊ณ , ์ ์ฐจ ์ธ๊ฐ„ ๊ฐœ์ž…์„ ์ค„์˜€๋‹ค.
  7. 7:32
    Code Connect์™€ ํ”ฝ์…€ ํผํŽ™ํŠธ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•œ ์ด์œ  ํ”ฝ์…€ ํผํŽ™ํŠธํ•œ React Tailwind ์ถœ๋ ฅ๋งŒ์œผ๋กœ๋Š” ์ ‘๊ทผ์„ฑ์ด๋‚˜ ๊ตญ์ œํ™”๊ฐ€ ๋ฐ˜์˜๋œ ์‹ค์ œ ์ฝ”๋“œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณด์žฅํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. Code Connect๋ฅผ ํ†ตํ•ด ๋””์ž์ธ์„ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ์‹ค์ œ ์ปดํฌ๋„ŒํŠธ์— ์—ฐ๊ฒฐํ•ด, ์—์ด์ „ํŠธ๊ฐ€ ๋ฌด๊ฑฐ์šด ํ‘œํ˜„ ๋Œ€์‹  ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ ๊ฐ™์€ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.
  8. 9:24
    ์งˆ๋ฌธ ์œ ๋„์™€ ์ƒ˜ํ”Œ๋ง, ๊ทธ๋ฆฌ๊ณ  ์šฐํšŒ ๊ตฌํ˜„ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์™„์ „ํžˆ ์ง€์›ํ•˜์ง€ ์•Š๋Š” elicitation๊ณผ sampling์„ ์กฐํ•ฉํ•ด, ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฝ”๋“œ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ• ์ง€ ๋ฌป๊ณ  ์—์ด์ „ํŠธ๊ฐ€ ์ฝ”๋“œ๋ฒ ์ด์Šค ๋งค์นญ์„ ์ œ์•ˆํ•˜๋„๋ก ํ๋ฆ„์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์ง์ ‘ ๊ตฌํ˜„์ด ์–ด๋ ค์šด ๊ธฐ๋Šฅ์€ ํˆด ํ˜ธ์ถœ๊ณผ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฎ์–ด ์šฐํšŒํ–ˆ๊ณ , ์ถ”๊ฐ€ ์„ ํƒํ˜• ์ธ์ž๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ์‹ ํ˜ธ๋„ ์ˆ˜์ง‘ํ–ˆ๋‹ค.
  9. 13:55
    ๋กœ์ปฌ ์šฐ์„  ๋ฐฐํฌ ํ›„ ์›๊ฒฉ์œผ๋กœ ํ™•์žฅ ์ดˆ๊ธฐ์—๋Š” ๋ณด์•ˆ, ํŒŒ์ผ ๊ถŒํ•œ, ๊ณผ๊ธˆ ๋‚จ์šฉ ๋ฐฉ์ง€ ๋•Œ๋ฌธ์— ๋กœ์ปฌ ์„œ๋ฒ„๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅธ ๊ฒฝ๋กœ์˜€๋‹ค. Electron ๊ธฐ๋ฐ˜ ๋ฐ์Šคํฌํ†ฑ ์•ฑ๊ณผ IPC, node ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด์šฉํ•ด ๋กœ์ปฌ์—์„œ ๋จผ์ € ์ถœ์‹œํ•œ ๋’ค, ์ดํ›„ remote server์™€ write ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ฉฐ ๋ฒ”์œ„๋ฅผ ๋„“ํ˜”๋‹ค.
  10. 15:43
    ์ด ๋ชจ๋“  ๊ฒƒ์ด ์•„์ง๋„ ์–ผ๋งˆ๋‚˜ ์ดˆ๊ธฐ์ธ์ง€ MCP ์ƒํƒœ๊ณ„๋Š” ์•„์ง 2๋…„ ์ •๋„๋ฐ–์— ๋˜์ง€ ์•Š์•„ ์ •๋‹ต์ด ์ •ํ•ด์ง€์ง€ ์•Š์•˜๊ณ , ์ œํ’ˆ๊ณผ ์ธํ”„๋ผ์˜ ๋งŽ์€ ๋ถ€๋ถ„์ด ์—ฌ์ „ํžˆ ์‹คํ—˜ ๋‹จ๊ณ„๋‹ค. Figma๋Š” ์—”์ง€๋‹ˆ์–ด์—๊ฒŒ ์ž์œจ์„ฑ์„ ์ฃผ์–ด MCP์™€ Make ๊ฐ™์€ ์ƒˆ ํ๋ฆ„์„ ์ง์ ‘ ๋งŒ๋“ค์–ด ๊ฐ€๊ฒŒ ํ–ˆ๊ณ , ๊ทธ ๊ณผ์ • ์ž์ฒด๊ฐ€ ๋น ๋ฅธ ํ•™์Šต๊ณผ ์ง„ํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

  • MCP ์„œ๋ฒ„๋Š” ์‚ฌ์–‘์ด ์•ˆ์ •๋˜๊ธฐ ์ „์ด๋ผ๋„ ๋กœ์ปฌ ์šฐ์„ ์œผ๋กœ ์ถœ๋ฐœํ•˜๋ฉด ์‹ค์ œ ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ๊ฐ€์žฅ ๋นจ๋ฆฌ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—์ด์ „ํŠธ์šฉ ์ปจํ…์ŠคํŠธ๋Š” ์ด๋ฏธ์ง€, ๊ตฌ์กฐํ™”๋œ ์ฝ”๋“œ ํ‘œํ˜„, ์‹ค์ œ ์ฝ”๋“œ ์ปดํฌ๋„ŒํŠธ ์—ฐ๊ฒฐ์„ ๊ณ„์ธต์ ์œผ๋กœ ์„ค๊ณ„ํ•ด์•ผ ํ’ˆ์งˆ๊ณผ ํšจ์œจ์„ ํ•จ๊ป˜ ์žก์„ ์ˆ˜ ์žˆ๋‹ค.
  • ํ‰๊ฐ€๋Š” ํ•œ ๋ฒˆ์˜ ์ˆ˜์ž‘์—…์œผ๋กœ ๋๋‚ด์ง€ ๋ง๊ณ , ์ž๋™ํ™”๋œ ๋ฐ˜๋ณต ํ‰๊ฐ€์™€ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ์‹ ํ˜ธ๋ฅผ ํ•จ๊ป˜ ๋„ฃ์–ด ํšŒ๊ท€๋ฅผ ์กฐ๊ธฐ์— ์žก์•„์•ผ ํ•œ๋‹ค.