Allows AI assistants to interact with Figma designs through a WebSocket connection, enabling reading document data, analyzing designs, exporting nodes as images, working with components, and viewing annotations and prototype connections.
Used for data validation throughout the server, ensuring proper parameter validation and type checking for all tool operations.
Integrated for comprehensive testing of the server functionality with 41 tests available to verify proper operation.
Supported as one of the export formats when exporting Figma nodes as images through the export_node_as_image tool.
Figma MCP Server (Python)
Figma Model Context Protocol (MCP) server, реализованный на Python с использованием FastMCP. Этот сервер позволяет AI ассистентам взаимодействовать с Figma через WebSocket соединение для чтения данных и анализа дизайнов.
🎯 Возможности
- 📖 Чтение данных: Получение информации о документах, узлах, компонентах и стилях
- 🔍 Поиск и анализ: Сканирование узлов по типам, поиск текстового контента
- 📤 Экспорт: Экспорт узлов как изображений в различных форматах
- 📋 Аннотации: Просмотр аннотаций в документах
- 🧩 Компоненты: Работа с компонентами и их экземплярами
- 🔗 Прототипирование: Получение информации о реакциях и связях
🚫 Ограничения
Для безопасности этот сервер НЕ поддерживает:
- Создание новых элементов
- Изменение стилей, цветов или текста (инструменты
set_*
) - Операции изменения узлов (перемещение, изменение размера, удаление, клонирование)
📋 Доступные инструменты (14 шт.)
🔗 Подключение
join_channel
- Присоеди��иться к каналу для связи с Figma
📖 Получение информации
get_document_info
- Получить информацию о текущем документе Figmaget_selection
- Получить информацию о текущем выделенииread_my_design
- Получить детальную информацию о выделении включая все детали узловget_node_info
- Получить информацию о конкретном узле по IDget_nodes_info
- Получить информацию о нескольких узлахget_styles
- Получить все стили из документаget_local_components
- Получить все локальные компоненты
🧩 Компоненты
get_instance_overrides
- Получить переопределения экземпляра компонента
🔍 Поиск и сканирование
scan_text_nodes
- Сканировать текстовые узлы внутри заданного узлаscan_nodes_by_types
- Сканировать узлы определенных типов (TEXT, RECTANGLE, FRAME)
📤 Экспорт
export_node_as_image
- Экспортировать узел как изображение (PNG, JPG, SVG, PDF)
📋 Аннотации
get_annotations
- Получить аннотации для узла или всего документа
🔗 Прототипирование
get_reactions
- Получить реакции (интерактивные связи) для узлов
🏗️ Архитектура
- MCP Server - Предоставляет инструменты для AI
- WebSocket Server - Координирует соединения и каналы
- Figma Plugin - Выполняет команды в Figma
🚀 Быстрый старт
1. Установка зависимостей
2. Запуск WebSocket сервера
3. Запуск в Figma
- Откройте Figma Desktop
- Перейдите в Plugins → Development → Import plugin from manifest...
- Выберите
src/cursor_mcp_plugin/manifest.json
- Запустите плагин "Cursor MCP Plugin"
- Подключитесь к серверу на порту 3055
- Запомните Channel ID (например:
abc123xyz
)
4. Запуск MCP сервера
5. Подключение к каналу
Используйте инструмент join_channel
с полученным Channel ID:
🛠️ Примеры использования
Получение информации о документе
Получение информации о узле
Поиск текстовых узлов
Экспорт как изображение
🔧 Конфигурация
WebSocket Server
- Порт: 3055 (по умолчанию)
- Host: localhost
- Debug режим:
--debug
MCP Server
- Server URL: localhost:3055 (по умолчанию)
- Протокол: MCP 2024-11-05
- Transport: stdio
📁 Структура проекта
🧪 Тестирование
Запуск всех тестов:
Тестирование подключения:
🔒 Безопасность
- Фильтрация конфиденциальных данных из ответов Figma
- Валидация всех параметров с Pydantic
- Обработка ошибок и таймаутов
- Логирование в stderr для отладки
📦 Зависимости
- fastmcp: 2.4.0 - MCP сервер фреймворк
- websockets: 15.0.1 - WebSocket клиент/сервер
- pydantic: 2.11.5 - Валидация данных
- pytest: 8.3.5 - Тестирование
🐛 Отладка
- Проблемы с подключением: Проверьте статус WebSocket сервера
- Таймауты: Увеличьте timeout в WebSocket клиенте
- Ошибки каналов: Убедитесь, что используете правильный Channel ID
- Логи: Смотрите вывод в stderr для детальной информации
📝 Лицензия
MIT License
🤝 Вклад
- Форкните репозиторий
- Создайте ветку для функции
- Добавьте тесты
- Отправьте pull request
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Python implementation of the Model Context Protocol server that enables AI assistants to interact with Figma through WebSocket connections, allowing them to read, analyze, and export design data.
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that provides access to Figma API functionality, allowing AI assistants like Claude to interact with Figma files, comments, components, and team resources.Last updated -18341
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.Last updated -1Python
- -securityAlicense-qualityA Model Context Protocol server implementation that enables AI assistants to interact with Slack workspaces, allowing them to browse channels, send messages, reply to threads, add reactions, and retrieve user information.Last updated -18JavaScriptApache 2.0
- -securityAlicense-qualityA Model Context Protocol server that integrates Figma design files with AI coding tools like Cursor, Windsurf, and Cline, allowing AI tools to access and understand Figma design data for generating more accurate code.Last updated -1246TypeScriptMIT License