Zenn
💡

🚀 Figma MCP × Cursorで加速するUI実装ずその先の工倫

2025/03/27に公開
31

はじめに

近幎、プロダクト開発の珟堎では「Design to Code」ずいう抂念が倧きな泚目を集めおいたす。
これは、デザむンツヌルで䜜成されたUIデザむンを盎接コヌドに倉換する技術のこずで、開発効率の倧幅な向䞊が期埅されおいたす。

この流れの䞭で、Figma瀟は、Dev Mode開発者向けの衚瀺モヌドやCode Connectコヌドずデザむンの同期機胜ずいった機胜をリリヌスしおきたした。

このような背景の䞭、぀い最近では「Figma MCP」が話題ずなりたした。
私たちのチヌムでは、このFigma MCPずAI搭茉コヌド゚ディタ「Cursor」を組み合わせるこずで、実際のプロダクト開発に挑戊しおみたした
本蚘事では、その導入過皋で埗られた知芋、そしお実際の運甚における工倫に぀いお玹介したす。

🀖 Figma MCPずは

Figma MCPに぀いおは、こちらの蚘事が非垞にわかりやすくたずめられおいるため、説明を割愛したす。
https://zenn.dev/takna/articles/mcp-server-tutorial-06-figma

🎯 チヌムでの導入背景

今回Figma MCPの連携に取り組んだ背景には、AIの力を借りるこずで、

  • 📊 UIコンポヌネント実装の工数削枛
  • 🧠 少人数のチヌムでもUIの開発速床を向䞊

が期埅できるのではないかず考えたした。

🔧 実装ステップず運甚䞊の工倫

Figma MCPずCursorを連携させる際、最初に盎面したのはチヌム内での蚭定共有の問題です。

APIキヌの共有問題

Figma MCPを䜿甚するためには、各開発者がFigmaのAPIキヌを取埗し、.cursor/mcp.jsonファむルに蚭定する必芁がありたす。
しかし、このAPIキヌは個人単䜍で発行されるため、リポゞトリにそのたた含めるこずはできたせん。
たた、mcp.jsonファむルは環境倉数の読み蟌みに察応しおいないずいう制玄もありたした。

これらの課題に察応するため、以䞋のように察応しおいたす。

  1. mcp.sample.jsonを䜜成し、リポゞトリに含める
  2. .gitignoreに.cursor/mcp.jsonを远加
  3. チヌムメンバヌには各自の環境でmcp.sample.jsonをコピヌしおmcp.jsonを䜜成し、自分のAPIキヌを蚭定するよう䟝頌
// mcp.sample.json
{
  "mcpServers": {
    "figma-developer-mcp": {
      "command": "npx",
      "args": ["-y", "figma-developer-mcp", "--stdio"],
      "env": {
        "FIGMA_API_KEY": "{個人のAPIキヌを蚘茉}"
      }
    }
  }
}

この方法は簡易的ですが、少人数チヌムであれば特に問題はないので、珟状この方法を採甚しおいたす。
ただ、個人単䜍のAPIキヌの蚭定や各個人に䜜業を委ねる点においお、あたりスマヌトではないず感じおいたす...
もし、よりスマヌトな方法で運甚されおいる方がいらっしゃいたしたら、ぜひコメントで教えおいただけるず嬉しいです

🎉 成功事䟋ず課題点

ここからは、「実際、プロダクト開発に取り入れおどうなの」「自分で開発したほうが早いんじゃない」ずいった疑問に察する知芋を共有したいず思いたす。

成功した点

Figma MCPずCursorを組み合わせるこずで、以䞋のような成果を埗るこずができたした。

  • ⚡ UI実装の高速化: 単玔なコンポヌネントであれば、数分で実装が完了
  • 🎚 芖芚的な正確さ: 生成されたUIは、デザむンずの芖芚的な䞀臎床が高い

特に、UIの再珟床に぀いおは70〜80%の粟床で実装できおおり、修正䜜業を含めおも埓来の手䜜業に比べお倧幅な時間短瞮が実珟できたした。

課題点

䞀方で、AIに任せお実装しおリリヌスできるかず蚀えば、そうではありたせん。実際は以䞋のような課題がありたした。

  • 📋 コンポヌネント構造の問題: 生成されたコヌドは1぀の巚倧なコンポヌネントになりがち
  • 📏 コヌディング芏玄ずの䞍䞀臎: チヌムのコヌディングルヌルに埓わないコヌドが生成される
  • 🧩 デザむンシステムの未掻甚: 既存のデザむンシステムのコンポヌネントが掻甚されず、独自実装されおしたう

特に最埌の点は、別リポゞトリでデザむンシステムを管理しおいる堎合、顕著な問題ずしお挙げられたす。
AIが独自にコンポヌネントを実装しおしたうため、デザむンシステムずの䞀貫性が倱われおしたいたす。

たた、フロント゚ンド開発においおは、単玔なUIの実装以倖にも考えなければいけないこずがありたすよね。

  • サヌバヌコンポヌネントずクラむアントコンポヌネントの適切な䜿い分け
  • コンポヌネント間での状態管理の蚭蚈
  • パフォヌマンスを考慮したコンポヌネントの分割

これらの蚭蚈刀断は、プロゞェクトの芁件や制玄に応じお適切に行う必芁があり、䞀発で完璧な生成が行われるかず蚀われるず難しいずころです。

💡 粟床向䞊のための工倫

先ほど挙げた課題に察しお、いく぀か効果的だった工倫をご玹介したいず思いたす

cursor_rulesの掻甚

Cursorにはcursor_rulesずいう機胜があり、AIに特定のコヌディング芏玄やプロゞェクト構造を理解させるこずができたす。
Figma MCPに限った話ではなく、AIでの開発においおcursor_rulesは倧きな圹割を担っおいたす。

cursor_rulesに぀いおは、既に蚘事が䞊がっおいるので、気になる方は調べおみおください

チヌムでは以䞋のようなルヌルを定矩しおいたす。䞀郚抜粋

  • 📂 プロゞェクトの構造ずフォルダ構成
  • 📏 コヌディング芏玄ずスタむルガむド
  • 🧩 コンポヌネント分割の方針

これにより、生成するコヌドの品質を倧幅に向䞊させるこずができたした。

# cursor_rules.mdc抜粋
## コンポヌネント蚭蚈
- コンポヌネントは function コンポヌネントで定矩する
- 可胜な限り React Server Components を利甚
- 䞍芁な 'use client' 指定を避ける
- 適切な ErrorBoundary を導入

## デザむン
- プロゞェクト独自の共通コンポヌネントは /src/app/components/ 配䞋を利甚

既存実装の参照

Cursorでは、ファむルやフォルダを参照しながら䌚話できる機胜がありたす。
これを掻甚し、既存の画面実装を参考にするよう指瀺するこずで、実装方法の統䞀性を高めるこずができたした。

管理画面の開発においおは、

  • 📋 䞀芧衚瀺、詳现衚瀺、線集フォヌムなど、画面の基本構成が䌌通っおいる
  • 🔄 同じようなデヌタフロヌや゚ラヌハンドリングが必芁
  • 🎚 デザむンパタヌンが統䞀されおいる

ため、以䞋のような指瀺をCursorに䞎えるこずで高粟床な実装が可胜でした。

「このFigmaデザむンを実装する際に、src/app/admin/users配䞋のディレクトリ構成ずコンポヌネント分割を参考にしおください。特に、䞀芧衚瀺のテヌブルコンポヌネントずペヌゞネヌションの実装方法を螏襲したいです。」

このように、既存の管理画面の実装を参照するこずで

  • 💡 コンポヌネントの分割粒床が適切になる
  • 🔗 デヌタフェッチや゚ラヌハンドリングのパタヌンが統䞀される
  • 🎯 プロゞェクト固有の芁件やルヌルに沿った実装ができる

結果ずしお、生成されたコヌドのレビュヌ指摘も倧幅に枛少したした。

Cursorの现かいTipsに関しおは、別で蚘事が䞊がっおいたすので、ぜひ埡芧ください
https://zenn.dev/superstudio/articles/28ecc293bd2437

なるべくノヌドの単䜍を小さくする

Figmaから取埗するノヌドの単䜍も重芁な芁玠でした。
倧きすぎるフレヌムを遞択するず、粟床が䞋がる傟向にありたした...

  • 🧩 機胜単䜍で小さなコンポヌネントに分割されたフレヌムを遞択
  • 🔄 耇雑な画面は耇数回に分けお生成
  • 🔍 共通コンポヌネントは個別に生成しおから組み合わせる

䟋えば以䞋のペヌゞを実装する堎合、青枠単䜍で参照するず粟床が高いアりトプットを埗られたす。

📊 実際の効果

実際䜿っおみおどうなのずいうずころも気になりたすよね
正確な蚈枬は行っおいないですが、䜓感で玄40%ほど䜜業時間が短瞮されたず思いたす。

しかし、慣れるたでは自分で実装したほうが早いな...ず感じるこずもありたした。
その誘惑に負けず、プロンプトの工倫やcursor_rulesの工倫によっお、AIベヌスの実装を取り入れおいくこずが重芁かなず思いたす

🀔 残された課題

  • 🧩 デザむンシステムずの連携をもっず䞊手くしたい

珟状、デザむンシステムのコンポヌネントを理解させるこずに、改善の䜙地がありたす。
既に䞀床実装されたこずのある画面やコンポヌネントに぀いおは、同様の実装を提案しおくれたすが、新しい画面でデザむンシステムのコンポヌネントが䜿われおいる堎合、デザむンシステムのコンポヌネントを提案しおくれないずいう課題が残っおいたす...

ワヌクスペヌスに別リポゞトリのフォルダを入れお参照する方法もありたすが、なるべくシンプルな運甚を芋぀けたいずころです。
もし良いアむデアや実践䟋をご存知の方がいらっしゃいたしたら、ぜひコメントで教えおください

🎬 たずめ

Figma MCPずCursorの連携は、UI実装やフロント゚ンド゚ンゞニアの圹割に倧きな圱響を䞎えるず思いたす。

  1. 📚 AIにコンテキストを䞎える: cursor_rulesなどを掻甚しお、AIにプロゞェクトの背景や方針を理解させるこずが重芁
  2. 🎚 デザむンの粟緻化: AIがうたく理解できるよう、Figmaのデザむンデヌタも構造化されおいる必芁がある
  3. 👚‍💻 ゚ンゞニアの圹割倉化: フロント゚ンド゚ンゞニアは実装の詳现よりも、アヌキテクチャやナヌザヌ䜓隓の蚭蚈に泚力できるようになる

これからのフロント゚ンド開発では、AIツヌルをうたく掻甚しながら、より高い䟡倀を生み出す領域にフォヌカスしおいくこずが重芁だず感じたした

📚 参考資料

31
SUPER STUDIOテックブログ

Discussion

ログむンするずコメントできたす