Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Figma Motion

FreeNot checked

Enables Claude to programmatically create and modify Figma animations (keyframes and motion styles) using the Figma Motion API via a plugin bridge.

GitHubEmbed

About

Enables Claude to programmatically create and modify Figma animations (keyframes and motion styles) using the Figma Motion API via a plugin bridge.

README

Claude Code → MCP → our Figma plugin → Figma Plugin API. Authors Figma Motion (keyframes / animation styles) programmatically from a prompt. No Figma agent, no use_figma.

Claude Code ──stdio(JSON-RPC)── MCP server ──ws://localhost:3055── plugin ui.html ──postMessage── plugin main thread ── figma.* (Motion API, Beta)

The MCP server process also hosts the WebSocket bridge, so there is no separate relay.

What it can do

MCP tool Plugin command Purpose
get_selection get_selection selected node id/name/type
probe probe confirm Motion (Beta) API is exposed in your build
read_motion read_motion current timelines / animated props / tracks / styles
list_motion_templates (server local) built-in code templates
apply_motion_template apply_tracks resolve template+params → apply keyframe tracks
apply_keyframes apply_tracks raw keyframe tracks
set_timeline_duration set_timeline_duration timeline length (s)
remove_motion remove_motion delete tracks and/or applied styles
list_figma_animation_styles list_animation_styles native preset styles
apply_animation_style apply_animation_style apply a native preset

Create / modify / delete are all covered. Template resolution runs server-side — the plugin only ever receives concrete tracks, so it stays dumb and templates are versioned here.

Setup (teammates: one command)

The folder is self-contained (no monorepo deps). Hand someone this folder, they run:

cd figma-motion-mcp
./setup.sh

setup.sh does npm install, resolves your absolute node path (nvm-safe), and registers the MCP server figma-motion at local scope (this project only, not committed — so each teammate registers their own; no shared/hardcoded paths). It prints the remaining manual steps.

Manual equivalent (if you prefer / no claude CLI)

npm install
claude mcp add figma-motion -- "$(command -v node)" "$(pwd)/server/mcp-server.js"
claude mcp get figma-motion   # verify

nvm users: the absolute node path matters — the MCP subprocess won't inherit your shell PATH. setup.sh / the $(command -v node) form handles this automatically.

Then: run the plugin in Figma

Figma desktop → Plugins → Development → Import plugin from manifest… → pick figma-motion-mcp/plugin/manifest.json. Open a NEW Claude session (it auto-starts the server + WS bridge); the panel should turn green "Connected — bridge ready".

First run — runtime probe (do this once)

Typings (@figma/[email protected]) confirm the Motion API contract, but it is Beta and gated per build/seat. Before relying on it:

  1. In Figma, select any node, then run the plugin.
  2. In Claude: "run probe".
  3. Confirm applyManualKeyframeTrack: "function" and figma.motion is non-null.
  4. animatedProperties shows the real field names for your build — if any template name mismatches, fix it in server/templates.js.

If applyManualKeyframeTrack is "undefined", Motion is not enabled in your Figma build yet.

Example flow

1) Select a frame/layer in Figma.
2) "get_selection"                                  → nodeId
3) "apply fadeInUp to <nodeId>, duration 0.5"       → apply_motion_template
4) "read_motion <nodeId>"                            → timelines / animatedProperties
5) "nudge TRANSLATION_Y keyframe to 32→0"            → apply_keyframes
6) "remove OPACITY motion from <nodeId>"             → remove_motion

Notes / limits

  • Motion API is Beta — signatures may change. Write calls are wrapped; typings pinned to 1.130.0.
  • No native style publishing (apply-only). Reuse lives in server/templates.js.
  • Single-client MVP — newest plugin connection wins.
  • No SCALE field — use SCALE_XY (corrected vs the original draft spec).
  • stdout is JSON-RPC only — all server logs go to stderr.
  • Override the bridge port with FIGMA_MOTION_WS_PORT (default 3055; update ui.html URL to match).

from github.com/seongwoo-choi-imweb-me/figma-motion-mcp

Installing Figma Motion

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/seongwoo-choi-imweb-me/figma-motion-mcp

FAQ

Is Figma Motion MCP free?

Yes, Figma Motion MCP is free — one-click install via Unyly at no cost.

Does Figma Motion need an API key?

No, Figma Motion runs without API keys or environment variables.

Is Figma Motion hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Figma Motion in Claude Desktop, Claude Code or Cursor?

Open Figma Motion on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

LibreOffice Tools

Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a

passerbyflutterby passerbyflutter

dannote/figma-use

Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.

dannoteby dannote

Logo.dev

Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content

NOVA-3951by NOVA-3951

Design Inspiration Server

Searches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to re

YonasValentinby YonasValentin

PIX4Dmatic

Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem

jangjo123by jangjo123

Figma

Extract design specs and assets

Figmaby Figma

mcp-dockmaster

An Open-Sourced UI to install and manage MCP servers for Windows, Linux and macOS.

by Community

ariekogan/ateam-mcp

Build, validate, and deploy multi-agent AI solutions on the ADAS platform. Design skills with tools, manage solution lifecycle, and connect from any AI environm

ariekoganby ariekogan

thinkchainai/mcpbundles

MCP Bundles: Create custom bundles of tools and connect providers with OAuth or API keys. Use one MCP server across thousands of integrations, with programmatic

thinkchainaiby thinkchainai

arikusi/nakkas

MCP server that turns AI into an SVG artist. One rendering engine with JSON config, AI controls all design parameters. CSS @keyframes + SMIL animations, 16+ ele

arikusiby arikusi

Compare Figma Motion with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All design MCPs