Reducir el uso de tokens de MCP en Claude Code: cómo resolver el problema de la ventana de contexto
Los servidores MCP pueden consumir decenas de miles de tokens antes de que escribas un solo prompt. Este artículo muestra cómo medir ese costo con /context, eliminar servidores inactivos, activar la búsqueda de herramientas, limitar la salida de las herramientas y usar subagentes para que Claude Code conserve su ventana de contexto para tu trabajo real.
Abres Claude Code, escribes un prompt corto y el medidor de contexto ya parece medio lleno. Tu prompt no tiene nada malo. El culpable suele ser el montón de servidores MCP que conectaste el mes pasado y que ya olvidaste. Cada servidor entrega a Claude una lista de definiciones de herramientas en cuanto empieza la sesión, y cada definición se paga con tokens antes de que empiece cualquier trabajo real. Si además se suman respuestas de herramientas muy voluminosas, la ventana de contexto se agota mucho antes de terminar la tarea. La buena noticia es que este es uno de los problemas más fáciles de resolver en todo el flujo de trabajo. Este artículo recorre el orden que funciona: medir primero, luego podar servidores, activar la búsqueda de herramientas, limitar la salida y reiniciar las sesiones en el momento adecuado.
Si reconoces los síntomas, estás en buena compañía. Las sesiones que parecen lentas, las respuestas que olvidan instrucciones de hace diez minutos y un auto-compact que se activa en mitad de una refactorización apuntan todas a lo mismo: demasiada sobrecarga fija y muy poco espacio para el trabajo en sí.
Por qué los servidores MCP consumen tu contexto
El Model Context Protocol (MCP) permite que Claude Code se comunique con bases de datos, navegadores, gestores de incidencias, herramientas de diseño y generadores de imágenes. Cada conexión es realmente útil. El precio es que Claude tiene que conocer lo que hace cada herramienta, así que el nombre, la descripción y el esquema JSON completo de cada herramienta se cargan en el prompt.
Dónde van realmente los tokens
La sobrecarga de MCP viene de cuatro fuentes, y solo algunas son evidentes.
Fuente
Cuándo se carga
Impacto habitual
Quién la controla
Definiciones de herramientas
Al iniciar la sesión
Cientos de tokens por herramienta, miles por servidor
Tú, al elegir los servidores
Respuestas de herramientas
En cada llamada
De unos cientos a decenas de miles de tokens
El servidor y tu límite de salida
Archivos de memoria como CLAUDE.md
Al iniciar la sesión
Crece con cada regla que añades
Tú
Historial de conversación
Se acumula durante toda la sesión
Crece con cada turno
La compactación y el borrado
El artículo técnico de Anthropic sobre la búsqueda de herramientas describe una configuración con 58 herramientas repartidas en cinco servidores que consumía unos 55K tokens antes incluso de que empezara la conversación. Eso equivale a unos 950 tokens por herramienta. Un servidor con 35 herramientas, como una integración completa de alojamiento de código, puede por sí solo consumir un porcentaje de dos cifras de una ventana de contexto estándar.
💡 Cuenta rápida: si tus herramientas promedian 900 tokens cada una y conectas 40, habrás gastado unos 36 000 tokens en un menú del que Claude quizá nunca pida nada.
El costo real de las herramientas inactivas
Las herramientas inactivas perjudican de dos maneras. La primera es el espacio: una ventana que empieza al 30 % de su capacidad tiene un 30 % menos de espacio para código, registros y razonamiento. El caché de prompts suaviza el precio de esa sobrecarga fija en los turnos repetidos, pero no hace nada por el espacio que ocupa.
La segunda es el ruido en las decisiones. Cuando cinco servidores exponen herramientas de búsqueda o de obtención de datos que se solapan, el modelo tiene más casi duplicados entre los que elegir. Las pruebas propias de Anthropic sobre la carga de herramientas bajo demanda descubrieron que exponer menos herramientas desde el principio también mejoraba la fiabilidad con la que se elegía la correcta. Tener menos herramientas no solo es más barato: a menudo es más preciso.
Mide primero el daño
No empieces a borrar servidores por intuición. Mide, cambia una cosa y vuelve a medir.
Ejecuta /context antes de tocar nada
Abre una sesión nueva en tu proyecto y ejecuta /context antes de enviar cualquier prompt. Claude Code muestra un desglose de la ventana por categorías: prompt del sistema, herramientas del sistema, herramientas MCP, archivos de memoria, mensajes y espacio libre. Como todavía no has escrito nada, la línea de mensajes está casi en cero y todo lo demás es sobrecarga pura.
Después ejecuta /mcp para listar los servidores conectados y su estado. Desde una terminal normal, claude mcp list te da el mismo inventario. Anota el número de herramientas MCP que aparece en /context. Ese es tu punto de partida.
Lee los números como un presupuesto
No existe un umbral oficial, pero esta regla general funciona bien en la práctica:
Proporción de la ventana de herramientas MCP
Veredicto
Qué hacer
Menos del 5 %
Saludable
Déjalo como está
Del 5 % al 15 %
Vale la pena revisarlo
Elimina los servidores que usas con menos frecuencia que una vez por semana
Más del 15 %
Un problema real
Poda a fondo y activa la búsqueda de herramientas
Revisa también la línea de archivos de memoria. Un CLAUDE.md que se ha convertido en un muro de reglas cuesta tokens en cada sesión, igual que un servidor MCP parlanchín.
Recorta y delimita tus servidores
El token más barato es el que nunca se carga. La higiene de los servidores supera a cualquier ajuste ingenioso.
Desactiva primero, elimina después
Abre el menú /mcp y desactiva todo lo que no necesites para la tarea de hoy. Según tu versión, puedes activar y desactivar un servidor desde allí sin perder su configuración. Cuando estés seguro de que un servidor es peso muerto, elimínalo de forma definitiva con claude mcp remove <name>.
Hazte tres preguntas sobre cada servidor:
¿He llamado a alguna herramienta suya en la última semana?
¿Ya existe una herramienta de línea de comandos que haga el mismo trabajo?
¿Duplica herramientas que ya ofrece otro servidor?
Basta un "no" sincero para desactivarlo.
Limita los servidores a cada proyecto
Los servidores MCP se pueden añadir en tres ámbitos: local, proyecto y usuario. Un servidor de ámbito proyecto vive en un archivo .mcp.json en la raíz del repositorio, así que solo se carga donde hace falta:
claude mcp add --scope project my-db -- npx my-db-mcp-server
Mantén tu ámbito de usuario casi vacío. Pon el servidor de base de datos en el repositorio que tiene una base de datos, y el servidor de diseño en el repositorio que tiene diseños. Para sesiones puntuales, también puedes iniciar Claude Code con solo los servidores indicados en un archivo de configuración:
claude --strict-mcp-config --mcp-config ./mcp/docs-only.json
Esa sesión ignora todos los demás servidores configurados, lo que la hace ideal para una tarea concreta o para una comparación limpia de antes y después.
Sustituye servidores por CLI simples
Si una herramienta ya existe como programa de línea de comandos, como git, gh, docker, psql o aws, Claude puede ejecutarla a través de la shell. Eso cuesta cero tokens de definición de herramienta, porque el modelo ya conoce cómo funcionan esos comandos.
Anthropic llevó esta idea más lejos en su publicación sobre la ejecución de código con MCP. Presentar los servidores como APIs de código que el agente llama desde un script, en lugar de como herramientas individuales, redujo un flujo de trabajo de ejemplo de unos 150 000 tokens a unos 2 000, una reducción del 98,7 %. No necesitas rehacer tu conjunto de herramientas para aprovechar la lección.
MCP sigue siendo la mejor opción en algunos casos:
Flujos de autenticación que una CLI no puede gestionar bien
Servicios remotos sin equivalente en línea de comandos
Resultados estructurados que quieres tipados y validados
Para todo lo demás, prueba primero la CLI.
Deja que la búsqueda de herramientas cargue bajo demanda
A veces sí necesitas tener disponibles decenas de herramientas. Ahí es donde la carga diferida se gana su lugar.
Cómo funciona la carga diferida
En lugar de pegar todas las definiciones de herramientas en el prompt, el cliente carga una pequeña herramienta de búsqueda junto con una lista de nombres de herramientas. Cuando Claude decide que necesita algo, busca, y solo se incorporan las definiciones que coinciden. En las versiones recientes de Claude Code, esto se activa automáticamente cuando las definiciones de herramientas MCP ocuparían una parte grande de la ventana, en torno al 10 % en el momento de escribir esto.
Anthropic informó de una caída de unos 85 % en los tokens de definición de herramientas en su propio ejemplo. La idea es la de un catálogo de fichas de biblioteca: no llevas todos los libros a tu mesa, llevas el índice y traes lo que necesitas.
Ajústalo a tu configuración
El comportamiento se controla con la variable de entorno ENABLE_TOOL_SEARCH:
# Default: only kicks in when MCP tools get large
export ENABLE_TOOL_SEARCH=auto
# Lower the trigger point (percent of the window)
export ENABLE_TOOL_SEARCH=auto:5
Los nombres y los umbrales han cambiado entre versiones, así que revisa la documentación de la versión que tienes instalada.
💡 Vuelve a ejecutar /context siempre después de un cambio. Si la línea de herramientas MCP no se redujo, el ajuste no está haciendo lo que crees.
Hay una contrapartida. El primer uso de una herramienta diferida cuesta un paso de búsqueda extra. Si en todas las sesiones usas las mismas tres herramientas, mantén cargado directamente ese servidor pequeño y deja que la búsqueda de herramientas se encargue del resto.
Evita respuestas de herramientas demasiado grandes
Las definiciones son un costo fijo. Las respuestas son el costo variable que sorprende a la gente.
Limita el tamaño de la salida
Claude Code avisa cuando un único resultado de herramienta MCP supera unos 10 000 tokens y lo trunca en 25 000 por defecto. Puedes bajar ese techo con una variable de entorno:
export MAX_MCP_OUTPUT_TOKENS=10000
Un límite es una red de seguridad, no un diseño. La mejor solución es un servidor que devuelva menos desde el principio. Si construyes o configuras servidores, impulsa estos patrones:
Patrón
Problema
Mejor enfoque
Devolver una tabla completa
Decenas de miles de filas en el contexto
Filtrar, ordenar y limitar en el servidor
Incrustar una imagen en base64
Miles de tokens por imagen
Devolver una URL alojada
Devolver el HTML bruto de una página
El ruido del marcado domina
Extraer el texto de un selector
Consultar el estado con la carga completa
Lo voluminoso se repite en cada consulta
Devolver solo un campo de estado hasta terminar
Devuelve URL, no bloques de imagen
Las imágenes se cobran por tamaño, aproximadamente ancho por alto dividido entre 750 en tokens de entrada. Una imagen de 1000 por 1000 píxeles cuesta unos 1 300 tokens, y una captura de pantalla a resolución completa cuesta varias veces eso. Los servidores que generan imágenes o clips deben devolver una URL corta y un estado, nunca los píxeles en sí.
La generación de imágenes y video es donde esto se nota primero. El conector MCP de PicassoIA funciona de la forma correcta: una llamada de generación devuelve de inmediato un ID de predicción, y consultas el estado hasta que aparece una URL alojada. Si estás eligiendo un generador para llamarlo desde un agente, modelos de texto a imagen como P-Image y Flux 2 Pro encajan bien con este patrón, y un modelo de video como Seedance 2.5 Lite sigue el mismo bucle de crear, consultar y obtener.
Aísla el trabajo y reinicia a menudo
Incluso una configuración ligera se llena en una sesión larga. La última capa de defensa es la estructura.
Asigna a cada subagente una sola tarea
Un subagente se ejecuta en su propia ventana de contexto y devuelve solo un resumen. Eso lo convierte en el lugar perfecto para el trabajo ruidoso: automatización de navegador, búsquedas amplias, bucles de generación de imágenes. Un archivo de subagente en .claude/agents/ tiene un nombre, una descripción, una lista de herramientas permitidas tools y un model, así que puedes restringirlo exactamente a las dos o tres herramientas que necesita.
Piénsalo como mise en place: cada cuenco contiene un ingrediente y nada más toca la encimera. Para tareas mecánicas, un modelo pequeño como Claude 4.5 Haiku suele bastar, y deja tu sesión principal libre para el razonamiento que necesita un modelo más grande. Las versiones nuevas también permiten que un subagente declare sus propios servidores MCP, así que los pesados nunca tocan la conversación principal.
Cuándo compensa /compact
/compact reemplaza la conversación hasta ese momento por un resumen, y puedes orientarlo:
/compact keep the failing test names, file paths and the final design decision
Ejecútalo en los puntos de pausa naturales: acaba de terminar una función, las pruebas acaban de pasar o estás a punto de empezar una nueva fase. No esperes a la auto-compactación. Se activa cuando la ventana está casi llena, lo que puede ocurrir justo en medio de una edición delicada.
Cuándo conviene /clear
Si cambias a una tarea no relacionada, no compactes. Borra. El contexto antiguo sobre otro error no es un activo, es ruido que desvía las respuestas. Después de /clear, carga solo lo que necesita la nueva tarea.
💡 La información duradera pertenece a CLAUDE.md, pero mantenlo corto. Se carga en cada sesión, así que cada párrafo extra es un impuesto que pagas para siempre. Revísalo cada mes y elimina las reglas que el modelo ya sigue sin que se lo digas.
Cómo usar Sonnet 5 en PicassoIA
Aquí tienes una forma de bajo riesgo de reducir el lado de entrada de tus sesiones antes de que llegue a Claude Code. Claude Sonnet 5 en PicassoIA está diseñado para tareas de programación y uso de herramientas, lo que lo convierte en un entorno de pruebas práctico para condensar un CLAUDE.md demasiado grande, resumir un registro largo o redactar un prompt más ajustado. Pega el resultado en Claude Code en lugar del material bruto.
Abre la página del modelo. Ve a Claude Sonnet 5 en PicassoIA.
Rellena el campo Prompt obligatorio. Pega el texto que quieres condensar e indica al modelo qué conservar, por ejemplo: "Reduce este registro a las diez líneas que explican el fallo."
Define el nivel de esfuerzo. El valor por defecto es low, que desactiva el razonamiento para obtener las respuestas más rápidas y baratas. Súbelo solo para razonamientos realmente complicados.
Limita la salida.max_tokens tiene por defecto 8 192. Para un resumen, un número mucho menor mantiene la respuesta concisa.
Añade un prompt de sistema si reutilizas la tarea. Una línea como "Responde con viñetas, en menos de 150 palabras" fija el formato en todas las ejecuciones.
Adjunta una imagen solo cuando haga falta. La opción max_image_resolution tiene por defecto 0,5 megapíxeles y reduce las imágenes antes de que lleguen al modelo, lo que ahorra tiempo y dinero.
Genera y copia el resultado en tu sesión de Claude Code.
Ajustes que ahorran tokens
Ajuste
Valor por defecto
Cómo ahorrar tokens
effort
low
Déjalo en low para resúmenes y reescrituras
max_tokens
8192
Bájalo para que coincida con el tamaño de la respuesta que quieres
max_image_resolution
0.5 megapixels
Mantenlo bajo, salvo que importe el detalle fino
system_prompt
vacío
Define una regla de formato corta una vez y reutilízala
Para trabajos de razonamiento más exigentes, como planificar una refactorización en muchos archivos, Claude Fable 5 y Claude Opus 4.7 están en la misma plataforma, así que puedes comparar cómo maneja cada uno la misma entrada reducida.
Ponlo en práctica en PicassoIA
Aquí tienes el plan completo en una página, ordenado por esfuerzo frente a beneficio:
Solución
Esfuerzo
Beneficio habitual
Ejecuta /context y registra una base de referencia
2 minutos
Muestra en qué se van los tokens
Desactiva o elimina los servidores inactivos
5 minutos
Suele ser la mayor mejora por sí sola
Limita los servidores con .mcp.json
10 minutos
Evita que los servidores globales se carguen en todas partes
Sustituye los servidores simples por CLI
15 minutos
Elimina las definiciones por completo
Activa la búsqueda de herramientas
2 minutos
Gran reducción en conjuntos grandes de servidores
Baja MAX_MCP_OUTPUT_TOKENS
1 minuto
Protege contra respuestas descontroladas
Subagentes para el trabajo ruidoso
20 minutos
Mantiene la ventana principal limpia
/compact en los puntos de pausa, /clear entre tareas
Continuo
Evita desbordamientos a mitad de tarea
Empieza por las dos primeras filas hoy. Tardan menos de diez minutos y suelen liberar una cantidad sorprendente de espacio.
Cuando tu ventana vuelva a tener espacio, ponla a trabajar en algo creativo. Abre PicassoIA, elige un modelo de imagen como GPT Image 2 o P-Image y genera tu primera imagen a partir de una sola frase. Luego anímala con Seedance 2.5 Lite o PicassoIA Video. Prueba tu propia idea, cambia un detalle del prompt y observa cuánto varía el resultado. Es la forma más rápida de ver lo que pueden hacer estos modelos, y cada experimento es una buena excusa para mantener tu contexto ligero.