Skip to main content
Glama
dynstat

Figma Dash MCP Server

by dynstat

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
clear_canvasA

Remove ALL elements from the current Figma page (clean slate).

create_frameA
Create a Figma Frame (artboard/container).

Args:
    name, x, y, width, height: basics
    hexColor: fill hex e.g. '#0D1117'
    fillOpacity: 0–1 (use 0.05–0.15 for glass panes)
    cornerRadius: rounded corners px
    stroke/strokeWidth/strokeOpacity: border
    shadow: {color, x, y, blur, spread, opacity}
    blur: layer blur radius
    gradient: {angle:0-360, stops:[{color,position,opacity}]}
create_rectangleB
Create a styled rectangle. Full glassmorphism support.

Glassmorphism recipe:
  hexColor='#FFFFFF', fillOpacity=0.08, cornerRadius=16,
  stroke='#FFFFFF', strokeOpacity=0.15, strokeWidth=1,
  backgroundBlur=20,
  shadow={color:'#000',x:0,y:8,blur:32,spread:0,opacity:0.4}
create_textB
Create a text node with full typography control.

fontStyle: 'Regular'|'Medium'|'SemiBold'|'Bold'|'ExtraBold'|'Light'
fontSize: 10-14 captions, 16-20 body, 24-48 headings, 56-96 hero
letterSpacing: 1-4 for uppercase labels
create_ellipseB
Create a circle or ellipse. Equal width/height = perfect circle.

Arc / Donut / Pie segment support:
  arcStartAngle   float  degrees, 0=top(12 o'clock), clockwise. Default 0.
  arcEndAngle     float  degrees, 0=top(12 o'clock), clockwise. Default 360.
  arcInnerRadius  float  0=full pie, 0.5-0.8=donut ring thickness.

── Multi-color donut ring recipe ──────────────────────────────────────────
Stack three overlapping ellipses with different arcStart/End and stroke colors:
  Green arc:  arcStartAngle=0,   arcEndAngle=120, arcInnerRadius=0.7, stroke='#10B981'
  Orange arc: arcStartAngle=120, arcEndAngle=220, arcInnerRadius=0.7, stroke='#F59E0B'
  Purple arc: arcStartAngle=220, arcEndAngle=360, arcInnerRadius=0.7, stroke='#7C3AED'
create_lineC

Create a horizontal divider line.

create_vectorA
Create a vector node from an SVG path string. This is the ONLY way to draw
curves, waves, bezier shapes, custom icons, or area charts in Figma.

pathData: SVG path commands (M, L, C, Q, A, Z, etc.)

── Wave / area chart recipe ───────────────────────────────────────────────
Closed path (ends with Z) gets fill — use for area-under-curve charts:
  pathData = "M 0,120 C 40,60 80,140 130,80 C 180,20 230,100 290,50
              L 290,160 L 0,160 Z"
  gradient = {"angle":180, "stops":[
    {"color":"#8B5CF6","position":0,"opacity":0.9},
    {"color":"#1C1E2A","position":1,"opacity":0}
  ]}
  shadow = {"color":"#7C3AED","x":0,"y":0,"blur":24,"spread":0,"opacity":0.7}

Open path (no Z) with noFill=True + stroke — use for line charts:
  pathData = "M 0,80 C 50,20 100,120 150,60 C 200,10 250,80 300,40"
  noFill = True
  stroke = "#8B5CF6"
  strokeWidth = 3

── Custom icon / shape ────────────────────────────────────────────────────
Any SVG path from Figma's pen tool or icon libraries works directly.

windingRule: 'NONZERO' (default) | 'EVENODD'
batch_createA
Create MULTIPLE Figma elements in a SINGLE round-trip.
THIS IS THE PRIMARY TOOL — use it for ALL designs.

════════════════════════════════════════════════════════════
KEY CAPABILITY: supports NESTED CHILDREN inside frames.
This lets you build full component trees in one call:

  {
    "type": "frame", "name": "Card", "x":100,"y":100,"width":320,"height":200,
    "fill":"#1E1E2E", "cornerRadius":16,
    "children": [
      {"type":"rectangle","x":0,"y":0,"width":320,"height":4,"fill":"#7C3AED"},
      {"type":"text","content":"Hello","x":16,"y":20,"fontSize":18,"color":"#FFFFFF"},
      {"type":"ellipse","x":270,"y":12,"width":40,"height":40,"fill":"#3B82F6"}
    ]
  }

Children x/y are RELATIVE to their parent frame.
Nesting works to any depth.
════════════════════════════════════════════════════════════

── SCREENSHOT → FIGMA WORKFLOW ────────────────────────────────────────────
Share any screenshot or describe any UI. The AI will:
  1. Analyze the layout, colors, typography, spacing
  2. Generate a complete `elements` array representing the design
  3. Fire ONE batch_create call → complete Figma reproduction

── Supported types ────────────────────────────────────────────────────────
  "frame"      container / artboard (supports children)
  "rectangle"  box, card, button, divider, progress bar
  "ellipse"    circle, avatar, badge dot, arc/donut ring segment
  "vector"     ANY curved/custom shape via SVG path string (waves, icons, charts)
  "text"       any text content
  "line"       horizontal separator

── Shape properties ───────────────────────────────────────────────────────
  fill / hexColor  hex    solid fill color e.g. "#1A1D2E"
  fillOpacity      0–1    fill alpha (0.05–0.15 for glass)
  noFill           bool   transparent fill (for stroke-only rings)
  gradient         dict   {angle:0-360, stops:[{color,position,opacity}]}
  cornerRadius     int    rounded corners px (frame/rect only)
  stroke           hex    border color
  strokeWidth      int    border px
  strokeOpacity    0–1    border alpha (0.1–0.25 for glass)
  opacity          0–1    node opacity
  name             str    layer name

── Ellipse arc properties (for donut/pie segments) ────────────────────────
  arcStartAngle   float  degrees, 0=top(12 o'clock), clockwise
  arcEndAngle     float  degrees, 0=top(12 o'clock), clockwise
  arcInnerRadius  float  0=full pie, 0.5–0.8=donut ring

── Vector / SVG path properties ───────────────────────────────────────────
  pathData        str    SVG path string (M,L,C,Q,A,Z commands)
  windingRule     str    'NONZERO' (default) | 'EVENODD'

── Effects ────────────────────────────────────────────────────────────────
  shadow         {color,x,y,blur,spread,opacity}
  innerShadow    {color,x,y,blur,spread,opacity}
  blur           float   layer blur radius
  backgroundBlur float   frosted glass (use with fillOpacity < 1)

── Text properties ────────────────────────────────────────────────────────
  content / text   str   text characters
  color / hexColor hex   text fill color
  fontSize         int   10–14 caption, 16–20 body, 24–48 heading, 56+ hero
  fontStyle        str   Regular|Medium|SemiBold|Bold|ExtraBold|Light|Italic
  textAlign        str   left|center|right
  letterSpacing    float px spacing (1–4 for uppercase labels)
  lineHeight       float px line height

── Glassmorphism recipe ──────────────────────────────────────────────────
{
  "type":"rectangle",
  "fill":"#FFFFFF", "fillOpacity":0.08, "cornerRadius":16,
  "stroke":"#FFFFFF", "strokeOpacity":0.12, "strokeWidth":1,
  "backgroundBlur":20,
  "shadow":{"color":"#000000","x":0,"y":8,"blur":32,"spread":0,"opacity":0.4}
}

── Wave / Area Chart recipe ────────────────────────────────────────────────
{
  "type":"vector",
  "pathData":"M 0,120 C 50,60 90,140 140,80 C 190,20 240,100 290,50 L 290,160 L 0,160 Z",
  "x":0,"y":0,"width":300,"height":160,
  "gradient":{"angle":180,"stops":[{"color":"#8B5CF6","position":0,"opacity":0.9},{"color":"#1C1E2A","position":1,"opacity":0}]},
  "shadow":{"color":"#7C3AED","x":0,"y":0,"blur":24,"spread":0,"opacity":0.7}
}

── Multi-color Donut Ring recipe ───────────────────────────────────────────
Stack three ellipses at the same x/y with different arc angles and stroke colors:
{"type":"ellipse","x":50,"y":250,"width":160,"height":160,"noFill":true,
 "stroke":"#10B981","strokeWidth":16,"arcStartAngle":0,"arcEndAngle":120,"arcInnerRadius":0.68}
{"type":"ellipse","x":50,"y":250,"width":160,"height":160,"noFill":true,
 "stroke":"#F59E0B","strokeWidth":16,"arcStartAngle":130,"arcEndAngle":230,"arcInnerRadius":0.68}
{"type":"ellipse","x":50,"y":250,"width":160,"height":160,"noFill":true,
 "stroke":"#7C3AED","strokeWidth":16,"arcStartAngle":240,"arcEndAngle":350,"arcInnerRadius":0.68}

Returns: {success:bool, nodeIds:[...], count:int, errors:[...]}

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/dynstat/figma-dash-mcp'

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