概要
Figma MCP Serverは、FigmaデザインをAIアシスタント(GitHub Copilot、Claude等)から直接アクセスできるようにするMCP(Model Context Protocol)の実装です。デザインとコードを連携させることで、デザインシステムの構築・保守を効率化し、デザインと実装の一貫性を保ちます。
本記事では、Figma MCPの仕組みと主要機能、実際のレスポンス形式を紹介します。
Figma MCP Serverのセットアップと基本的な使い方については、前編のVisual Studio Code: GitHub Copilot Agent の Figma MCP Server セットアップで解説しました。
Figma MCPとは
Figma MCP Serverは、AIアプリケーションを外部システムに接続するオープンソース標準プロトコル「Model Context Protocol(MCP)」の実装です。MCPはUSB-Cのようにデータ接続を標準化する仕組みで、Figma MCPはこれを活用してFigmaデザインをAIエージェント(GitHub Copilot、Claude等)から直接参照できるようにします。
従来のFigma REST APIが生のJSONデータ(ノードツリー、スタイル、座標)を返すのに対し、Figma MCPはReact + Tailwindの実装コードをデフォルトで生成します。これはAIエージェントが理解しやすい標準形式で、受け取ったAIがプロジェクトの技術スタック(Vue、Angular、CSS Modules等)に自動変換します。デザイントークン、TypeScript型定義、画像アセットURL、変換指示、次のアクション提案まで含まれており、「AI支援による実装」を目的とした設計です。
詳細はFigma MCP Server - IntroductionおよびModel Context Protocol 公式サイトをご覧ください。
接続方式
Figma MCP Serverは2つの接続方式に対応しています。
| 接続方式 | 説明 |
|---|---|
| Remote MCP Server | Figmaのホストエンドポイントに直接接続、デスクトップアプリ不要 |
| Desktop MCP Server | Figmaデスクトップアプリを通じてローカルで実行 |
インストールガイド:
利用するAIクライアント(GitHub Copilot、Claude等)がローカル・リモートのどちらをサポートしているかは、MCP Catalogで確認できます。
主要な機能
Figma MCP Serverを有効化すると、以下の機能が利用可能になります。
- 選択フレームからコード生成:
Figmaフレームを選択してコードに変換。プロダクトチームが新しいフローを構築したり、アプリ機能を反復改善する際に有用 - デザインコンテキストの抽出:
変数・コンポーネント・レイアウトデータをIDEに直接取り込む。デザインシステムやコンポーネントベースのワークフローに特に有用 - Makeファイルのリソース取得:
Makeファイルからコードリソースを収集し、LLMにコンテキストとして提供。プロトタイプから本番アプリケーションへの移行を支援 - Code Connectによる一貫性の保持:
実際のコンポーネントを再利用して出力品質を向上。生成されるコードをコードベースと一貫させる
利用可能なツール一覧
Figma MCP Serverには以下のツールが含まれています。
デザインコンテキスト取得
Figmaデザインからコード生成やメタデータ抽出を行うツールです。
| ツール | 対応ファイル | 説明 |
|---|---|---|
| get_design_context | Figma Design, Figma Make | レイヤーまたは選択範囲のデザインコンテキストを取得してコード生成(デフォルトはReact + Tailwind) |
| get_metadata | Figma Design | 選択範囲の基本プロパティ(レイヤーID、名前、タイプ、位置、サイズ)をXML形式で取得 |
| get_screenshot | Figma Design, FigJam | 選択範囲のスクリーンショットを取得してレイアウトを正確に保持 |
| get_figjam | FigJam | FigJamダイアグラムのメタデータをXML形式で取得(スクリーンショット含む) |
デザインシステム・変数
デザイントークンや変数定義を取得・管理するツールです。
| ツール | 対応ファイル | 説明 |
|---|---|---|
| get_variable_defs | Figma Design | 選択範囲で使用されている変数とスタイル(色、スペーシング、タイポグラフィ)を取得 |
| create_design_system_rules | ファイル不要 | デザインシステムと技術スタックに基づくルールファイルを生成 |
Code Connect連携
Figmaコンポーネントと実装コードを紐付けるツールです。
| ツール | 対応ファイル | 説明 |
|---|---|---|
| get_code_connect_map | Figma Design | FigmaノードIDとコードコンポーネントのマッピング情報を取得 |
| add_code_connect_map | Figma Design | FigmaノードIDとコードコンポーネントのマッピングを追加 |
ユーティリティ
認証情報など補助的な機能を提供するツールです。
| ツール | 対応ファイル | 説明 |
|---|---|---|
| whoami | ファイル不要(リモートのみ) | 認証されたユーザーの情報(メール、プラン、シートタイプ)を取得 |
実験的機能(アルファ版・ローカルのみ)
開発中の実験的な機能です。ローカルサーバーでのみ利用できます。
| ツール | 対応ファイル | 説明 |
|---|---|---|
| get_strategy_for_mapping | Figma Design | Figmaコンポーネントとコードのマッピング方法を検出(Figma起動) |
| send_get_strategy_response | Figma Design | get_strategy_for_mapping呼び出し後のレスポンス送信 |
デザインからコード生成
get_design_contextツールは、Figmaノードからコンポーネントコードを自動生成します。デフォルトでReact + Tailwindコードを出力しますが、プロジェクトの技術スタックに合わせた変換が可能です。
実行例
以下のプロンプトをAIアシスタントに送信することで、Figmaデザインからコードを生成できます。
プロンプト例:
実際のレスポンス
get_design_contextツールを実行すると、以下のような形式でレスポンスが返されます。
レスポンスの解説
レスポンスには以下の要素が含まれます。
| 要素 | 説明 |
|---|---|
| React + Tailwindコード | コンポーネントの完全な実装 |
| デザイントークン | デザインで使用されている変数とその値 |
| 画像アセット | 7日間有効なURL、定数として定義 |
| ノードID | data-node-id属性でFigmaノードと紐付け |
| 変換警告 | プロジェクトの技術スタックへの変換が必須であることを通知 |
| 次のアクション | get_screenshotの呼び出し推奨 |
まとめ
今回は get_design_context のレスポンスを確認してみました。レスポンスの中身を理解することで、Figmaデザインからコード生成の仕組みが把握でき、AIアシスタントに対してどのように指示するのが良いか役立つと思います。
