Uso de tokens de Figma MCP: por qué es tan alto y cómo reducirlo

La propia documentación de Figma muestra una respuesta de get_design_context de 351.378 tokens frente a un límite de 25.000. Este artículo explica qué infla la salida de Figma MCP, cómo medir cada llamada y siete soluciones, desde get_metadata hasta Code Connect, para que las respuestas sigan siendo pequeñas.

Uso de tokens de Figma MCP: por qué es tan alto y cómo reducirlo
Cristian Da Conceicao
Fundador de Picasso IA

Pegas un enlace de Figma en tu agente de programación, pides una sola tarjeta de precios y la ejecución falla con un error sobre el tamaño de la respuesta. La página de solución de problemas de Figma muestra el mensaje exacto: una respuesta get_design_context de 351.378 tokens frente a un techo de 25.000 tokens. Esa solicitud superó el límite catorce veces. Y aunque una respuesta quepa por poco dentro del límite, sigue ocupando tu ventana de contexto, desplaza las instrucciones anteriores fuera de alcance y vuelve a leerse en cada turno que sigue.

Este artículo explica por qué el servidor MCP de Figma genera tanta salida, cómo ver lo que cuesta cada llamada y siete cambios que reducen las cifras sin empeorar la interfaz generada. Los nombres de las herramientas y los límites proceden de la documentación pública de Figma. Los consejos de flujo de trabajo surgen de lo que ocurre cuando los archivos de diseño grandes se encuentran con ventanas de contexto pequeñas.

Por qué Figma MCP consume tantos tokens

Un enlace, un subárbol completo

Un enlace a un nodo no devuelve un solo rectángulo. get_design_context extrae el contexto de diseño de las capas seleccionadas y lo entrega como código, en React con Tailwind por defecto, aunque hay otros frameworks disponibles. Si seleccionas un marco de página completa, llega con él cada capa anidada: barras de navegación, tarjetas, instancias de iconos, estilos de texto, reglas de auto layout y espaciado.

Una landing page con muchos elementos puede contener miles de nodos, y cada nodo lleva un nombre, un tamaño, rellenos, trazos, relleno interior y ajustes de tipo. Al convertirse en código, todo eso se transforma en listas largas de clases y marcado profundo. Las listas largas de clases se tokenizan mal. Una regla práctica habitual es de unos cuatro caracteres por token para la prosa en inglés, y el código y el marcado densos suelen meter menos caracteres en cada token.

Cuatro factores tienden a inflar la respuesta con más rapidez:

  • Instancias repetidas. Una lista de cuarenta filas puede producir cuarenta bloques de marcado casi idénticos.
  • Flujos completos en un solo marco. Los tableros que contienen varias pantallas una junto a otra devuelven todas ellas.
  • Capas de texto largas. El texto real, los textos legales y las tablas pasan literalmente.
  • Anidamiento profundo. Cada marco contenedor adicional añade un nivel de marcado y sus propios datos de estilo.

Vista cenital de maquetas impresas de interfaces apiladas en capas sobre una mesa de roble, junto a un lápiz y una regla de acero

El código, las capturas y los metadatos suman

Una solicitud de diseño suele activar varias herramientas de lectura, y cada una añade su propia carga. La referencia de herramientas de Figma las enumera:

HerramientaQué devuelveTamaño relativoMejor uso
get_metadataEsquema XML disperso con IDs de capas, nombres, tipos, posiciones y tamañosPequeñoMapear un marco grande antes de pedir nada
get_design_contextEstilo y estructura de la capa como código, en React y Tailwind por defectoGrande, crece con el subárbolConstruir un componente o una sección
get_screenshotPNG de la selección para mantener la fidelidad del diseñoMedio, tokens de imagenComprobación visual del resultado
get_variable_defsVariables y estilos usados en la selección: colores, espaciado, tipografíaPequeño a medioAjustar los tokens de diseño
download_assetsExportaciones en PNG, JPG, SVG o PDF, o las imágenes originalesDepende de los recursosGuardar iconos y fotos como archivos
get_code_connect_mapAsignaciones de ID de nodo a componentes de códigoPequeñoReutilizar componentes que ya tienes en producción

La columna de tamaño describe lo que devuelve cada herramienta en general. Las cifras reales dependen de tu archivo, así que mide antes de fiarte de cualquier etiqueta.

Cada turno vuelve a leer la pila

Los resultados de las herramientas permanecen en la conversación. Supón que una consulta devuelve 40.000 tokens: cada mensaje posterior carga ahora con ese peso. El caché de prompts puede reducir el precio de volver a leerlo, pero los tokens siguen ocupando la ventana, así que desplazan tus archivos fuente, la salida de las pruebas y las instrucciones. Las sesiones largas activan entonces la compactación automática, que resume y elimina detalles que querías conservar.

💡 Comprobación rápida: si el agente se vuelve más lento o olvida instrucciones anteriores justo después de una llamada a Figma, culpa primero a la respuesta sobredimensionada antes que al modelo.

Cómo medir el daño

Consulta el medidor de contexto

La mayoría de los agentes de programación muestran lo llena que está la ventana. En Claude Code, el comando /context lo hace. Revisa el número antes y después de cada llamada a Figma. La diferencia es el costo real de esa llamada, con la captura de pantalla incluida, y es el único número que importa para tu archivo.

Haz una prueba con el mismo marco

Elige un marco real y ejecuta tres llamadas en una sesión nueva, anotando el tamaño del contexto después de cada una:

  1. get_metadata sobre el marco completo.
  2. get_design_context sobre el marco completo.
  3. get_design_context sobre un nodo hijo tomado de los metadatos.

Registra los resultados en una tabla como esta:

LlamadaNodoContexto añadidoNotas
get_metadataMarco completoRellenarSolo esquema
get_design_contextMarco completoRellenarComprobar el error de tamaño
get_design_contextUn hijoRellenarComparar con la fila de arriba

Tras unas cuantas pruebas con marcos tendrás tu propia curva de costos, que supera cualquier cifra de un blog, incluida esta. Mi regla práctica: procura que las consultas sean lo bastante pequeñas como para hacer cinco o seis en una sesión antes de que empiece la compactación. Si una sola consulta se come un tercio de la ventana, el nodo es demasiado grande.

Vista lateral de una báscula postal de latón pesando un grueso montón de páginas impresas, con la aguja pasada de la mitad

7 soluciones para reducir el uso de tokens

Más o menos en orden de cuánto suelen ahorrar.

1. Primero el esquema con get_metadata

Figma recomienda get_metadata para diseños muy grandes porque devuelve un esquema XML disperso, sin estilos adjuntos. Lee el esquema, elige la sección que realmente necesitas y llama a get_design_context solo con el ID de ese nodo.

Run get_metadata on this frame. Do not call get_design_context yet.
List the top level sections with their node IDs and wait for my pick.

Manos de un arquitecto siguiendo el contorno de una planta sobre papel translúcido encima de un plano más grande

2. Selecciona el nodo más pequeño

El servidor trabaja a partir del nodo que seleccionas o enlazas. Enlaza el botón, no la página. Construye una página como lo haría una persona: cabecera, hero, precios y pie, cada uno en su propia solicitud.

  • Buenos objetivos: un componente, una variante, una sección.
  • Malos objetivos: una página completa, un lienzo entero, un marco lleno de capas ocultas.

Ordena también el archivo fuente. Las capas sin usar y los grupos muy anidados pueden añadir nodos que la respuesta tiene que describir, así que una limpieza de diez minutos por parte del diseñador suele amortizarse en la siguiente consulta.

Tijeras de acero recortando un único rectángulo pequeño del tamaño de una tarjeta de un póster impreso enorme

3. Configura Code Connect

La documentación de Figma indica configurar Code Connect para obtener los mejores resultados de reutilización de código. Las asignaciones enlazan un nodo de Figma con un componente real de tu repositorio, mediante get_code_connect_map y add_code_connect_map. En lugar de reconstruir un botón a partir de estilos sin procesar en cada solicitud, el agente puede apuntar al botón que ya tienes en producción. Eso significa menos código generado y menos comentarios en la revisión.

Una diferencia a vigilar: el servidor de escritorio usa las asignaciones que selecciones, mientras que el servidor remoto necesita el parámetro clientFrameworks configurado con una etiqueta concreta, como React o SwiftUI.

Vista desde abajo de un cajón abierto de un fichero de tarjetas de roble con un dedo levantando una ficha

4. Usa variables, no valores sin procesar

Cuando los diseñadores aplican variables y estilos para el color, el espaciado y la tipografía, get_variable_defs devuelve los que se usan en la selección. Una salida que hace referencia al nombre de un token es mejor que el mismo código hexadecimal y el mismo valor en píxeles repetidos en cientos de elementos, y además coincide con los tokens que ya tienes en tu hoja de estilos.

💡 Pide al equipo de diseño que vincule los rellenos y el espaciado a variables antes de la primera consulta MCP. Les cuesta unos minutos y te ahorra tiempo en cada solicitud posterior.

Primer plano de un abanico de muestras de pintura en terracota, verde salvia y azul pizarra sujetado por un pulgar

5. Elige el framework desde el principio

React con Tailwind es la salida por defecto. Si tu proyecto usa Vue, SwiftUI o CSS puro, una respuesta en React necesita una segunda pasada para convertirla, y pagas por ambas. Indica la pila en el prompt y, en el servidor remoto, configura clientFrameworks de forma explícita. Lo mismo vale para los estilos: di si usas Tailwind, módulos CSS o una biblioteca de componentes, porque mezclar enfoques en una sola pasada es lo que da pie a las reescrituras.

6. Descarga los recursos una sola vez

Usa download_assets para exportar iconos y fotos como archivos al repositorio y referenciarlos por ruta. No hagas que el agente vuelva a leer un nodo de imagen para cada componente que muestra el mismo logotipo. Las exportaciones pueden ser SVG para los iconos y PNG o JPG para las fotos, así que elige el formato que ya usa tu compilación. Una vez que los archivos estén en el repositorio, los prompts posteriores solo necesitan la ruta del archivo.

7. Decide cuándo usar capturas de pantalla

Figma indica que las capturas pueden desactivarse si te preocupan los límites de tokens, aunque recomienda dejarlas activas porque conservan la fidelidad del diseño. Un término medio razonable: mantenlas para la primera versión de una sección y quítalas en cambios pequeños, como cambiar una etiqueta o ajustar un relleno.

Subir el límite no es una solución

El mensaje de error sugiere aumentar MAX_MCP_OUTPUT_TOKENS, y la página de solución de problemas de Figma menciona 50000 o 100000 como valores de ejemplo. En Claude Code, configuras la variable en los ajustes del entorno y reinicias la aplicación. Eso desbloquea la llamada, pero no cambia en nada cuántos tokens contiene la respuesta. Un límite más alto solo deja pasar una montaña más grande a la ventana.

Si el error de tamaño sigue apareciendo después de pedir una sola sección, el nodo en sí es pesado. Divídelo: pide a get_metadata los hijos de ese nodo y luego descárgalos uno a uno. Si un componente sigue devolviendo demasiado, la causa suele ser una lista de instancias muy larga o una capa cargada de texto, y la solución está en el archivo de Figma, no en el prompt.

EnfoqueEfecto en el contextoCuándo tiene sentido
Subir MAX_MCP_OUTPUT_TOKENSNinguno, solo deja pasar respuestas más grandesUna consulta puntual que no puedes dividir
Pedir nodos hijosReduce mucho el tamaño de la respuestaOpción por defecto para algo más grande que una sección
Desactivar las capturasElimina la carga de imágenesCambios pequeños
Code ConnectReduce el código que escribe el agenteCualquier proyecto con biblioteca de componentes
Conversación nueva por secciónBorra cargas antiguasSesiones largas

Primer plano macro de un manómetro analógico con la aguja detenida justo antes de la zona roja

Un flujo de trabajo ligero, paso a paso

Antes de escribir el prompt

  1. Pide al diseñador que nombre las capas con claridad y vincule los valores a variables.
  2. Copia los enlaces de nodos para las secciones, nunca para páginas completas.
  3. Añade al repositorio un archivo de reglas breve que indique el framework, la carpeta de componentes y la convención de nombres de los tokens.
  4. Revisa los límites de uso y la página de acceso de Figma. Los límites varían según el plan y el tipo de licencia, así que una llamada desperdiciada también puede costarte cuota.

El archivo de reglas puede ser breve. Algo como esto basta:

Design to code rules
- Framework: React with Tailwind. Reuse components from src/components first.
- Colors and spacing: use the tokens in src/styles/tokens.css, never raw hex values.
- Figma: call get_metadata first on any frame larger than one section.
- Fetch one node per request. Do not re-pull a node that is already built.

Cuesta unas pocas decenas de tokens por sesión y evita que aparezcan los hábitos más caros desde el principio.

Durante la sesión

  1. Empieza con get_metadata y elige un nodo.
  2. Pide el contexto de ese nodo indicando el framework.
  3. Revisa el medidor de contexto. Si ha subido más de lo esperado, divide la siguiente solicitud.
  4. Construye, prueba y haz commit.
  5. Abre una conversación nueva, o compacta, antes de la siguiente sección, y apunta a los archivos con commit en lugar de volver a consultar el mismo diseño.

Ejemplo práctico: una página de precios

Tomemos una página de precios con cabecera, tres tarjetas de planes, una sección de preguntas frecuentes y un pie. La ruta cara es un enlace al marco completo y el prompt «construye esta página». La ruta ligera tiene este aspecto:

  1. get_metadata sobre el marco de la página devuelve el esquema y los IDs de nodo.
  2. Pides get_design_context para una tarjeta de plan, con las capturas activadas.
  3. El agente construye un componente PlanCard con propiedades para el nombre, el precio y las características.
  4. Las otras dos tarjetas reutilizan ese componente. Solo necesitan su texto y los metadatos, así que no hacen falta más consultas de diseño.
  5. Las preguntas frecuentes y el pie tienen cada uno su propia sesión corta.

Tres tarjetas de planes, una sola consulta de diseño. En una página completa, la diferencia entre «una consulta por sección» y «una consulta para todo» es donde está la mayor parte del ahorro.

Tres compañeros frente a una pared de cristal cubierta por una cuadrícula de notas adhesivas en blanco, uno señalando una sola nota

Errores que disparan el consumo de tokens

ErrorPor qué cuestaSolución
Enlazar la página completaVuelve todo el subárbolEnlaza una sola sección
Llamar a get_design_context dos veces sobre un mismo nodoLa misma carga entra dos veces en el contextoReutiliza el primer resultado
Volver a consultar por un ajuste pequeñoUna carga nueva para un cambio de una líneaEdita el código directamente
Subir el límite por defectoLas consultas sobredimensionadas se vuelven normalesMantén el valor por defecto y súbelo solo temporalmente
Ignorar el frameworkUna segunda pasada de conversiónIndica primero la pila

Algunas soluciones van en el archivo de Figma, no en el prompt. Pide al equipo de diseño que divida los flujos largos en una sección por marco, que nombre las secciones según lo que son, y que guarde los componentes reutilizables en una biblioteca en lugar de copiarlos entre páginas. Un archivo ordenado le da a get_metadata un esquema limpio con el que trabajar, lo que hace que cada consulta posterior sea más pequeña y más fácil de leer para el agente. Comparte también tus cifras del mismo marco con ellos. Ver cómo una consulta baja de enorme a moderada es la forma más rápida de convertir los costos de token en un hábito de diseño.

Varios servidores de la comunidad afirman comprimir los datos de Figma en una salida más ligera. Pueden merecer una mirada, pero ejecuta la prueba del mismo marco antes de cambiar, y revisa qué dejan fuera. Una respuesta más pequeña solo es una ventaja si sobreviven los detalles de maquetación que necesitas.

Vista desde abajo de una cesta de alambre rebosante de páginas impresas arrugadas junto a la pata de un escritorio

Dónde encajan los modelos de PicassoIA

Pasar de un diseño a código implica más que llamadas a Figma. Buena parte del trabajo que lo rodea no necesita ocurrir dentro del contexto de tu agente de programación, y ahí es donde ayudan los modelos de la colección Large Language Models de PicassoIA.

  • Redacta la especificación del componente fuera. Convierte un brief de diseño desordenado en una especificación breve con Claude Sonnet 5 o Gemini 3.5 Flash, y luego pega solo la especificación en tu agente.
  • Recorta los hilos largos. GPT 5.6 Luna da respuestas de texto rápidas, lo que encaja con reducir un hilo largo de revisión a cinco puntos.
  • Prueba prompts para agentes. Kimi K2.6 está pensado para trabajo de agentes y programación, así que es un entorno de pruebas práctico para revisar un archivo de reglas antes de meterlo en tu repositorio.

Las imágenes son otro lugar donde ahorrar. Las fotos de cabecera y las imágenes de marcador no tienen por qué pasar por el servidor de Figma. Genéralas a partir de un prompt con Flux 2 Pro, Seedream 4.5 o P-Image, y nada de eso toca el contexto de tu agente de programación. ¿Necesitas movimiento para una landing page? Seedance 2.0 y PicassoIA Video convierten un prompt o una imagen fija en un clip corto.

Crea tus propias imágenes con Picasso IA

Tu próxima sesión de diseño a código irá más rápido si las imágenes están listas antes del primer prompt. Abre Picasso IA, escribe una descripción breve de la escena y pásala por Flux 2 Pro y Seedream 4.5 en paralelo. Quédate con la que encaje en tu maquetación y luego anímala con Seedance 2.0 si la página necesita un hero en movimiento.

Prueba unos cuantos prompts hoy y mira cuáles prefieres. Todos los modelos aparecen en picassoia.com/en/all-models, así que puedes probar tantos como quieras.

Compartir este artículo

Elige tu idioma