
Figma
STDIOPython-based Figma MCP server for reading and analyzing design data via WebSocket
Python-based Figma MCP server for reading and analyzing design data via WebSocket
Figma Model Context Protocol (MCP) server, реализованный на Python с использованием FastMCP. Этот сервер позволяет AI ассистентам взаимодействовать с Figma через WebSocket соединение для чтения данных и анализа дизайнов.
Для безопасности этот сервер НЕ поддерживает:
set_*
)join_channel
- Присоединиться к каналу для связи с Figmaget_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
- Получить реакции (интерактивные связи) для узловAI Client (Cursor) ←→ MCP Server ←→ WebSocket Server ←→ Figma Plugin
cd python-version python -m venv venv source venv/bin/activate # Linux/Mac # или venv\Scripts\activate # Windows pip install -r requirements.txt
python websocket_proxy.py --port 3055 --debug
src/cursor_mcp_plugin/manifest.json
abc123xyz
)python -m src.figma_mcp.server --server localhost:3055
Используйте инструмент join_channel
с полученным Channel ID:
{ "tool": "join_channel", "arguments": { "channel": "abc123xyz" } }
{ "tool": "get_document_info", "arguments": {} }
{ "tool": "get_node_info", "arguments": { "node_id": "4472:98013" } }
{ "tool": "scan_text_nodes", "arguments": { "node_id": "4472:98012", "use_chunking": true, "chunk_size": 50 } }
{ "tool": "export_node_as_image", "arguments": { "node_id": "4472:98013", "format": "PNG", "scale": 2.0 } }
--debug
python-version/
├── src/figma_mcp/
│ ├── __init__.py
│ ├── server.py # Главный MCP сервер
│ ├── websocket_client.py # WebSocket клиент
│ ├── types.py # Типы Pydantic
│ └── utils.py # Утилиты
├── tests/ # Тесты (41 тест)
├── websocket_proxy.py # WebSocket сервер
├── requirements.txt # Зависимости
└── README.md # Документация
Запуск всех тестов:
python -m pytest tests/ -v
Тестирование подключения:
python test_mcp.py
MIT License