Figma MCP Server について
Figma MCP Serverは、Figmaファイルを分析してノード階層と関連メタデータを抽出します。ファイル構造を確認したい開発者やAIクライアント向けで、階層の深さを設定でき、REST APIとMCPに対応します。
主な機能
- 01Figmaノード階層の抽出
- 02ノードツリーの深さ設定
- 03REST APIとMCPへの対応
活用シーン
- 01Figmaファイルのノード構造確認
- 02指定した深さで階層を出力
MCP 対応
Figma URLを基にノード階層を生成し、MCPクライアントにファイル分析機能を提供します。REST APIも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Figma MCP サーバー
Figma ファイルの構造を解析する MCP(Model Context Protocol)サーバーです。
機能
- Figma ファイルを解析し、ノード階層を抽出します
- REST API と MCP プロトコルの両方をサポートします
- ノードツリーの深さを設定できます
前提条件
- Node.js 16+
- npm または yarn
- Figma API キー
インストール
npm から
npm install -g figma-mcp-server
ソースから
git clone https://github.com/yourusername/mcp-figma.git
cd mcp-figma
npm install
npm run build
設定
サンプル環境ファイルをコピーし、Figma API キーを追加します。
cp .env.example .env
次に、.env ファイルを編集し、Figma API キーを追加します。
FIGMA_API_KEY=your_figma_api_key_here
Figma API キーは、Figma アカウント設定から取得できます:https://www.figma.com/developers/api#access-tokens
使用方法
REST API サーバーとして
サーバーを起動します。
npm start
これにより、ポート 3000(または .env ファイルで指定したポート)で Express サーバーが起動します。
API エンドポイント
GET /health- ヘルスチェックエンドポイントGET /openapi.json- OpenAPI 仕様GET /mcp.json- MCP マニフェストPOST /analyze- Figma ファイルを解析
解析エンドポイントへのリクエスト例:
curl -X POST http://localhost:3000/analyze \
-H "Content-Type: application/json" \
-d '{"figmaUrl": "https://www.figma.com/file/FILE_ID/PROJECT_NAME?node-id=NODE_ID", "depth": 2}'
MCP サーバーとして
このサーバーは、MCP プロトコルを通じて LLM から直接使用できます。
figma-mcp-server --cli
または、ソースから実行する場合:
npm run start -- --cli
クライアントの例
シンプルなクライアントの例が含まれています。使用するには:
node client-example.js https://www.figma.com/file/FILE_ID/PROJECT_NAME?node-id=NODE_ID 2
最後のパラメーターは省略可能な深さのパラメーターです。
開発
開発モードでの実行
npm run dev
テスト
npm test
Docker
コンテナ化されたデプロイ用に Dockerfile が用意されています。
docker build -t figma-mcp-server .
docker run -p 3000:3000 --env-file .env figma-mcp-server
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。