Курсор Talk to Figma MCP
В этом проекте реализована интеграция протокола контекста модели (MCP) между Cursor AI и Figma, что позволяет Cursor взаимодействовать с Figma для чтения проектов и их программного изменения.
https://github.com/user-attachments/assets/129a14d2-ed73-470f-9a4c-2240b2a4885c
Структура проекта
src/talk_to_figma_mcp/- сервер TypeScript MCP для интеграции с Figmasrc/cursor_mcp_plugin/- плагин Figma для связи с Cursorsrc/socket.ts— сервер WebSocket, который обеспечивает связь между сервером MCP и плагином Figma
Related MCP server: Gravity Global Figma MCP
Начать
Установите Bun, если вы этого еще не сделали:
Запустите установку, это также установит MCP в активный проект вашего курсора.
Запустите сервер Websocket
МСР-сервер
НОВОЕ Установите плагин Figma со страницы сообщества Figma или установите локально
Краткое видеоруководство
Пример автоматизации проектирования
Массовая замена текстового контента
Спасибо @dusskapark за вклад в функцию массовой замены текста. Вот демо-видео .
Распространение переопределения экземпляра Еще один вклад от @dusskapark Распространение переопределений экземпляра компонента из исходного экземпляра в несколько целевых экземпляров с помощью одной команды. Эта функция значительно сокращает повторяющуюся работу по проектированию при работе с экземплярами компонентов, которым требуются схожие настройки. Посмотрите наше демонстрационное видео .
Ручная настройка и установка
MCP Server: интеграция с курсором
Добавьте сервер в конфигурацию Cursor MCP в ~/.cursor/mcp.json :
Сервер WebSocket
Запустите сервер WebSocket:
Плагин Figma
В Figma перейдите в раздел Плагины > Разработка > Новый плагин.
Выберите «Связать существующий плагин».
Выберите файл
src/cursor_mcp_plugin/manifest.jsonПлагин теперь должен быть доступен в плагинах разработки Figma.
Руководство по Windows + WSL
Установить бан через powershell
Раскомментируйте имя хоста
0.0.0.0вsrc/socket.ts
Запустить вебсокет
Использование
Запустите сервер WebSocket
Установить MCP-сервер в Курсоре
Откройте Figma и запустите плагин Cursor MCP.
Подключите плагин к серверу WebSocket, присоединившись к каналу с помощью
join_channelИспользуйте курсор для связи с Figma с помощью инструментов MCP
Инструменты МКП
Сервер MCP предоставляет следующие инструменты для взаимодействия с Figma:
Документ и выбор
get_document_info— Получить информацию о текущем документе Figmaget_selection- Получить информацию о текущем выбореread_my_design- Получить подробную информацию об узле для текущего выбора без параметровget_node_info- Получить подробную информацию о конкретном узлеget_nodes_info— получить подробную информацию о нескольких узлах, указав массив идентификаторов узлов
Аннотации
get_annotations— получить все аннотации в текущем документе или определенном узлеset_annotation— создание или обновление аннотации с поддержкой markdownset_multiple_annotations— эффективное пакетное создание/обновление нескольких аннотацийscan_nodes_by_types— сканирование узлов определенных типов (полезно для поиска целей аннотаций)
Прототипирование и соединения
get_reactions— Получить все реакции прототипа из узлов с визуальной анимацией подсветкиset_default_connector— установить скопированный коннектор FigJam в качестве стиля коннектора по умолчанию для создания подключений (необходимо установить перед созданием подключений)create_connections— создание соединительных линий FigJam между узлами на основе прототипных потоков или пользовательского сопоставления.
Создание элементов
create_rectangle— создать новый прямоугольник с указанием положения, размера и необязательного имениcreate_frame— создать новый фрейм с указанием положения, размера и необязательного имениcreate_text— создание нового текстового узла с настраиваемыми свойствами шрифта.
Изменение текстового содержимого
scan_text_nodes— сканирование текстовых узлов с интеллектуальной разбивкой на фрагменты для больших проектовset_text_content— Установить текстовое содержимое одного текстового узлаset_multiple_text_contents— эффективное пакетное обновление нескольких текстовых узлов
Автоматическая раскладка и интервалы
set_layout_mode— Установить режим макета и поведение обтекания кадра (НЕТ, ГОРИЗОНТАЛЬНЫЙ, ВЕРТИКАЛЬНЫЙ)set_padding— установка значений отступов для рамки автоматической компоновки (сверху, справа, снизу, слева)set_axis_align— установка выравнивания первичной и противоосевой оси для кадров автокомпоновкиset_layout_sizing- Установка режимов горизонтального и вертикального размера для фреймов с автоматической компоновкой (FIXED, HUG, FILL)set_item_spacing— Установить расстояние между дочерними элементами в рамке с автоматической компоновкой
Стайлинг
set_fill_color— Установить цвет заливки узла (RGBA)set_stroke_color— устанавливает цвет и толщину обводки узлаset_corner_radius— установка радиуса угла узла с возможностью управления каждым углом
Макет и организация
move_node— Переместить узел на новую позициюresize_node— Изменить размер узла с новыми размерамиdelete_node— Удалить узелdelete_multiple_nodes— эффективное удаление нескольких узлов одновременноclone_node— создать копию существующего узла с необязательным смещением позиции
Компоненты и стили
get_styles- Получить информацию о локальных стиляхget_local_components— Получить информацию о локальных компонентахcreate_component_instance— Создать экземпляр компонентаget_instance_overrides— извлечение свойств переопределения из выбранного экземпляра компонентаset_instance_overrides— применить извлеченные переопределения к целевым экземплярам
Экспорт и расширенные возможности
export_node_as_image— экспорт узла как изображения (PNG, JPG, SVG или PDF) — ограниченная поддержка изображений, в настоящее время возвращающих base64 как текст
Управление подключением
join_channel— присоединяйтесь к определенному каналу для общения с Figma
Подсказки MCP
Сервер MCP включает в себя несколько вспомогательных подсказок, которые помогут вам справиться со сложными задачами проектирования:
design_strategy— Лучшие практики работы с дизайном Figmaread_design_strategy— Лучшие практики чтения проектов Figmatext_replacement_strategy— Системный подход к замене текста в проектах Figmaannotation_conversion_strategy— Стратегия преобразования ручных аннотаций в собственные аннотации Figmaswap_overrides_instances— Стратегия передачи переопределений между экземплярами компонентов в Figmareaction_to_connector_strategy— стратегия преобразования реакций прототипа Figma в соединительные линии с использованием выходных данных «get_reactions» и руководство использованием «create_connections» в последовательности
Разработка
Создание плагина Figma
Перейдите в каталог плагина Figma:
cd src/cursor_mcp_pluginРедактировать code.js и ui.html
Лучшие практики
При работе с Figma MCP:
Всегда присоединяйтесь к каналу перед отправкой команд.
Сначала получите обзор документа, используя
get_document_infoПроверьте текущий выбор с помощью
get_selectionперед внесением измененийИспользуйте соответствующие инструменты создания в зависимости от потребностей:
create_frameдля контейнеровcreate_rectangleдля базовых фигурcreate_textдля текстовых элементов
Проверьте изменения с помощью
get_node_infoПо возможности используйте экземпляры компонентов для обеспечения согласованности.
Обрабатывайте ошибки соответствующим образом, поскольку все команды могут вызывать исключения.
Для больших дизайнов:
Использовать параметры фрагментации в
scan_text_nodesОтслеживайте прогресс с помощью обновлений WebSocket
Реализуйте соответствующую обработку ошибок
Для текстовых операций:
По возможности используйте пакетные операции.
Рассмотрите структурные отношения
Проверка изменений с помощью целевого экспорта
Для преобразования устаревших аннотаций:
Сканируйте текстовые узлы, чтобы идентифицировать пронумерованные маркеры и описания.
Используйте
scan_nodes_by_typesдля поиска элементов пользовательского интерфейса, на которые ссылаются аннотации.Сопоставьте маркеры с их целевыми элементами, используя путь, имя или близость
Категоризируйте аннотации соответствующим образом с помощью
get_annotationsСоздавайте собственные аннотации с помощью
set_multiple_annotationsв пакетном режимеУбедитесь, что все аннотации правильно связаны со своими целями.
Удалить устаревшие узлы аннотаций после успешного преобразования
Визуализируйте прототипы лапши в виде соединителей FigJam:
Используйте
get_reactionsдля извлечения прототипных потоков,установить соединитель по умолчанию с помощью
set_default_connector,и сгенерируйте соединительные линии с помощью
create_connectionsдля наглядного визуального отображения потока.
Лицензия
Массачусетский технологический институт