Skip to main content
Glama

グラビティグローバル フィグマ MCP

Gravity Global Figma MCP は、モデル コンテキスト プロトコル (MCP) を介して Figma と Cursor を統合し、コード変換のために Figma から設計データを取得して最適化できるようにするツールです。

主な特徴

  • Figmaデータ取得: URLまたはファイルIDを使用してFigmaファイルからデザイン情報を取得します

  • データ最適化: 不要なプロパティを削除してJSONのサイズを縮小します

  • CSS 変換: スタイルを自動的にグループに分割して整理します (タイポグラフィ、色、レイアウトなど)

  • CSSクラス名生成:プロパティに基づいて意味のあるクラス名を自動的に作成します

  • デザイントークンの抽出:Figmaのデザインからタイポグラフィとカラートークンを抽出します

Related MCP server: Talk to Figma MCP

インストール

  1. リポジトリをクローンします。

git clone <repository-url>
  1. 依存関係をインストールします:

npm install
  1. .envファイルを作成し、Figma API トークンを追加します。

FIGMA_API_KEY=your_figma_api_token_here
  1. MCP サーバーを実行します。

node index.js

使用法

カーソルチャット

カーソル チャットを通じて次のツールを使用できます。

1. Figmaからデータを取得する

Get data from Figma URL https://www.figma.com/file/abc123/my-design?node-id=123-456

結果: MCP は最適化された Figma データを返します。

2. デザイントークンの抽出

Extract typography and color tokens from Figma URL https://www.figma.com/file/abc123/my-design

結果: MCP は、Figma デザインから抽出されたタイポグラフィとカラー トークンを含む JSON オブジェクトを返します。

応答例:

{
  "typography": {
    "opensans-600-32": {
      "fontFamily": "Open Sans",
      "fontSize": "32px",
      "fontWeight": 600,
      "lineHeight": "48px"
    },
    "avenirnext-400-16": {
      "fontFamily": "Avenir Next",
      "fontSize": "16px",
      "fontWeight": 400,
      "lineHeight": "24px"
    }
  },
  "colors": {
    "bg-ffffff": "#ffffff",
    "text-030e12": "#030e12"
  }
}

3. オプション

  • figmaデザインツール:

    • fullJson=true : 完全な非圧縮JSONデータを返します

    • cleanData=true : HTML/CSSレンダリングに不要なプロパティを削除します

  • figmaTokensツール:

    • tokenTypes=["typography"] : タイポグラフィトークンのみ抽出します

    • tokenTypes=["colors"] : 色トークンのみ抽出する

    • tokenTypes=["typography", "colors"] : 両方を抽出(デフォルト)

例:

Extract only color tokens from Figma URL https://www.figma.com/file/abc123/my-design

データ構造

変換されたFigmaデータの構造は次のようになります。

{
  "nodes": {
    "nodeId": {
      "id": "nodeId",
      "name": "Node Name",
      "type": "FRAME",
      "fillStyleId": "style123",
      "layoutStyleId": "style456",
      "children": [...]
    }
  },
  "styles": {
    "style123": {
      "backgroundColor": "#ffffff",
      "opacity": 1,
      "categories": { "colors": "color1" }
    }
  },
  "optimizedStyles": {
    "typography": {...},
    "colors": {...},
    "layout": {...},
    "spacing": {...},
    "sizing": {...}
  },
  "classNames": {
    "style123": "bg-1",
    "style456": "flex-row-1"
  }
}

技術的な詳細

Figmaデータ取得

このツールは、Figma REST APIを使用してデザインデータを取得します。通常のファイルと新しいデザインのURLの両方をサポートしています。node node-idを使用して特定のノードを指定できます。

データの最適化

最適化プロセスには次の手順が含まれます。

  1. 不要なプロパティを削除する

  2. スタイルをグループに分ける (タイポグラフィ、色、レイアウトなど)

  3. 類似のスタイルを統合して重複を減らす

  4. CSSクラス名の自動生成

トークン抽出

トークン抽出プロセス:

  1. デザインに使用されているタイポグラフィとカラースタイルを識別します

  2. 各トークンの標準化された命名規則を作成します

  3. トークンをタイプ(書体または色)別にグループ化します

  4. 重複を削除して整理し、デザインシステムとの統合を容易にします

制限事項

  • MCPでは返されるデータのサイズに制限があり、大きなファイルはfigma_dataディレクトリに保存されます。

  • 複雑なベクトル特性は完全には保存されない

  • 複雑なグラデーションや効果には追加の処理が必要になる場合があります

ライセンス

MITライセンス

Available Tools

1 tool
figmaDesignD
ParametersJSON Schema
NameRequiredDescriptionDefault
figmaUrlYesFigma URL or file ID
fullJsonNoIf true, returns full uncompressed JSON data
cleanDataNoIf true, removes unnecessary properties for HTML/CSS rendering

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedfigmaDesign

TDQS

D1.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion between tools.

Naming Consistency5/5

A single tool trivially follows a consistent naming pattern with itself.

Tool Count1/5

One tool for a Figma MCP is extremely limited; a typical Figma integration would require many more operations, making this an extreme mismatch.

Completeness1/5

The tool has no description, and a single tool cannot cover the expected domain of Figma operations (e.g., fetching designs, components, etc.), indicating severe incompleteness.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers