Ssumi.
AI ToolsClaude CodeFigma

Figma MCP × Claude Code で Figma のモックを Next.js コンポーネントに起こす最短手順

Figma MCP を Claude Code に繋いで、デザインから Next.js コンポーネントを生成する流れを実測ログ付きで公開します。1コンポーネント12分、コスト$0.31。詰まったポイントも全部書いた。

Figma で組んだモックを Next.js コンポーネントに落とすのが、毎回しんどかった。

Auto Layout を読み解いて、Tailwind のクラスに変換して、命名を揃えて—— 30分かけても「色がちょっと違う」「padding が 16 じゃなくて 14」みたいなズレが残る。

Figma MCP を Claude Code に繋いだら、これが一気に短くなった。 1コンポーネントあたり手作業30分→Claude Code 経由で12分。実測でだいたい60%削減。

今回はセットアップから「実際にコンポーネントが出るまで」を、詰まったところも含めて全部書く。


Figma MCP って何ができるのか

Figma の Dev Mode MCP Server は、Figma 公式が出している MCP サーバー。 Claude Code から Figma のフレーム情報(コンポーネント構造・スタイル・トークン)を直接読める。

できることは大きく3つ。

  • フレームの構造とスタイルを JSON で取得
  • デザイントークン(色・タイポ・スペーシング)を抽出
  • 選択中のレイヤーをコードに変換するヒントを生成

要は「Figma を Claude の目で見える状態にする」ツール。 スクショを Claude に投げて読ませる方法もあるけど、構造情報が落ちるので精度がだいぶ違う。


セットアップ:Figma 側の準備

まず Figma Desktop アプリの最新版を入れる(Web 版ではダメ)。 Dev Mode が有効なプラン(Professional 以上)が必要。

Figma を開いて、メニューから Preferences → Enable Dev Mode MCP Server をオンにする。

これでローカルに http://127.0.0.1:3845/sse のエンドポイントが立つ。 ポートが衝突してたら他のアプリを止めるしかない(僕は Stable Diffusion の WebUI と被って気付くまで20分溶かした)。


Claude Code 側の設定

~/.claude/settings.jsonmcpServers に追加する。

{
  "mcpServers": {
    "figma": {
      "type": "sse",
      "url": "http://127.0.0.1:3845/sse"
    }
  }
}

設定したら Claude Code を再起動して、/mcp コマンドで figmaconnected になってればOK。

ここで failed になるなら原因はだいたい3つ。

  • Figma Desktop が起動していない
  • Dev Mode MCP がオンになっていない
  • ポート 3845 が他のプロセスに取られている

僕は最初の試行で Web 版 Figma を見ながら「動かないな」と1時間溶かした。 Web 版だと MCP サーバーが立たないので、必ず Desktop を起動しておく。


実際にコンポーネントを起こす流れ

Figma で対象のフレームを選択した状態で、Claude Code にこう投げる。

今 Figma で選択しているカードコンポーネントを、
Next.js + Tailwind v4 で実装してほしい。
- shadcn/ui の Card コンポーネントをベースにする
- 色は globals.css の CSS 変数を使う
- ファイルは src/components/feature-card.tsx に置く

Claude Code が Figma MCP を叩いて、選択中のレイヤー情報を取りに行く。 そこから構造を読んで、Tailwind のクラスに変換しながらファイルを書いていく。

僕の手元で計測した結果はこんな感じ。

項目手作業Claude + Figma MCP
所要時間約30分約12分
トークン消費-約$0.31(Sonnet 4.6)
修正回数2〜3回1回(色の微調整のみ)

時間の内訳は、生成自体が3分、レビューと色のズレ修正に9分くらい。 「全自動」ではないけど、退屈な変換作業がごっそり消える。


詰まったポイント

1. Auto Layout が複雑だと構造が崩れる

ネストが3階層以上ある Auto Layout だと、Claude が flex の方向を取り違えることが何度かあった。 対策は「Figma 側でグループを整理してから渡す」。 コンポーネント単位で分割しておくと精度がぐっと上がる。

2. デザイントークンは事前に共有しておく

Figma の変数名(例:color/brand/primary)と、コード側の CSS 変数名(例:--color-primary)が 一致していないと、Claude が毎回 hex を直書きしてくる。

AGENTS.md に対応表を書いておくと一発で解決した。

## デザイントークンの対応
 
| Figma変数 | CSS変数 |
|---|---|
| color/brand/primary | --color-primary |
| spacing/2 | --space-2 |
| text/heading/lg | text-2xl font-bold |

3. 画像アセットは別途エクスポートが必要

MCP 経由で取れるのは構造情報だけで、画像そのものは取れない。 画像を含むコンポーネントは、Figma から手動で書き出して public/ に置く必要がある。 ここは手作業が残る部分。


どこまで任せて、どこから自分でやるか

1ヶ月使った感覚だと、こういう棲み分けに落ち着いた。

  • Claude に任せる:構造の変換、Tailwind クラスへの落とし込み、ファイル配置
  • 自分でやる:デザイントークンの設計、画像アセットの書き出し、最終的な見た目チェック

「全部自動でコンポーネント化される未来」はまだ来ていないけど、 「変換のしんどい部分が消える」だけで体感は別物になる。

特に個人開発だとデザイナーとエンジニア両方をやるので、 往復のコストが減るのが一番効いた。


まとめ

Figma MCP × Claude Code は、デザイン→実装の橋渡しがだいぶ楽になる組み合わせ。

セットアップで詰まりやすいポイントは「Figma Desktop を使う」「ポート衝突を確認する」の2点だけ。 あとは AGENTS.md にトークン対応表を書いておけば、初日からそれなりに動く。

次は同じ流れで、Figma のデザインシステム(和紙×墨×朱)を丸ごとコードに落とす実験をやる予定。 うまくいったらまた書く。

S

Written by

Sumi

本業のかたわらAIツールで副業を回す個人事業主。実際に使って稼いだ・時短した記録を書いています。