Figma Agent MCP
⚡ Figma Agent MCP
Local-first AI Design Agent for Figma 経由 Model Context Protocol (MCP) → WebSocket Bridge → Native Figma Plugin
確定論的な型付きツール、デザインシステム認識、トークン圧縮、ターンキー複合ワークフローにより、Figma デザインをネイティブに検査、作成、変更、スタイル設定、検証、最適化します。
🏛️ システムアーキテクチャ
┌─────────────────────────────────────────────────────────────┐
│ AI Client (Claude / Cursor / Antigravity / LLM) │
└──────────────────────────────┬──────────────────────────────┘
│ MCP Protocol (stdio / SSE)
▼
┌─────────────────────────────────────────────────────────────┐
│ MCP Server (@figma-agent/mcp-server — 48 Tools) │
│ - Tool Registry & Validation - Session Router │
│ - Context Compiler (>70% cut) - Composite Skills Runtime │
└──────────────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Command Engine (@figma-agent/command-engine) │
│ - Batch Transaction Pipeline - Idempotency & Rollback │
└──────────────────────────────┬──────────────────────────────┘
│ Local WebSocket (ws://127.0.0.1:3055)
▼
┌─────────────────────────────────────────────────────────────┐
│ Bridge Server (@figma-agent/bridge-server) │
│ - Channel Pairing (128-bit) - Request/Response Matcher │
│ - Heartbeat & Auto-reconnect - 50+ Concurrent Sockets │
└──────────────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Figma Plugin (@figma-agent/figma-plugin) │
│ - Typed Command Dispatcher - Pure Font Engine │
│ - Native Node Mutation - Zero External Dependencies │
└──────────────────────────────┬──────────────────────────────┘
│ Figma Plugin API
▼
┌─────────────────────────────────────────────────────────────┐
│ Figma Canvas │
└─────────────────────────────────────────────────────────────┘🌟 主な特徴
🔒 Local-First & セキュア: デフォルトで
127.0.0.1にバインド。128 ビットの秘密チャネルペアリング。Figma 内部での任意の JavaScript 実行はありません。🧩 48 個の確定論的 MCP ツール: 読み取り、作成、変更、オートレイアウト、ビジュアルスタイル、コンポーネント、変数/トークン、タイポグラフィ、エクスポートを網羅。
⚡ コンテキストコンパイラ(70% 以上のトークン削減): 巨大なノードツリーをセマンティック Markdown またはコンパクト DSL に圧縮し、適応型深さ枝刈りとトークン予算制限を 100ms 未満で実行。
🛡️ 組み込みバリデーション & WCAG 2.1 エンジン: 通常テキスト、大テキスト、UI コンポーネントに対する相対輝度とコントラスト比の計算(AA/AAA)。オートレイアウトリンター。4px/8px トークングリッド監査。
🔄 アトミックバッチ実行:
stopOnFirstErrorまたはcontinueOnErrorエラーリカバリによるコマンドパイプラインの逐次実行。🚀 ターンキーエージェントスキル: インスタントデザインシステム生成、WCAG アクセシビリティ自動修復、ワイヤーフレームからハイファイカードへの変換のためのプリパッケージ化された複合ワークフロー。
📦 モノレポ構成
figma-agent-mcp/
├── apps/
│ ├── mcp-server/ # 48 MCP Tools + Bridge Client + Session Service
│ ├── bridge-server/ # High-throughput WebSocket router (ws)
│ └── figma-plugin/ # Pure TypeScript native Figma Plugin
├── packages/
│ ├── protocol/ # CommandEnvelope, CommandResult, Error codes, Zod schemas
│ ├── figma-schema/ # SimplifiedNode, Layout, Style, Text, Validation schemas
│ ├── command-engine/ # Batch execution pipeline, transactions, ref resolution
│ ├── context-compiler/ # Token optimizer, tree pruner, Markdown & DSL serializers
│ ├── design-system/ # 4px/8px Spacing, Typography & Corner Radius scale matchers
│ ├── validator/ # WCAG 2.1 contrast engine, Auto Layout & design token rules
│ ├── skill-runtime/ # Composite skills registry & execution engine
│ ├── telemetry/ # Percentile metrics collector (p50, p95, p99)
│ └── shared/ # Hex/RGBA converters, Pino logger, environment config
└── tests/
└── integration/ # 27 Vitest suites covering all phases & stress benchmarks🚀 クイックスタートとセットアップ
1. モノレポをビルドする
git clone https://github.com/your-org/figma-agent-mcp.git
cd figma-agent-mcp
pnpm install
pnpm build2. ブリッジサーバーを起動する
pnpm --filter @figma-agent/bridge-server start
# Bridge server listening at ws://127.0.0.1:30553. Figma Desktop で Figma プラグインを読み込む
Figma Desktop を開きます。
プラグイン → 開発 → プラグインをマニフェストからインポート... に移動します。
apps/figma-plugin/manifest.jsonを選択します。Figma Agent Bridge プラグインを実行します。チャネル ID をメモします(デフォルトは
default-channel)。
⚙️ AI クライアント設定
🤖 1. Claude Desktop
claude_desktop_config.json(Windows では %APPDATA%\Claude\claude_desktop_config.json、macOS では ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。
{
"mcpServers": {
"figma": {
"command": "node",
"args": ["d:/Code/Figma MCP/apps/mcp-server/dist/cli.js"],
"env": {
"FIGMA_AGENT_BRIDGE_HOST": "127.0.0.1",
"FIGMA_AGENT_BRIDGE_PORT": "3055",
"FIGMA_AGENT_CHANNEL_ID": "default-channel"
}
}
}
}💻 2. Cursor IDE
Cursor MCP 設定(Settings → Features → MCP または .cursor/mcp.json)に追加します。
{
"mcpServers": {
"figma-agent": {
"command": "node",
"args": ["d:/Code/Figma MCP/apps/mcp-server/dist/cli.js"],
"env": {
"FIGMA_AGENT_BRIDGE_HOST": "127.0.0.1",
"FIGMA_AGENT_BRIDGE_PORT": "3055",
"FIGMA_AGENT_CHANNEL_ID": "default-channel"
}
}
}
}🧠 3. Google Antigravity / Gemini CLI
Antigravity MCP 設定(~/.gemini/antigravity/mcp_config.json)に追加します。
{
"mcpServers": {
"figma-agent": {
"command": "node",
"args": ["d:/Code/Figma MCP/apps/mcp-server/dist/cli.js"],
"env": {
"FIGMA_AGENT_BRIDGE_HOST": "127.0.0.1",
"FIGMA_AGENT_BRIDGE_PORT": "3055"
}
}
}
}⚡ 4. OpenAI Codex / Codex CLI / OpenAI Operator
Codex MCP 設定(~/.codex/config.json または codex-settings.json)に追加します。
{
"mcpServers": {
"figma-agent": {
"command": "node",
"args": ["d:/Code/Figma MCP/apps/mcp-server/dist/cli.js"],
"env": {
"FIGMA_AGENT_BRIDGE_HOST": "127.0.0.1",
"FIGMA_AGENT_BRIDGE_PORT": "3055",
"FIGMA_AGENT_CHANNEL_ID": "default-channel"
}
}
}
}または Codex CLI 経由で登録します。
# Add Figma Agent MCP to Codex CLI
codex mcp add figma-agent -- node "d:/Code/Figma MCP/apps/mcp-server/dist/cli.js"
# Inspect available tools via MCP Inspector
npx @modelcontextprotocol/inspector node "d:/Code/Figma MCP/apps/mcp-server/dist/cli.js"🌊 5. Windsurf / Codeium IDE
~/.codeium/windsurf/mcp_config.json に追加します。
{
"mcpServers": {
"figma-agent": {
"command": "node",
"args": ["d:/Code/Figma MCP/apps/mcp-server/dist/cli.js"],
"env": {
"FIGMA_AGENT_BRIDGE_HOST": "127.0.0.1",
"FIGMA_AGENT_BRIDGE_PORT": "3055",
"FIGMA_AGENT_CHANNEL_ID": "default-channel"
}
}
}
}📚 完全な MCP ツールリファレンス(48 ツール)
1. 接続とセッション(2 ツール)
ツール名 | パラメータ | 説明 |
| なし | 現在の WebSocket ブリッジ接続状態、レイテンシ、セッション機能を取得します。 |
|
| 特定の Figma ドキュメントチャネルセッションに切り替えるか参加します。 |
2. 検査と読み取り(6 ツール)
ツール名 | パラメータ | 説明 |
|
| 制限付き深さでドキュメントのルート階層を取得します。 |
|
| アクティブな Figma キャンバスで現在選択されているノードを取得します。 |
|
| 特定のノードの詳細なプロパティとサブツリーを読み取ります。 |
|
| 複数のノードを ID でバッチフェッチします。 |
| なし | ファイル内のすべての再利用可能なコンポーネントとバリアントを一覧表示します。 |
|
| ローカルのペイント、テキスト、エフェクトスタイルを一覧表示します。 |
3. ノード作成(4 ツール)
ツール名 | パラメータ | 説明 |
|
| オプションのオートレイアウト付きでコンテナフレームを作成します。 |
|
| 信頼性の高いフォント読み込みでテキストノードを作成します。 |
|
| 長方形ベクトルノードを作成します。 |
|
| セクション整理コンテナを作成します。 |
4. ノード変更とジオメトリ(6 ツール)
ツール名 | パラメータ | 説明 |
|
| ノードを絶対座標位置に移動します。 |
|
| ノードの寸法を変更します。 |
|
| ノードのレイヤータイトルを変更します。 |
|
| キャンバスからノードを削除します。 |
|
| 既存のノード階層を複製します。 |
|
| レイヤーツリー内でノードの親を変更し並べ替えます。 |
5. オートレイアウトとレスポンシブサイジング(2 ツール)
ツール名 | パラメータ | 説明 |
|
| レスポンシブな Flexbox 風オートレイアウトを設定します。 |
|
| コンテナと子の軸サイジング動作を設定します。 |
6. ビジュアルスタイルとエフェクト(5 ツール)
ツール名 | パラメータ | 説明 |
|
| 背景色、グラデーション、画像を適用します。 |
|
| 境界線のストローク、太さ、配置を適用します。 |
|
| iOS 連続スムージングで境界線の角丸を設定します。 |
|
| レイヤーの不透明度を調整します。 |
|
| ドロップシャドウ、インナーシャドウ、ぼかしを適用します。 |
7. コンポーネントとインスタンス(4 ツール)
ツール名 | パラメータ | 説明 |
|
| ノードを再利用可能なマスターコンポーネントに変換します。 |
|
| コンポーネントバリアントをインスタンス化します。 |
|
| コンポーネントバリアントのプロパティをオーバーライドします。 |
|
| コンポーネントインスタンスを通常の編集可能なフレームに切り離します。 |
8. 変数とデザイントークン(6 ツール)
ツール名 | パラメータ | 説明 |
|
| ローカル変数とトークンコレクションを一覧表示します。 |
|
| セマンティックデザイントークン変数を作成します。 |
|
| 特定のモードの変数値を更新します。 |
|
| ノードプロパティをデザイントークン変数にバインドします。 |
|
| ファイル内に共有ペイントスタイルを作成します。 |
(再利用: 検査) |
| 共有スタイルをクエリします。 |
9. アセット、画像、エクスポート(3 ツール)
(このセクションは元のテキストで完了していませんでしたが、完全性のために保持します。)
ツール名 | パラメータ | 説明 |
|
| ノードをBase64画像データまたはUTF-8 SVG文字列としてエクスポートします。 |
|
| ノードの書き出しプリセットを設定します。 |
|
| Base64から画像塗りをアップロードして適用します。 |
10. テキストとタイポグラフィ(6ツール)
ツール名 | パラメータ | 説明 |
|
| テキスト文字列の内容を更新します。 |
|
| フォントサイズを更新します(テキスト全体または範囲指定)。 |
|
| フォントファミリーとウェイトを変更します(自動フォント読み込み対応)。 |
|
| テキストの配置を設定します。 |
|
| 行の高さの間隔を設定します。 |
|
| 文字間隔(トラッキング)を設定します。 |
11. コンテキスト最適化とプルーニング(1ツール)
ツール名 | パラメータ | 説明 |
|
| トークン予算を考慮してFigmaツリーをコンパイル・圧縮します(70%以上の圧縮率)。 |
12. 検証とアクセシビリティ(2ツール)
ツール名 | パラメータ | 説明 |
|
| WCAG 2.1のコントラスト、Auto Layoutルール、トークンスケール、レイヤー命名の健全性についてノードツリーを監査します。 |
|
| WCAG 2.1の相対輝度とコントラスト比(AA/AAA)を計算します。 |
13. 複合スキルとバッチ実行(2ツール)
ツール名 | パラメータ | 説明 |
| なし | 利用可能な高レベルAgentスキルを確認します。 |
|
| 複数ステップの複合ワークフローを実行します。 |
|
| 複数のFigmaコマンドを単一のアトミックなバッチトランザクションで実行します。 |
🤖 複合Agentスキル
1. skill.create_design_system
数秒でターンキーデザインシステムを作成します:
変数コレクション「カラーパレット&トークン」を作成します。
変数
color/primary、color/background、color/surface、color/text-primaryを作成します。対応するペイントスタイルを作成します。
Auto Layout、角丸、トークンバインディングを備えたレスポンシブな
Button/Primaryマスターコンポーネントを生成します。
2. skill.auto_fix_accessibility
ターゲットレイアウト階層のWCAG 2.1コントラスト違反を監査し、背景面に対して低コントラストのテキスト色を自動的に修復してAA準拠を達成します。
3. skill.convert_wireframe_to_hifi
ローファイワイヤーフレームコンテナを、Auto Layout、モダンなサーフェス塗り、ソフトドロップシャドウ、連続角丸を備えた洗練されたレスポンシブなハイファイUIカードに変換します。
🧪 テストと検証
包括的なテストスイートを実行します(27テストファイル、115合格テスト):
# Run format checking
pnpm format:check
# Run full build
pnpm build
# Run unit and integration tests
pnpm test
# Strict TypeScript typechecking
pnpm typecheck
# ESLint audit
pnpm lintベンチマーク結果:
⚡ WebSocket並行処理:50の同時クライアント接続とバーストハートビート:p95 < 100ms、0ドロップアウト。
🌳 大規模ツリー拡張:1,000トークン予算での6,111ノードのコンテキストコンパイル:< 100msの実行時間、>70%の圧縮率。
🛡️ フォールトトレランス:ソケットドロップアウト時の自動再接続とエラーハンドリング(
retryableフラグ付き)。
📄 ライセンス
MIT © 2026 Figma Agent MCP Contributors
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Figma MCP server brings Figma design context directly into your AI workflow.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TrungLee003/figma-agent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server