hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Used as the runtime environment for the MCP server, enabling the execution of TypeScript code that powers the Figma integration.
Enables Cursor AI to interact with Figma for reading designs and modifying them programmatically, with tools for creating elements, styling, layout management, and component manipulation.
Cursor Habla con Figma MCP
Este proyecto implementa una integración de Protocolo de Contexto de Modelo (MCP) entre Cursor AI y Figma, lo que permite que Cursor se comunique con Figma para leer diseños y modificarlos programáticamente.
https://github.com/user-attachments/assets/129a14d2-ed73-470f-9a4c-2240b2a4885c
Estructura del proyecto
src/talk_to_figma_mcp/
- Servidor MCP de TypeScript para la integración con Figmasrc/cursor_mcp_plugin/
- Complemento de Figma para comunicarse con Cursorsrc/socket.ts
: servidor WebSocket que facilita la comunicación entre el servidor MCP y el complemento Figma
Empezar
- Instala Bun si aún no lo has hecho:
- Ejecute la instalación, esto también instalará MCP en el proyecto activo de su cursor
- Iniciar el servidor Websocket
- Servidor MCP
- Instalar el complemento Figma
Tutorial rápido en vídeo
Ejemplo de automatización del diseño
Reemplazo de contenido de texto masivo
Gracias a @dusskapark por contribuir con la función de reemplazo de texto masivo. Aquí está el video de demostración .
Configuración e instalación manual
Servidor MCP: Integración con Cursor
Agregue el servidor a su configuración de Cursor MCP en ~/.cursor/mcp.json
:
Servidor WebSocket
Inicie el servidor WebSocket:
Complemento de Figma
- En Figma, vaya a Complementos > Desarrollo > Nuevo complemento
- Seleccione "Vincular complemento existente"
- Seleccione el archivo
src/cursor_mcp_plugin/manifest.json
- El complemento ahora debería estar disponible en sus complementos de desarrollo de Figma
Guía de Windows + WSL
- Instalar bun mediante powershell
- Descomente el nombre de host
0.0.0.0
ensrc/socket.ts
- Iniciar el websocket
Uso
- Iniciar el servidor WebSocket
- Instalar el servidor MCP en Cursor
- Abra Figma y ejecute el complemento Cursor MCP
- Conecte el complemento al servidor WebSocket uniéndose a un canal usando
join_channel
- Utilice el cursor para comunicarse con Figma mediante las herramientas MCP
Herramientas MCP
El servidor MCP proporciona las siguientes herramientas para interactuar con Figma:
Documento y selección
get_document_info
- Obtener información sobre el documento actual de Figmaget_selection
- Obtener información sobre la selección actualread_my_design
- Obtener información detallada del nodo sobre la selección actual sin parámetrosget_node_info
- Obtener información detallada sobre un nodo específicoget_nodes_info
: obtenga información detallada sobre varios nodos proporcionando una matriz de identificaciones de nodos
Anotaciones
get_annotations
- Obtener todas las anotaciones en el documento actual o en un nodo específicoset_annotation
- Crea o actualiza una anotación con soporte para Markdownset_multiple_annotations
- Cree y actualice múltiples anotaciones por lotes de manera eficientescan_nodes_by_types
: busca nodos con tipos específicos (útil para encontrar objetivos de anotación)
Creando elementos
create_rectangle
- Crea un nuevo rectángulo con posición, tamaño y nombre opcionalcreate_frame
- Crea un nuevo marco con posición, tamaño y nombre opcionalcreate_text
- Crea un nuevo nodo de texto con propiedades de fuente personalizables
Modificar el contenido del texto
scan_text_nodes
: Escanea nodos de texto con fragmentación inteligente para diseños grandesset_text_content
- Establece el contenido de texto de un solo nodo de textoset_multiple_text_contents
- Actualiza por lotes varios nodos de texto de manera eficiente
Estilo
set_fill_color
- Establece el color de relleno de un nodo (RGBA)set_stroke_color
: establece el color y el grosor del trazo de un nodoset_corner_radius
: establece el radio de la esquina de un nodo con control opcional por esquina
Diseño y organización
move_node
- Mover un nodo a una nueva posiciónresize_node
- Redimensiona un nodo con nuevas dimensionesdelete_node
- Eliminar un nododelete_multiple_nodes
- Elimina varios nodos a la vez de manera eficienteclone_node
- Crea una copia de un nodo existente con desplazamiento de posición opcional
Componentes y estilos
get_styles
- Obtener información sobre estilos localesget_local_components
- Obtener información sobre los componentes localesget_team_components
- Obtener información sobre los componentes del equipocreate_component_instance
- Crea una instancia de un componente
Exportación y Avanzado
export_node_as_image
: exporta un nodo como imagen (PNG, JPG, SVG o PDF)execute_figma_code
- Ejecuta código JavaScript arbitrario en Figma (úselo con precaución)
Gestión de conexiones
join_channel
- Únete a un canal específico para comunicarte con Figma
Desarrollo
Construyendo el complemento de Figma
- Navegue hasta el directorio de complementos de Figma:Copy
- Editar code.js y ui.html
Mejores prácticas
Al trabajar con Figma MCP:
- Únase siempre a un canal antes de enviar comandos
- Obtenga la descripción general del documento usando
get_document_info
primero - Verifique la selección actual con
get_selection
antes de realizar modificaciones - Utilice herramientas de creación adecuadas según sus necesidades:
create_frame
para contenedorescreate_rectangle
para formas básicascreate_text
para elementos de texto
- Verificar cambios usando
get_node_info
- Utilice instancias de componentes cuando sea posible para mantener la coherencia
- Maneje los errores apropiadamente ya que todos los comandos pueden generar excepciones
- Para diseños grandes:
- Utilice parámetros de fragmentación en
scan_text_nodes
- Monitorear el progreso a través de actualizaciones de WebSocket
- Implementar un manejo de errores adecuado
- Utilice parámetros de fragmentación en
- Para operaciones de texto:
- Utilice operaciones por lotes cuando sea posible
- Considere las relaciones estructurales
- Verificar cambios con exportaciones específicas
- Para convertir anotaciones heredadas:
- Escanee los nodos de texto para identificar marcadores numerados y descripciones
- Utilice
scan_nodes_by_types
para encontrar elementos de la interfaz de usuario a los que hacen referencia las anotaciones - Empareja los marcadores con sus elementos de destino usando ruta, nombre o proximidad
- Clasifique las anotaciones adecuadamente con
get_annotations
- Cree anotaciones nativas con
set_multiple_annotations
en lotes - Verifique que todas las anotaciones estén vinculadas correctamente a sus destinos
- Eliminar nodos de anotación heredados después de una conversión exitosa
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
Tools
Una integración de servidor MCP que permite que Cursor AI se comunique con Figma, lo que permite a los usuarios leer diseños y modificarlos programáticamente a través de comandos de lenguaje natural.
- Project Structure
- Get Started
- Quick Video Tutorial
- Design Automation Example
- Manual Setup and Installation
- Windows + WSL Guide
- Usage
- MCP Tools
- Development
- Best Practices
- License