mcpField
F
Figme

Figme

ローカル
github.comメディア・デザイン36 日前に更新

Figme について

Figmeは、保存済みのFigmaデザインを調べるエージェント向けのローカルMCPサーバーです。`.fig`ファイルをオフラインで解析し、構造化された情報と画像を提供します。

主な機能

  1. 01`.fig`ファイルのオフライン解析
  2. 02レイヤー、レイアウト、スタイルの確認
  3. 03コンポーネントと変数の詳細表示
  4. 04レイヤーとテキストの検索
  5. 05レイヤーをPNGまたはSVGに描画

活用シーン

  1. 01Figma APIトークンなしでデザインを確認
  2. 02デザインファイル内のコンポーネントやテキストを検索
  3. 03デザイントークンをCSS用に抽出
  4. 04画面を描画して見た目を比較

MCP 対応

ローカルの`.fig`ファイルを読み取り、検索、確認、描画するツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ntson9p-figme": {
"command": "npx",
"args": [
"-y",
"figme-mcp"
]
}
}
}
起動コマンドnpx -y figme-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmfigme-mcp1.1.1

ツール

12

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
filestringはい.fig / .figma ファイルのパス(絶対パス、またはサーバーの CWD からの相対パス)。

詳細

figme

AI エージェントが Figma の .fig ファイルを読み取れるようにするMCPサーバーです。オフラインで動作し、Figma アカウントや API トークンは必要ありません。

npm Node.js License: MIT

Figma からデザインを .fig ファイルとして保存すると、エージェントはレイヤーやレイアウト、色、テキスト、コンポーネント、デザイントークン、画像など、ファイル内のすべてを読み取れます。figme は任意のフレームを画像として描画することもできるため、エージェントが作成したものとデザインを比較できます。

you: "what does the tab component in design.fig look like?"

fig_overview  → 10 pages, 2,046 components, 273 variables, 212 images
fig_find      → "lv2/tab/large" is 2:1337, on page "Page 1"
fig_style     → display:flex, direction:row, gap:8, padding:"8px 16px",
                cornerRadius:4, stroke #FFFFFF bound to variable "tab/large/underline"
                (active #FFFFFF / inactive #333333)

figme を使う理由

  • アカウント、トークン、ネットワークは不要です。 figme はディスク上のファイルを読み取り、figma.com には一切アクセスしません。
  • ファイル内のすべてを取得できます。 レイヤーとジオメトリ、自動レイアウト、塗り、線、エフェクト、複数のスタイルが混在するテキスト、コンポーネントとインスタンス、変数、プロトタイプのリンク、画像に対応しています。レイアウトは CSS フレックスボックスとして、色は 16 進数として取得でき、変数に紐づいた色にはトークン名が保持されます。
  • 数値だけでなく画像も取得できます。 fig_render は任意のレイヤーを PNG または SVG として描画します。
  • 応答はコンパクトです。 ノードが 116,000 個あるファイルでも、応答は約 20 KB に収まります。結果はデフォルトで浅い階層に制限され、フィルタリングやページ分割が可能です。
  • Figma の更新にも強い設計です。 すべての .fig ファイルには、そのファイルを記述するスキーマが含まれており、figme はそのスキーマを使ってファイルをデコードするため、Figma が後からフィールドを追加しても問題ありません。

クイックスタート

Node.js 22.15 以降が必要です。

1. デザインを .fig ファイルとして保存します。 Figma で File → Save local copy… を選択します。コミュニティファイルの場合は、先に Open in Figma をクリックしてください。

2. figme をエージェントに追加します。 Claude Code の場合:

claude mcp add figme -- npx -y figme-mcp

Cursor、VS Code、Windsurf、その他のクライアントについては、クライアントの設定を参照してください。

3. 依頼します。 ファイルのフルパスを伝え、Figma のリンクがあれば貼り付けます。

figme を使って、/Users/me/Desktop/App.fig を読み込み、このフレームを React コンポーネントとして作成してください: https://www.figma.com/design/AbC123/App?node-id=3017-121

あとはエージェントがツールを選んで処理します。ほかにも、次のようなことを試せます。

  • 「/Users/me/Desktop/App.fig のページと、最もよく使われているコンポーネントを一覧表示してください。」
  • 「/Users/me/Desktop/App.fig の色の変数を CSS カスタムプロパティに変換してください。」
  • 「/Users/me/Desktop/App.fig のサインイン画面を /Users/me/Desktop/sign-in.png に描画してください。」

クライアントの設定

どのクライアントでも同じコマンド npx -y figme-mcp を実行します。設定する場所だけが異なります。

Claude Code
claude mcp add figme -- npx -y figme-mcp           # this project
claude mcp add -s user figme -- npx -y figme-mcp   # every project

リポジトリで作業する全員がサーバーを共有するには、リポジトリのルートに .mcp.json をコミットします。

{
  "mcpServers": {
    "figme": { "command": "npx", "args": ["-y", "figme-mcp"] }
  }
}

VS Code と JetBrains 用の Claude Code 拡張機能でも、同じ設定を使用します。エディター独自の MCP 設定は読み込みません。

Cursor

すべてのプロジェクトに適用する場合は ~/.cursor/mcp.json に、1 つのプロジェクトだけに適用する場合は .cursor/mcp.json に、次の内容を追加します。

{
  "mcpServers": {
    "figme": { "command": "npx", "args": ["-y", "figme-mcp"] }
  }
}
VS Code (GitHub Copilot)

ターミナルから実行します。

code --add-mcp '{"name":"figme","command":"npx","args":["-y","figme-mcp"]}'

または、次の内容を .vscode/mcp.json に追加します。VS Code では mcpServers ではなく servers というキーを使います。

{
  "servers": {
    "figme": { "type": "stdio", "command": "npx", "args": ["-y", "figme-mcp"] }
  }
}

次に、チャットビューを Agent モードに切り替えます。

Windsurf

次の内容を ~/.codeium/windsurf/mcp_config.json に追加します。

{
  "mcpServers": {
    "figme": { "command": "npx", "args": ["-y", "figme-mcp"] }
  }
}
その他のクライアント

ローカル(stdio)MCP サーバーを起動できるクライアントであれば、どれでも使用できます。次の内容を設定してください。

{ "command": "npx", "args": ["-y", "figme-mcp"] }

設定ファイルの場所は、クライアントのリリースによって変わる場合があります。上記のパスが見つからない場合は、お使いのクライアントの MCP ドキュメントを確認してください。

Windows の場合、クライアントによっては npx を自動で見つけられないことがあります。サーバーが起動しない場合は、cmd 経由で実行してください。

{ "command": "cmd", "args": ["/c", "npx", "-y", "figme-mcp"] }

ヒント

  • リンクがあっても、ファイルのフルパスを必ず指定してください。 Figma のリンクだけでは、figme にディスク上のどのファイルに対応するのか伝わりません。また、相対パスはクライアントがサーバーを起動した場所を基準に解決されます。

  • エージェントに Figma のリンクを開かせないでください。 ページへのログインが必要なため、エージェントは有用な情報を得られず、URL 内の単語からデザインをでっち上げることがあります。figme はエージェントにリンクを開かないよう指示しますが、それでも開こうとする場合は止めてください。

  • 「Node not found」 は通常、保存したファイルがリンク先のファイルと異なることを意味します。fig_overview が報告するドキュメント名とリンク内の名前を比べるか、代わりに名前でレイヤーを探すようエージェントに依頼してください。

  • 大きなファイルにはメモリが必要です。 39 MB の .fig は、解析後に約 900 MB の RAM を使用し、figme は解析済みファイルを最大 4 つ保持します。マシンのメモリが少ない場合は、1 つだけにしてください。

    { "command": "npx", "args": ["-y", "figme-mcp", "--max-files", "1"] }
    

ツール

エージェントがツールを自動で選ぶため、指定する必要はありません。

ツールエージェントが取得できる情報
fig_overviewページ、ノード数、ファイル内のコンポーネント、変数、画像の数
fig_treeノード配下のレイヤーツリー。数レベルずつ表示します
fig_node1 つのレイヤーの詳細情報:サイズ、位置、角の半径、自動レイアウト、子要素
fig_find名前またはテキストに指定した文字列を含むレイヤー
fig_textフォントと混在するスタイルを含む、すべてのテキスト
fig_style塗り、線、エフェクト、タイポグラフィ。自動レイアウトは CSS のフレックスボックスとして表示します
fig_componentsコンポーネントとそのプロパティ、および各コンポーネントの使用頻度
fig_instanceインスタンスがコンポーネントから変更している内容
fig_variablesデザイントークン:すべてのコレクション、モード、値
fig_image埋め込み画像とファイルのサムネイル
fig_blob他のツールでデコードできないものの生のベクターデータ
fig_render任意のレイヤーまたはページの PNG または SVG 画像

各ツールのパラメーターと応答例は、docs/tools.md にあります。

制限事項

  • 読み取り専用です。 figme が .fig を変更することはありません。fig_image または fig_render に保存を依頼した場合にのみ、ファイルを書き込みます。
  • ライブリンクではなく、スナップショットです。 .fig には、保存時点のデザインが保持されます。デザインを変更したら、もう一度保存してください。figme は新しいファイルを読み込みます。
  • レンダリングは近似であり、ピクセル単位で完全に一致するわけではありません。 fig_render は背景のぼかしや角度付きグラデーションなど一部のエフェクトを近似し、絵文字など一部の要素を省略します。各レンダリングには、近似または省略した項目が記載されます。docs/rendering.md を参照してください。
  • 他のファイルのライブラリは含まれません。 別のファイルから公開されたスタイル、変数、コンポーネントは、値を含まない参照として表示されます。
  • ベクターパスはデコードされません。 fig_blob は生のバイト列を返します。

貢献

イシューやプルリクエストを歓迎します。CONTRIBUTING.md では、ソースからのビルド方法とテストの実行方法、パーサーの仕組みを説明しています。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。