Figma MCP Server with Chunking

Integrations

  • Provides tools for interacting with the Figma API, including file data retrieval, file listing, version history, comment management, component and style retrieval, with memory-efficient chunking and pagination capabilities for handling large Figma files.

Servidor MCP de Figma con fragmentación

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de Figma, con capacidades de fragmentación y paginación que ahorran memoria para manejar archivos grandes de Figma.

Descripción general

Este servidor MCP proporciona una interfaz robusta para la API de Figma con funciones integradas de gestión de memoria. Está diseñado para gestionar archivos Figma de gran tamaño de forma eficiente, dividiendo las operaciones en fragmentos manejables e implementando paginación cuando sea necesario.

Características principales

  • Procesamiento consciente de la memoria con límites configurables
  • Recuperación de datos fragmentados para archivos grandes
  • Soporte de paginación para todas las operaciones de listado
  • Filtrado de tipo de nodo
  • Seguimiento del progreso
  • Tamaños de fragmentos configurables
  • Capacidad de reanudación de operaciones interrumpidas
  • Registro de depuración
  • Compatibilidad con archivos de configuración

Instalación

Instalación mediante herrería

Para instalar Figma MCP Server con Chunking para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @ArchimedesCrypto/figma-mcp-chunked --client claude

Instalación manual

# Clone the repository git clone [repository-url] cd figma-mcp-chunked # Install dependencies npm install # Build the project npm run build

Configuración

Variables de entorno

  • FIGMA_ACCESS_TOKEN : Su token de acceso a la API de Figma

Archivo de configuración

Puede proporcionar configuración a través de un archivo JSON usando el indicador --config :

{ "mcpServers": { "figma": { "env": { "FIGMA_ACCESS_TOKEN": "your-access-token" } } } }

Uso:

node build/index.js --config=path/to/config.json

Herramientas

obtener_datos_del_archivo (Nuevo)

Recupera datos de archivos de Figma con fragmentación y paginación que ahorran memoria.

{ "name": "get_file_data", "arguments": { "fileKey": "your-file-key", "accessToken": "your-access-token", "pageSize": 100, // Optional: nodes per chunk "maxMemoryMB": 512, // Optional: memory limit "nodeTypes": ["FRAME", "COMPONENT"], // Optional: filter by type "cursor": "next-page-token", // Optional: resume from last position "depth": 2 // Optional: traversal depth } }

Respuesta:

{ "nodes": [...], "memoryUsage": 256.5, "nextCursor": "next-page-token", "hasMore": true }

lista_archivos

Enumera archivos con soporte de paginación.

{ "name": "list_files", "arguments": { "project_id": "optional-project-id", "team_id": "optional-team-id" } }

obtener_versiones_de_archivo

Recupera el historial de versiones en fragmentos.

{ "name": "get_file_versions", "arguments": { "file_key": "your-file-key" } }

obtener_comentarios_del_archivo

Recupera comentarios con paginación.

{ "name": "get_file_comments", "arguments": { "file_key": "your-file-key" } }

obtener_información_del_archivo

Recupera información de archivo con recorrido de nodo fragmentado.

{ "name": "get_file_info", "arguments": { "file_key": "your-file-key", "depth": 2, // Optional: traversal depth "node_id": "specific-node-id" // Optional: start from specific node } }

obtener_componentes

Recupera componentes con soporte de fragmentación.

{ "name": "get_components", "arguments": { "file_key": "your-file-key" } }

obtener_estilos

Recupera estilos con soporte de fragmentación.

{ "name": "get_styles", "arguments": { "file_key": "your-file-key" } }

obtener_nodos_de_archivo

Recupera nodos específicos con soporte de fragmentación.

{ "name": "get_file_nodes", "arguments": { "file_key": "your-file-key", "ids": ["node-id-1", "node-id-2"] } }

Gestión de la memoria

El servidor implementa varias estrategias para administrar la memoria de manera eficiente:

Estrategia de fragmentación

  • Tamaños de fragmentos configurables a través de pageSize
  • Monitoreo del uso de memoria
  • Ajuste automático del tamaño de los fragmentos según la presión de la memoria
  • Seguimiento del progreso por fragmento
  • Capacidad de reanudar el uso de cursores

Mejores prácticas

  1. Comience con tamaños de fragmentos más pequeños (50-100 nodos) y ajústelos según el rendimiento.
  2. Supervisar el uso de la memoria a través de los metadatos de respuesta
  3. Utilice el filtrado de tipo de nodo cuando sea posible para reducir la carga de datos
  4. Implementar paginación para grandes conjuntos de datos
  5. Utilice la función de reanudación para archivos muy grandes

Opciones de configuración

  • pageSize : Número de nodos por fragmento (predeterminado: 100)
  • maxMemoryMB : Uso máximo de memoria en MB (predeterminado: 512)
  • nodeTypes : Filtra tipos de nodos específicos
  • depth : controla la profundidad transversal para estructuras anidadas

Registro de depuración

El servidor incluye un registro de depuración completo:

// Debug log examples [MCP Debug] Loading config from config.json [MCP Debug] Access token found xxxxxxxx... [MCP Debug] Request { tool: 'get_file_data', arguments: {...} } [MCP Debug] Response size 2.5 MB

Manejo de errores

El servidor proporciona mensajes de error detallados y sugerencias:

// Memory limit error "Response size too large. Try using a smaller depth value or specifying a node_id." // Invalid parameters "Missing required parameters: fileKey and accessToken" // API errors "Figma API error: [detailed message]"

Solución de problemas

Problemas comunes

  1. Errores de memoria
    • Reducir el tamaño del fragmento
    • Utilice el filtrado de tipo de nodo
    • Implementar paginación
    • Especifique valores de profundidad más pequeños
  2. Problemas de rendimiento
    • Monitorizar el uso de la memoria
    • Ajustar el tamaño de los fragmentos
    • Utilice filtros de tipo de nodo adecuados
    • Implementar el almacenamiento en caché para datos a los que se accede con frecuencia
  3. Límites de la API
    • Implementar limitación de velocidad
    • Utilice la paginación
    • Almacenar en caché las respuestas cuando sea posible

Modo de depuración

Habilite el registro de depuración para obtener información detallada:

# Set debug environment variable export DEBUG=true

Contribuyendo

¡Agradecemos sus contribuciones! Lea nuestras normas de contribución y envíe solicitudes de incorporación de cambios a nuestro repositorio.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Un servidor de protocolo de contexto de modelo para interactuar con la API de Figma que maneja archivos grandes de Figma de manera eficiente a través de capacidades de fragmentación y paginación con reconocimiento de memoria.

  1. Overview
    1. Key Features
  2. Installation
    1. Installing via Smithery
    2. Manual Installation
  3. Configuration
    1. Environment Variables
    2. Config File
  4. Tools
    1. get_file_data (New)
    2. list_files
    3. get_file_versions
    4. get_file_comments
    5. get_file_info
    6. get_components
    7. get_styles
    8. get_file_nodes
  5. Memory Management
    1. Chunking Strategy
    2. Best Practices
    3. Configuration Options
  6. Debug Logging
    1. Error Handling
      1. Troubleshooting
        1. Common Issues
        2. Debug Mode
      2. Contributing
        1. License
          ID: jjtcywbz4w