Skip to main content
Glama
wenym8

figmingo-mcp

by wenym8

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FIGMA_API_KEYYesYour Figma Personal Access Token. Get one from Figma Settings > Security > Personal access tokens.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_design_contextA

Get the simplified design context for a Figma file or node: layout (absolute bounds, auto-layout), fills/strokes/effects, and text styles. Use format=compact for a small token footprint.

get_metadataA

Lightweight tree of a Figma file/node (id, name, type, bounds) for orientation before a deep fetch. Output as XML (default) or JSON.

get_screenshotA

Render a Figma node to an image via GET /v1/images/:fileKey (scale 0.01–4, png|jpg|svg|pdf). Returns the image inline (base64) and/or saves it to disk.

download_assetsA

Batch-export nodes as files (up to N ids, chunked) plus raw image fills from GET /v1/files/:key/images. Saves everything into a directory and returns a manifest. Temp Figma URLs are downloaded immediately and cached.

get_variable_defsA

Get design tokens: tries the Enterprise variables/local endpoint first; on 403 falls back to published styles + tokens inferred from node fills/text styles. Every output is marked with source.

search_design_systemA

Search the file's design system: components, component sets, and published styles. Local index, no extra API quota beyond one file fetch.

get_code_connect_mapB

Read figmingo.components.json (local component→code mapping) and return the code targets for components found in the requested node subtree.

whoamiA

Token sanity check via GET /v1/me, plus rate-limit observations and disk-cache status.

get_html_replica_specB

Build a replica-optimized spec from a Figma file/node: sections/elements with absolute rects, computed typography (family/style/size/letter-spacing/line-height/text-case), hex+alpha colors, gradient data, and an asset manifest (icons→svg, image fills→urls, logo hints). Output schema matches verify_html_parity input.

render_html_screenshotA

Playwright (chromium) screenshot of a local/remote HTML page or an element selector. Waits for images to load, can hide fixed/sticky elements, supports full-page or selector-local captures.

verify_html_parityA

The acceptance gate. Compares rendered HTML against a Figma replica spec: content gate (copy/font/color tolerances: font size ±1px, letter-spacing ±0.5px, line-height ±2px, color ±2/255), structural gate (position/size ±4px), visual gate (pixelmatch diff ratio ≤ 1%, 2px crop tolerance). Emits a JSON report + diff images.

compare_html_to_imageA

One-shot visual comparison: renders an HTML page/element with Playwright (chromium) and pixel-diffs it against a reference image (e.g. a Figma export). passed = diffRatio <= maxRatio (default 0.01 = 1%; raise maxRatio for rework/triage loops where you only need localization, not a strict gate). Returns diff ratio, anti-alias accounting (see methodology in the response), and per-band diff localization — equal-height bands or custom bandEdges so one band can map to one design element. Replaces the manual render_html_screenshot → write-a-diff-script two-step.

bridge_statusA

Is the figmingo companion plugin connected? Reports client info, pending/queued command counts, and the bridge address.

execute_plugin_commandA

Send a command envelope to the companion Figma plugin over the local bridge. Commands: create_frame, create_text, create_rectangle, set_fills, set_effects, set_auto_layout, insert_image, move_node, resize_node, delete_node, get_selection, get_file_info, get_page_children, export_node. Use commands for a batch executed sequentially in the plugin. Commands sent while the plugin is disconnected are queued (bounded) unless queue=false. Batches emit per-command progress heartbeats: the call fails only after idleTimeoutMs of silence or the total timeoutMs cap, and timeout errors list the command indexes confirmed applied on the canvas. export_node accepts an absolute params.outPath to save bytes to disk and return { path, bytes } instead of inline base64.

import_html_replicaA

Import an HTML page or a replica spec into Figma as native frames via the plugin bridge. Give it an HTML file (htmlPath) or URL (htmlUrl) and it extracts layout + computed styles with headless Chromium, then rebuilds: main frame → section frames → nested containers / text / image nodes with absolute positions, border-radius, borders, shadows, gradients, and real image bytes. Alternatively pass a ready-made spec (spec/specPath, from get_html_replica_spec or hand-written). All degradations (missing fonts, SVG assets, failed images) are reported in the warnings array. Supports dryRun to preview the command plan.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/wenym8/figmingo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server