vkhanhqui/figma-mcp-go

vkhanhqui/figma-mcp-go

от vkhanhqui
Открытый Figma MCP-сервер с полным доступом на чтение и запись через плагин. Не требует API и не имеет лимитов — подходит дизайнерам и разработчикам. Работает с AI-инструментами. Управляйте стилями...

figma-mcp-go

Figma MCP — Free, No Rate Limits vkhanhqui/figma-mcp-go server

npm version MCP Registry License: MIT GitHub stars

Open-source Figma MCP server with full read/write access via plugin — no REST API, no rate limits. Turn text into designs and designs into real code. Works with Cursor, Claude, GitHub Copilot, and any MCP-compatible AI tool.

Highlights

  • No Figma API token required
  • No rate limits — free plan friendly
  • Read and Write live Figma data via plugin bridge — 73 tools total
  • Full design automation — styles, variables, components, prototypes, and content
  • Design strategies included — read_design_strategy, design_strategy, and more prompts built in

Styles, Variables, Components, Prototypes, and Content

https://github.com/user-attachments/assets/eae41471-fc72-4574-8261-4f42c38b8c99

Text to Design, Design to Code

https://github.com/user-attachments/assets/17bda971-0e83-4f18-8758-8ac2b8dcba62


Why this exists

Most Figma MCP servers rely on the Figma REST API.

That sounds fine… until you hit this:

Plan Limit
Starter / View / Collab 6 tool calls/month
Pro / Org (Dev seat) 200 tool calls/day
Enterprise 600 tool calls/day
Инструменты были проиндексированы:
add_pageвнешний мир

Добавляет новую страницу в документ Figma.

Параметры
  • indexnumber

    Position index to insert the page (0 = first). Defaults to last position.

  • namestring

    Name for the new page (default 'Page')

add_variable_modeвнешний мир

Добавляет новый режим в существующую коллекцию переменных (например, Light/Dark, Desktop/Mobile). ВАЖНО — бесплатный тариф Figma разрешает только 1 режим на коллекцию; вызов этого инструмента в аккаунте с бесплатным тарифом вернёт ошибку 'Limited to 1 modes only'. Если возникает эта ошибка, прекратите повторять попытки и переключитесь на обходной путь с префиксом имени: сохраните единственный режим по умолчанию и создавайте переменные с префиксом режима, например 'light/color-bg' и 'dark/color-bg' в той же коллекции. Сообщите пользователю, что встроенные переменные с несколькими режимами требуют платного тарифа Figma (Professional или выше).

Параметры
  • collectionIdstringобязательный

    Variable collection ID

  • modeNamestringобязательный

    Name for the new mode

apply_style_to_nodeвнешний мир

Применяет существующий локальный стиль (заливки, текста, эффекта или сетки) к узлу, связывая узел с этим стилем.

Параметры
  • nodeIdstringобязательный

    Target node ID in colon format e.g. 4029:12345

  • styleIdstringобязательный

    Style ID to apply (from get_styles)

  • targetstring

    For paint styles only — apply to 'fill' (default) or 'stroke'

batch_rename_nodesвнешний мир

Переименовывает несколько узлов с помощью поиска/замены, подстановки регулярных выражений или добавления префикса/суффикса.

Параметры
  • findstring

    String (or regex pattern when useRegex=true) to search for in the node name

  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • prefixstring

    String to prepend to the node name

  • regexFlagsstring

    Regex flags e.g. 'gi' (default 'g'). Only used when useRegex=true.

  • replacestring

    Replacement string. Required when find is provided.

  • suffixstring

    String to append to the node name

  • useRegexboolean

    Treat find as a regular expression (default false)

bind_variable_to_nodeвнешний мир

Привязывает локальную переменную к свойству узла, чтобы свойство управлялось значением переменной. COLOR переменные: используйте fillColor или strokeColor. BOOLEAN переменные: используйте visible. FLOAT переменные: используйте opacity, rotation, width, height, cornerRadius, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius, strokeWeight, itemSpacing, paddingTop, paddingRight, paddingBottom, paddingLeft.

Параметры
  • fieldstringобязательный

    Property to bind: fillColor | strokeColor | visible | opacity | rotation | width | height | cornerRadius | topLeftRadius | topRightRadius | bottomLeftRadius | bottomRightRadius | strokeWeight | itemSpacing | paddingTop | paddingRight | paddingBottom | paddingLeft

  • nodeIdstringобязательный

    Target node ID in colon format e.g. 4029:12345

  • variableIdstringобязательный

    Variable ID to bind (from get_variable_defs)

clone_nodeвнешний мир

Клонирует существующий узел, опционально перемещая его или помещая в новый родительский узел.

Параметры
  • nodeIdstringобязательный

    Source node ID in colon format e.g. '4029:12345'

  • parentIdstring

    Parent node ID for the clone. Defaults to same parent as source.

  • xnumber

    X position of the clone

  • ynumber

    Y position of the clone

create_componentвнешний мир

Преобразует существующий узел FRAME в переиспользуемый COMPONENT. Исходный фрейм заменяется на месте новым компонентом.

Параметры
  • namestring

    Optional name for the component. Defaults to the frame's current name.

  • nodeIdstringобязательный

    FRAME node ID to convert, in colon format e.g. '4029:12345'

create_effect_styleвнешний мир

Создаёт новый локальный стиль эффекта (drop shadow, inner shadow или blur).

Параметры
  • colorstring

    Shadow color as hex e.g. #000000 (default #000000, shadows only)

  • descriptionstring

    Optional style description

  • namestringобязательный

    Style name e.g. 'Shadow/Card'

  • offsetXnumber

    Shadow X offset in pixels (default 0, shadows only)

  • offsetYnumber

    Shadow Y offset in pixels (default 4, shadows only)

  • opacitynumber

    Shadow color opacity 0–1 (default 0.25, shadows only)

  • radiusnumber

    Blur radius in pixels (default 8 for shadows, 4 for blurs)

  • spreadnumber

    Shadow spread in pixels (default 0, shadows only)

  • typestring

    Effect type: DROP_SHADOW (default), INNER_SHADOW, LAYER_BLUR, or BACKGROUND_BLUR

create_ellipseвнешний мир

Создаёт новый эллипс (круг/овал) на текущей странице или внутри родительского узла.

Параметры
  • fillColorstring

    Fill color as hex e.g. #3B82F6

  • heightnumber

    Height in pixels (default 100)

  • namestring

    Ellipse name

  • parentIdstring

    Parent node ID in colon format. Defaults to current page.

  • widthnumber

    Width in pixels (default 100)

  • xnumber

    X position (default 0)

  • ynumber

    Y position (default 0)

create_frameвнешний мир

Создаёт новый фрейм на текущей странице или внутри родительского узла.

Параметры
  • counterAxisAlignItemsstring

    Cross-axis alignment: MIN, CENTER, MAX, or BASELINE

  • counterAxisSizingModestring

    Cross-axis sizing: FIXED or AUTO (hug)

  • counterAxisSpacingnumber

    Gap between wrapped rows/columns (only when layoutWrap is WRAP)

  • fillColorstring

    Fill color as hex e.g. #FFFFFF

  • heightnumber

    Height in pixels (default 100)

  • itemSpacingnumber

    Auto-layout gap between children

  • layoutModestring

    Auto-layout direction: HORIZONTAL, VERTICAL, or NONE

  • layoutWrapstring

    Wrap behaviour: NO_WRAP or WRAP

  • namestring

    Frame name

  • paddingBottomnumber

    Auto-layout bottom padding

  • paddingLeftnumber

    Auto-layout left padding

  • paddingRightnumber

    Auto-layout right padding

  • paddingTopnumber

    Auto-layout top padding

  • parentIdstring

    Parent node ID in colon format. Defaults to current page.

  • primaryAxisAlignItemsstring

    Main-axis alignment: MIN, CENTER, MAX, or SPACE_BETWEEN

  • primaryAxisSizingModestring

    Main-axis sizing: FIXED or AUTO (hug)

  • widthnumber

    Width in pixels (default 100)

  • xnumber

    X position (default 0)

  • ynumber

    Y position (default 0)

create_grid_styleвнешний мир

Создаёт новый локальный стиль сетки макета.

Параметры
  • alignmentstring

    Alignment: STRETCH (default), CENTER, MIN, or MAX (COLUMNS/ROWS only)

  • colorstring

    Grid line color as hex e.g. #FF0000 (GRID only, default #FF0000)

  • countnumber

    Number of columns or rows (COLUMNS/ROWS only, default 12)

  • descriptionstring

    Optional style description

  • gutterSizenumber

    Gutter size in pixels (COLUMNS/ROWS only, default 16)

  • namestringобязательный

    Style name e.g. 'Grid/Desktop'

  • offsetnumber

    Margin/offset in pixels (COLUMNS/ROWS only, default 0)

  • opacitynumber

    Grid line opacity 0–1 (GRID only, default 0.1)

  • patternstring

    Grid pattern: GRID (default), COLUMNS, or ROWS

  • sectionSizenumber

    Grid cell size in pixels (GRID only, default 8)

create_paint_styleвнешний мир

Создаёт новый локальный стиль заливки со сплошным цветом.

Параметры
  • colorstringобязательный

    Fill color as hex e.g. #FF5733

  • descriptionstring

    Optional style description

  • namestringобязательный

    Style name e.g. 'Brand/Primary'

create_rectangleвнешний мир

Создаёт новый прямоугольник на текущей странице или внутри родительского узла.

Параметры
  • cornerRadiusnumber

    Corner radius in pixels

  • fillColorstring

    Fill color as hex e.g. #FF5733

  • heightnumber

    Height in pixels (default 100)

  • namestring

    Rectangle name

  • parentIdstring

    Parent node ID in colon format. Defaults to current page.

  • widthnumber

    Width in pixels (default 100)

  • xnumber

    X position (default 0)

  • ynumber

    Y position (default 0)

create_sectionвнешний мир

Создаёт узел Figma Section на текущей странице. Sections — современный способ организовывать фреймы и группы на странице.

Параметры
  • heightnumber

    Height in pixels

  • namestring

    Section name (default 'Section')

  • widthnumber

    Width in pixels

  • xnumber

    X position (default 0)

  • ynumber

    Y position (default 0)

create_textвнешний мир

Создаёт новый текстовый узел на текущей странице или внутри родительского узла. Шрифт загружается автоматически перед вставкой. Возвращает идентификатор и границы созданного узла. Используйте set_text для обновления содержимого существующего текстового узла.

Параметры
  • fillColorstring

    Text color as hex e.g. #000000 (default black)

  • fontFamilystring

    Font family name e.g. 'Inter', 'Roboto', 'SF Pro Display' (default Inter). Must be a font installed in Figma.

  • fontSizenumber

    Font size in pixels (default 14)

  • fontStylestring

    Font style variant e.g. 'Regular', 'Bold', 'Italic', 'Medium', 'SemiBold' (default Regular). Must match an available style for the chosen fontFamily.

  • namestring

    Node name shown in the layers panel (defaults to the text content)

  • parentIdstring

    Parent node ID in colon format. Defaults to current page.

  • textstringобязательный

    Text content to display

  • xnumber

    X position in pixels (default 0)

  • ynumber

    Y position in pixels (default 0)

create_text_styleвнешний мир

Создаёт новый локальный стиль текста (типографский пресет). Возвращает ID нового стиля. Применяйте его к узлам с помощью apply_style_to_node. Используйте get_styles, чтобы вывести список существующих стилей текста.

Параметры
  • descriptionstring

    Optional human-readable description shown in the Figma style panel

  • fontFamilystring

    Font family name e.g. 'Inter', 'Roboto' (default Inter). Must be installed in Figma.

  • fontSizenumber

    Font size in pixels (default 16)

  • fontStylestring

    Font style variant e.g. 'Regular', 'Bold', 'Medium', 'SemiBold' (default Regular)

  • letterSpacingUnitstring

    Letter spacing unit: PIXELS (default) or PERCENT

  • letterSpacingValuenumber

    Letter spacing value (unit set by letterSpacingUnit)

  • lineHeightUnitstring

    Line height unit: PIXELS (default) or PERCENT

  • lineHeightValuenumber

    Line height value (unit set by lineHeightUnit)

  • namestringобязательный

    Style name — use slash notation to organise into groups e.g. 'Heading/H1', 'Body/Regular'

  • textDecorationstring

    Text decoration: NONE (default), UNDERLINE, or STRIKETHROUGH

create_variableвнешний мир

Создаёт новую переменную (дизайн-токен) внутри существующей коллекции. Возвращает ID новой переменной. Используйте get_variable_defs для поиска ID коллекций, set_variable_value для установки значений по режимам и bind_variable_to_node для применения переменной к свойству узла.

Параметры
  • collectionIdstringобязательный

    ID of the variable collection to add this variable to (from get_variable_defs)

  • namestringобязательный

    Variable name — use slash notation to group e.g. 'Color/Primary', 'Spacing/MD'

  • typestringобязательный

    Variable type: COLOR (hex color), FLOAT (numeric dimension/spacing), STRING (text), or BOOLEAN (true/false toggle)

  • valuestring

    Initial value for the first mode. COLOR: hex e.g. #FF5733. FLOAT: number e.g. 16. STRING: text. BOOLEAN: true or false.

create_variable_collectionвнешний мир

Создаёт новую коллекцию локальных переменных с необязательным начальным именем режима. ПРИМЕЧАНИЕ — бесплатный тариф Figma ограничивает каждую коллекцию одним режимом. Если вам требуется тема Светлая/Тёмная (или любая многомодовая тема), а пользователь находится на бесплатном тарифе, НЕ пытайтесь вызывать add_variable_mode; вместо этого используйте обходной путь с префиксом имени: создайте все переменные в одной коллекции и добавьте к имени каждой переменной префикс с названием режима, например 'light/color-bg' и 'dark/color-bg'. Сообщите пользователю об этом ограничении.

Параметры
  • initialModeNamestring

    Name for the initial mode (default 'Mode 1')

  • namestringобязательный

    Collection name

delete_nodesвнешний мир

Удалить один или несколько узлов. Это действие нельзя отменить через MCP: используйте с осторожностью.

Параметры
  • nodeIdsstring[]обязательный

    Node IDs to delete in colon format e.g. ['4029:12345']

delete_pageвнешний мир

Удаляет страницу из документа Figma. Нельзя удалить единственную оставшуюся страницу.

Параметры
  • pageIdstring

    Page node ID in colon format e.g. '0:2'

  • pageNamestring

    Exact page name to delete (alternative to pageId)

delete_styleвнешний мир

Удалить стиль (заливку, текст, эффект или сетку) по его идентификатору.

Параметры
  • styleIdstringобязательный

    Style ID to delete

delete_variableвнешний мир

Удаляет одну переменную (укажите variableId) или целую коллекцию со всеми её переменными (укажите collectionId). Укажите ровно один из двух - не оба.

Параметры
  • collectionIdstring

    Collection ID to delete (removes all variables in the collection)

  • variableIdstring

    Variable ID to delete

detach_instanceвнешний мир

Открепляет один или несколько экземпляров компонента, преобразуя их в простые фреймы. Связь с основным компонентом разрывается; все визуальные свойства сохраняются.

Параметры
  • nodeIdsstring[]обязательный

    INSTANCE node IDs in colon format e.g. ['4029:12345']

export_frames_to_pdfвнешний мир

Экспортирует несколько фреймов в один многостраничный PDF-файл. Каждый фрейм становится одной страницей по порядку. Идеально подходит для питч-деков, предложений и экспорта слайдов.

Параметры
  • nodeIdsstring[]обязательный

    Ordered list of frame node IDs to export as PDF pages, colon format e.g. '4029:12345'

  • outputPathstringобязательный

    File path to write the PDF to, must end in .pdf (relative to working directory or absolute)

export_tokensвнешний мир

Экспортирует все дизайн-токены (переменные и стили заливки) как JSON или CSS custom properties. Подходит для переноса переменных Figma в вашу кодовую базу.

Параметры
  • formatstring

    Output format: json (default) or css

find_replace_textвнешний мир

Находит и заменяет текстовое содержимое во всех текстовых узлах поддерева. Если nodeId не указан, ищет по всей текущей странице.

Параметры
  • findstringобязательный

    Text string (or regex pattern when useRegex=true) to search for

  • nodeIdstring

    Root node ID to scope the search. Defaults to the entire current page.

  • regexFlagsstring

    Regex flags e.g. 'gi' (default 'g'). Only used when useRegex=true.

  • replacestringобязательный

    Replacement string (use empty string to delete matches)

  • useRegexboolean

    Treat find as a regular expression (default false)

get_annotationsвнешний мир

Получает аннотации dev-mode в текущем документе или в пределах конкретного узла. Возвращает объекты аннотаций с текстом метки, типом измерения и ID аннотированного узла. Опустите nodeId, чтобы получить все аннотации на текущей странице.

Параметры
  • nodeIdstring

    Optional — scope results to annotations on this node and its descendants, colon format e.g. '4029:12345'

get_design_contextвнешний мир

Получить дерево текущего выделения или страницы с ограничением по глубине и эффективным расходом токенов. Используйте это вместо get_document при работе с большими файлами. Поддерживает уровни детализации (minimal/compact/full) и dedupe_components для страниц, перегруженных повторяющимися экземплярами компонентов.

Параметры
  • dedupe_componentsboolean

    When true, INSTANCE nodes are serialized compactly (mainComponentId + componentProperties + overrides array of differing text/nested content) and unique component definitions are collected once in a top-level componentDefs map. Highly token-efficient for screens with many repeated component instances.

  • depthnumber

    How many levels deep to traverse (default 2)

  • detailstring

    Property verbosity: minimal (id/name/type/bounds only), compact (+fills/strokes/opacity), full (everything, default)

get_documentвнешний мир

Получает полное дерево узлов текущей страницы (не весь файл — только активную страницу). Возвращает все узлы рекурсивно и может быть очень большим. Предпочитайте get_design_context для исследования или когда важна эффективность токенов.

Параметры

Без параметров.

get_fontsвнешний мир

Вывести все шрифты, используемые на текущей странице, отсортированные по частоте использования. Полезно для анализа типографики без просмотра всех текстовых узлов.

Параметры

Без параметров.

get_local_componentsвнешний мир

Получить все компоненты, определённые в текущем файле Figma.

Параметры

Без параметров.

get_metadataвнешний мир

Получить метаданные текущего Figma-документа: имя файла, страницы, текущая страница

Параметры

Без параметров.

get_nodeвнешний мир

Получите один узел по ID с полными деталями. Используйте get_nodes_info, чтобы получить несколько узлов за один запрос вместо многократных вызовов этого инструмента. ID узла должен быть в формате с двоеточием, например '4029:12345', никогда не используйте дефисы.

Параметры
  • nodeIdstringобязательный

    Node ID in colon format e.g. '4029:12345'

get_nodes_infoвнешний мир

Получает полные детали для нескольких узлов по ID за один обход. Отдавайте предпочтение этому вместо повторного вызова get_node, когда вам нужно несколько узлов.

Параметры
  • nodeIdsstring[]обязательный

    List of node IDs in colon format e.g. ['4029:12345', '4029:67890']

get_pagesвнешний мир

Вывести список всех страниц документа с их ID и именами. Легковесная альтернатива get_document.

Параметры

Без параметров.

get_reactionsвнешний мир

Получает реакции прототипа, заданные для узла. Возвращает массив объектов реакций, у каждого есть триггер (например, ON_CLICK, ON_HOVER, AFTER_TIMEOUT) и массив actions (перейти к узлу, открыть URL, вернуться назад и т.д.). Используйте set_reactions, чтобы добавить или заменить реакции, remove_reactions — чтобы удалить их.

Параметры
  • nodeIdstringобязательный

    Node ID in colon format e.g. '4029:12345'

get_screenshotвнешний мир

Экспортирует скриншот одного или нескольких узлов в виде данных изображения в кодировке base64 (хранятся в памяти). Используйте save_screenshots, если нужно записать изображения сразу на диск без base64 в ответе.

Параметры
  • formatstring

    Export format: PNG (default), SVG, JPG, or PDF

  • nodeIdsstring[]

    Optional node IDs to export, colon format. If empty, exports current selection.

  • scalenumber

    Export scale for raster formats (default 2)

get_selectionвнешний мир

Получает узлы, выбранные в Figma. Возвращает пустой массив, если ничего не выбрано. Используйте get_design_context или get_node, чтобы получить более подробную информацию о конкретном узле по ID.

Параметры

Без параметров.

get_stylesвнешний мир

Получить все локальные стили в документе (заливка, текст, эффект и сетка). Возвращает ID, имя, тип и свойства каждого стиля. Используйте ID стиля с apply_style_to_node или update_paint_style. Для design tokens (переменных) используйте get_variable_defs.

Параметры

Без параметров.

get_variable_defsвнешний мир

Получить все определения локальных переменных: коллекции, режимы и значения. Переменные - это система дизайн-токенов Figma.

Параметры

Без параметров.

get_viewportвнешний мир

Получает текущее окно просмотра Figma: центр прокрутки, уровень масштабирования и видимые границы.

Параметры

Без параметров.

group_nodesвнешний мир

Группирует два или более узла в ГРУППУ. Все узлы должны иметь одного родителя.

Параметры
  • namestring

    Optional name for the new group

  • nodeIdsstring[]обязательный

    Node IDs to group (minimum 2), in colon format e.g. ['4029:12345', '4029:12346']

import_imageвнешний мир

Импортирует изображение в кодировке base64 в Figma как прямоугольник с заливкой изображением. Используйте get_screenshot для захвата изображений или укажите своё изображение в формате base64 PNG/JPG.

Параметры
  • heightnumber

    Height in pixels (default 200)

  • imageDatastringобязательный

    Base64-encoded image data (PNG or JPG)

  • namestring

    Node name

  • parentIdstring

    Parent node ID in colon format. Defaults to current page.

  • scaleModestring

    Image scale mode: FILL (default), FIT, CROP, or TILE

  • widthnumber

    Width in pixels (default 200)

  • xnumber

    X position (default 0)

  • ynumber

    Y position (default 0)

lock_nodesвнешний мир

Блокирует один или несколько узлов, чтобы предотвратить случайные правки в Figma.

Параметры
  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

move_nodesвнешний мир

Перемещает один или несколько узлов в абсолютную позицию на холсте. Одно и то же значение x/y применяется к каждому узлу независимо (не как относительное смещение от текущей позиции).

Параметры
  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • xnumber

    Target X position

  • ynumber

    Target Y position

navigate_to_pageвнешний мир

Переключить активную страницу Figma. Укажите pageId или pageName.

Параметры
  • pageIdstring

    Page node ID in colon format e.g. '0:1'

  • pageNamestring

    Exact page name to navigate to

remove_reactionsвнешний мир

Удалить прототипные реакции из узла. Опустите индексы, чтобы удалить все реакции. Укажите массив индексов с отсчетом от нуля, чтобы удалить конкретные реакции (сначала используйте get_reactions, чтобы увидеть текущие индексы).

Параметры
  • indicesnumber[]

    Zero-based indices of reactions to remove. Omit or pass [] to remove all.

  • nodeIdstringобязательный

    Node ID in colon format e.g. '4029:12345'

rename_nodeвнешний мир

Переименовывает один узел по ID. Возвращает обновленный узел с новым именем. Используйте batch_rename_nodes, чтобы переименовать несколько узлов сразу или применить шаблоны поиска/замены для многих узлов.

Параметры
  • namestringобязательный

    New name for the node. Figma supports slash-separated path notation e.g. 'Icons/Arrow/Left' to organise nodes in component panels.

  • nodeIdstringобязательный

    Node ID in colon format e.g. '4029:12345'

rename_pageвнешний мир

Переименовать существующую страницу в документе Figma.

Параметры
  • newNamestringобязательный

    New name for the page

  • pageIdstring

    Page node ID in colon format e.g. '0:2'

  • pageNamestring

    Current page name to find (alternative to pageId)

reorder_nodesвнешний мир

Изменяет z-порядок (положение в стеке слоёв) одного или нескольких узлов.

Параметры
  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • orderstringобязательный

    Order operation: bringToFront, sendToBack, bringForward, or sendBackward

reparent_nodesвнешний мир

Перемещает один или более узлов в другой родительский фрейм, группу или раздел.

Параметры
  • nodeIdsstring[]обязательный

    Node IDs to move in colon format e.g. ['4029:12345']

  • parentIdstringобязательный

    Target parent node ID in colon format e.g. '4029:99'

resize_nodesвнешний мир

Изменить размер одного или нескольких узлов. Одна и та же ширина/высота применяется к каждому узлу в списке независимо. Укажите ширину, высоту или обе.

Параметры
  • heightnumber

    New height in pixels

  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • widthnumber

    New width in pixels

rotate_nodesвнешний мир

Поворачивает один или несколько узлов до абсолютного угла в градусах.

Параметры
  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • rotationnumberобязательный

    Rotation angle in degrees (positive = counter-clockwise in Figma)

save_screenshotsвнешний мир

Экспортирует скриншоты для нескольких узлов и записывает их в локальную файловую систему. Возвращает метаданные файла (путь, размер, размеры) — без base64 в ответе. Используйте get_screenshot, когда вам нужны данные изображения в памяти.

Параметры
  • formatstring

    Default export format: PNG (default), SVG, JPG, or PDF

  • itemsobject[]обязательный

    List of {nodeId, outputPath, format?, scale?} objects

  • scalenumber

    Default export scale for raster formats (default 2)

scan_nodes_by_typesвнешний мир

Найти все узлы определённых типов в поддереве, независимо от имени. Используйте search_nodes, когда нужно фильтровать по имени.

Параметры
  • nodeIdstringобязательный

    Root node ID to scan from, colon format e.g. '4029:12345'

  • typesstring[]обязательный

    Node types to find e.g. ['FRAME', 'COMPONENT', 'INSTANCE']

scan_text_nodesвнешний мир

Просканировать все узлы типа TEXT в поддереве и вернуть их содержимое. Сокращение для scan_nodes_by_types с ['TEXT'] - используйте, когда нужно скопировать только текст из компонента или фрейма.

Параметры
  • nodeIdstringобязательный

    Root node ID to scan from, colon format e.g. '4029:12345'

search_nodesвнешний мир

Ищет узлы по подстроке имени и/или типу в пределах поддерева. Используйте этот инструмент, когда знаете (часть) имени узла. Используйте scan_nodes_by_types, если хотите получить все узлы определённого типа независимо от имени.

Параметры
  • limitnumber

    Maximum results to return (default: 50)

  • nodeIdstring

    Scope search to this subtree (default: current page), colon format e.g. '4029:12345'

  • querystringобязательный

    Name substring to match (case-insensitive)

  • typesstring[]

    Filter by Figma node type e.g. ['TEXT', 'FRAME', 'COMPONENT']

set_auto_layoutвнешний мир

Устанавливает или обновляет свойства auto-layout (flex) на существующем фрейме.

Параметры
  • counterAxisAlignItemsstring

    Cross-axis alignment: MIN, CENTER, MAX, or BASELINE

  • counterAxisSizingModestring

    Cross-axis sizing: FIXED or AUTO (hug)

  • counterAxisSpacingnumber

    Gap between wrapped rows/columns (only when layoutWrap is WRAP)

  • itemSpacingnumber

    Gap between children

  • layoutModestring

    Auto-layout direction: HORIZONTAL, VERTICAL, or NONE

  • layoutWrapstring

    Wrap behaviour: NO_WRAP or WRAP

  • nodeIdstringобязательный

    Frame node ID in colon format e.g. '4029:12345'

  • paddingBottomnumber

    Bottom padding

  • paddingLeftnumber

    Left padding

  • paddingRightnumber

    Right padding

  • paddingTopnumber

    Top padding

  • primaryAxisAlignItemsstring

    Main-axis alignment: MIN, CENTER, MAX, or SPACE_BETWEEN

  • primaryAxisSizingModestring

    Main-axis sizing: FIXED or AUTO (hug)

set_blend_modeвнешний мир

Устанавливает режим смешивания для одного или нескольких узлов (например, MULTIPLY, SCREEN, OVERLAY).

Параметры
  • blendModestringобязательный

    Blend mode: NORMAL, MULTIPLY, SCREEN, OVERLAY, DARKEN, LIGHTEN, COLOR_DODGE, COLOR_BURN, HARD_LIGHT, SOFT_LIGHT, DIFFERENCE, EXCLUSION, HUE, SATURATION, COLOR, LUMINOSITY, PASS_THROUGH

  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

set_constraintsвнешний мир

Устанавливает ограничения макета (поведение прикрепления) для одного или нескольких узлов относительно их родителя.

Параметры
  • horizontalstring

    Horizontal constraint: MIN (left), MAX (right), CENTER, STRETCH, or SCALE

  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • verticalstring

    Vertical constraint: MIN (top), MAX (bottom), CENTER, STRETCH, or SCALE

set_corner_radiusвнешний мир

Устанавливает радиус скругления для одного или нескольких узлов. Можно задать единый cornerRadius или отдельные значения для каждого угла.

Параметры
  • bottomLeftRadiusnumber

    Bottom-left corner radius

  • bottomRightRadiusnumber

    Bottom-right corner radius

  • cornerRadiusnumber

    Uniform corner radius applied to all corners

  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • topLeftRadiusnumber

    Top-left corner radius

  • topRightRadiusnumber

    Top-right corner radius

set_effectsвнешний мир

Применяет один или несколько эффектов (drop shadow, inner shadow, layer blur, background blur) непосредственно к узлу. Заменяет все существующие эффекты. Передайте пустой массив, чтобы очистить все эффекты.

Параметры
  • effectsobject[]обязательный

    Array of effect objects. Each has: type (DROP_SHADOW | INNER_SHADOW | LAYER_BLUR | BACKGROUND_BLUR), radius, color (hex, shadows only), opacity (0–1, shadows only), offsetX, offsetY (shadows only), spread (shadows only), visible (default true)

  • nodeIdstringобязательный

    Target node ID in colon format e.g. 4029:12345

set_fillsвнешний мир

Устанавливает цвет заливки на одном узле (принимает один nodeId, не массив). Используйте mode='append', чтобы добавить новую заливку поверх существующих, а не заменять их.

Параметры
  • colorstringобязательный

    Fill color as hex: #RRGGBB e.g. #FF5733 or #RRGGBBAA e.g. #FF573380 for 50% alpha

  • modestring

    'replace' (default) overwrites all existing fills; 'append' stacks this fill on top of existing ones

  • nodeIdstringобязательный

    Node ID in colon format e.g. '4029:12345'

  • opacitynumber

    Fill opacity 0–1 (default 1). Combines multiplicatively with any alpha in the color hex.

set_opacityвнешний мир

Устанавливает прозрачность одного или нескольких узлов (0 = полностью прозрачный, 1 = полностью непрозрачный).

Параметры
  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • opacitynumberобязательный

    Opacity value between 0 and 1

set_reactionsвнешний мир

Устанавливает реакции прототипа на узле. Используйте режим "replace" (по умолчанию), чтобы перезаписать все реакции, или "append", чтобы добавить к существующим. Поддерживаемые триггеры: ON_CLICK, ON_HOVER, ON_PRESS, ON_DRAG, AFTER_TIMEOUT, MOUSE_ENTER, MOUSE_LEAVE, MOUSE_UP, MOUSE_DOWN Поддерживаемые типы действий: NODE (навигация), BACK, CLOSE, URL Значения навигации NODE: NAVIGATE, OVERLAY, SCROLL_TO, SWAP, CHANGE_TO Типы переходов: DISSOLVE, SMART_ANIMATE, MOVE_IN, MOVE_OUT, PUSH, SLIDE_IN, SLIDE_OUT DISSOLVE / SMART_ANIMATE: {"type":"DISSOLVE","duration":0.3,"easing":{"type":"EASE_OUT"}} Направленные (PUSH, MOVE_IN, MOVE_OUT, SLIDE_IN, SLIDE_OUT): также требуют "direction" (LEFT|RIGHT|TOP|BOTTOM) и "matchLayers" (bool): {"type":"PUSH","direction":"LEFT","matchLayers":false,"duration":0.3,"easing":{"type":"EASE_OUT"}} Каждая реакция имеет "trigger" и массив "actions" (множественное число). Каждое действие в массиве — это объект Action. Пример — on-click навигация с DISSOLVE: {"nodeId":"1:2","reactions":[{"trigger":{"type":"ON_CLICK"},"actions":[{"type":"NODE","destinationId":"1:3","navigation":"NAVIGATE","transition":{"type":"DISSOLVE","duration":0.3,"easing":{"type":"EASE_OUT"}},"preserveScrollPosition":false}]}]} Пример — on-click навигация с PUSH (направленный переход): {"nodeId":"1:2","reactions":[{"trigger":{"type":"ON_CLICK"},"actions":[{"type":"NODE","destinationId":"1:3","navigation":"NAVIGATE","transition":{"type":"PUSH","direction":"LEFT","matchLayers":false,"duration":0.3,"easing":{"type":"EASE_OUT"}},"preserveScrollPosition":false}]}]} Пример — открытие URL при наведении: {"nodeId":"1:2","reactions":[{"trigger":{"type":"ON_HOVER"},"actions":[{"type":"URL","url":"https://example.com"}]}]} Пример — автоматический переход через 3…

Параметры
  • modestring

    "replace" (default) overwrites all existing reactions; "append" adds to them

  • nodeIdstringобязательный

    Node ID in colon format e.g. '4029:12345'

  • reactionsobject[]обязательный

    Array of reaction objects. Each has a 'trigger' and an 'actions' array (plural) of Action objects.

set_strokesвнешний мир

Задаёт цвет и толщину обводки для одного узла (принимает один nodeId, не массив). Используйте mode='append', чтобы добавить новую обводку поверх существующих, а не заменять их.

Параметры
  • colorstringобязательный

    Stroke color as hex e.g. #000000

  • modestring

    'replace' (default) overwrites all strokes; 'append' stacks on top of existing strokes

  • nodeIdstringобязательный

    Node ID in colon format e.g. '4029:12345'

  • strokeWeightnumber

    Stroke weight in pixels (default 1)

set_textвнешний мир

Обновить текстовое содержимое существующего TEXT-узла.

Параметры
  • nodeIdstringобязательный

    TEXT node ID in colon format e.g. '4029:12345'

  • textstringобязательный

    New text content

set_variable_valueвнешний мир

Устанавливает значение переменной для конкретного режима.

Параметры
  • modeIdstringобязательный

    Mode ID within the collection

  • valuestringобязательный

    Value to set. COLOR: hex e.g. #FF5733. FLOAT: number e.g. 16. STRING: text. BOOLEAN: true or false.

  • variableIdstringобязательный

    Variable ID

set_visibleвнешний мир

Показывает или скрывает один или несколько узлов, управляя их видимостью.

Параметры
  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

  • visiblebooleanобязательный

    true to show the node, false to hide it

swap_componentвнешний мир

Заменить основной компонент существующего узла INSTANCE на другой компонент, сохраняя положение и размер.

Параметры
  • componentIdstringобязательный

    Target COMPONENT node ID in colon format (from get_local_components)

  • nodeIdstringобязательный

    INSTANCE node ID in colon format e.g. 4029:12345

ungroup_nodesвнешний мир

Разгруппировывает один или несколько узлов GROUP, перемещая их дочерние элементы в родительский узел и удаляя группу.

Параметры
  • nodeIdsstring[]обязательный

    GROUP node IDs in colon format e.g. ['4029:12345']

unlock_nodesвнешний мир

Разблокирует один или несколько узлов, позволяя редактировать их снова.

Параметры
  • nodeIdsstring[]обязательный

    Node IDs in colon format e.g. ['4029:12345']

update_paint_styleвнешний мир

Обновляет имя, цвет или описание существующего стиля заливки. Только стили заливки поддерживают обновление на месте. Для изменения стилей текста, эффектов или сетки используйте delete_style и создавайте их заново.

Параметры
  • colorstring

    New fill color as hex e.g. #FF5733

  • descriptionstring

    New style description

  • namestring

    New style name

  • styleIdstringобязательный

    Paint style ID

Похожие MCP-сервера

GLips/Figma-Context-MCP

GLips/Figma-Context-MCP

Framelink MCP для Figma даёт AI-ассистентам вроде Cursor доступ к макетам из Figma. Сервер упрощает данные дизайна, передавая только релевантную информацию о расположении и стилях — так модель точн...

TypeScript15834
mhmzdev/Figma-Flutter-MCP

mhmzdev/Figma-Flutter-MCP

Figma to Flutter MCP Server извлекает дизайн-данные из Figma (компоненты, стили, макеты) и передает их в AI-агент для генерации Flutter-кода. Ускоряет реализацию интерфейсов, работает в Cursor и др...

TypeScript244
musepy/genable

musepy/genable

Genable — MCP сервер, превращающий текстовый запрос в редактируемые слои Figma: авто-макет, переменные цветов и шрифтов, светлая и темная темы. Полезен дизайнерам и разработчикам для агентных инструментов (Claude Code, Cursor). Совместим с Gemini, Claude, OpenAI.

Astro1
kenneives/design-token-bridge-mcp

kenneives/design-token-bridge-mcp

MCP сервер для трансляции дизайн-токенов: извлекает из Tailwind, CSS, Figma или W3C DTCG и генерирует темы под Kotlin, SwiftUI, Tailwind и CSS-переменные. Полезен разработчикам и дизайнерам в пайплайне v0 → Figma → Claude Code.

TypeScript5
themesberg/flowbite-mcp

themesberg/flowbite-mcp

MCP сервер для работы с компонентами Flowbite на Tailwind CSS. Даёт доступ к 60+ UI-элементам, умеет генерировать тему по hex-цвету и превращать Figma-макет в код. Помогает разработчикам быстрее создавать интерфейсы.

JavaScript41
GenWaveLLC/svgmaker-mcp

GenWaveLLC/svgmaker-mcp

SVGMaker MCP сервер на базе ИИ: генерирует, редактирует и конвертирует SVG по текстовому описанию. Подходит дизайнерам и разработчикам: создавайте векторную графику, редактируйте естественным языко...

TypeScript87
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин