
MCP en Claude Code: 18.000 tokens ocultos por turno
TL;DR
Cada servidor MCP conectado a Claude Code inyecta definiciones de herramientas en la ventana de contexto en cada turno. Con 5 o 6 servidores activos es habitual ver 15.000 a 18.000 tokens gastados antes de que escribas nada. La solución no es quitar MCP, es medir, aplicar progressive discovery y mantener solo los servidores que aportan valor por su coste real.
- Qué es: auditoría del coste de tokens que generan los MCP en Claude Code.
- Por qué importa: el gasto compuesto de tool definitions se paga en cada prompt, no una vez.
- Qué te llevas: método para medir, filtrar por tarea y aplicar patrones como lazy loading o Code Mode.
El problema: MCP ya no es gratis
Cuando Claude Code abre sesión, pregunta a cada servidor MCP configurado por su lista de tools y las inyecta en el contexto. El detalle incómodo es que esa inyección se repite en cada turno, no solo al arrancar. Si tienes Filesystem, GitHub, Slack, Linear, un MCP de base de datos y uno interno de empresa, cada mensaje arrastra todo el catálogo.
Un análisis reciente de MindStudio estimaba hasta 18.000 tokens por turno solo en schemas de herramientas con un setup medio. Pydantic, en su guía de MCP token efficiency, muestra ejemplos donde los tools ocupan el 1,6 % de una ventana grande, pero en sesiones largas ese 1,6 % se paga cientos de veces.
El coste no viene de llamar herramientas. Viene de describirlas, aunque no se usen. Por eso hay reports de la comunidad de 200 € al mes en API con MCPs 24/7 sin hacer nada especialmente intensivo.
¿Qué es exactamente el coste de una definición MCP?
Una definición MCP es el bloque de texto que describe una herramienta: nombre, descripción, esquema JSON de parámetros y, a veces, ejemplos. Es lo que el modelo lee para decidir si usa esa tool. Cuanto más verboso el schema, más tokens.
Tres variables mandan:
- Número de herramientas por servidor: un MCP con 40 endpoints pesa más que uno con 5.
- Longitud de descripciones y ejemplos: descripciones tipo documentación ocupan mucho.
- Schemas anidados: objetos con muchas propiedades opcionales disparan el recuento.
Cómo medir el coste real en tu sesión
Antes de decidir qué cortar hay que saber cuánto gasta cada servidor. Claude Code expone el comando /cost en la sesión activa y /context para ver cómo se reparte la ventana.
Un flujo mínimo para auditar:
- Arranca Claude Code con todos tus MCP activos y ejecuta
/context. Anota el porcentaje ocupado por tool definitions. - Desactiva servidores uno a uno editando
~/.claude/settings.jsony repite la medición. - Compara el delta por servidor. Ahí aparecen los candidatos a podar o a cargar bajo demanda.
// ~/.claude/settings.json — Solo deja servidores que uses a diario
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/ubuntu/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
}
}
}
Un patrón que me funciona en producción: una configuración base minimalista y perfiles específicos por tipo de tarea. No hace falta tener el MCP de Jira cargado cuando estás refactorizando tests.
Progressive discovery: la idea que viene del propio Anthropic
David Soria Parra, cocreador de MCP y miembro del equipo técnico de Anthropic, explicó en una entrevista reciente con ShiftMag la dirección correcta:
La idea detrás de progressive discovery es no volcar ingenuamente las 20, 50 o 100 herramientas de un servidor MCP en la ventana de contexto, sino usar un mecanismo como tool search para cargar solo las que se necesitan.
Progressive discovery significa cargar un índice ligero de herramientas y traer la definición completa solo cuando el agente decide usarla. No todos los servidores lo soportan aún, pero hay patrones prácticos que puedes aplicar hoy sin esperar a la spec:
- Servidores por perfil: divide tu
settings.jsonenclaude-dev,claude-review,claude-infra. Cargas solo el perfil que toca. - MCP gateways con filtro: herramientas como Bifrost o MintMCP proxifican varios MCP y exponen solo las tools filtradas por tarea.
- Code Mode: ejecutar código que llama herramientas en lugar de inyectar cada tool como schema. Según reports públicos de Maxim AI, reduce hasta un 92 % el coste en setups con 500+ tools.
Tabla comparativa: opciones para recortar coste MCP
| Opción | Esfuerzo | Ahorro típico | Cuándo usarla |
|---|---|---|---|
| Podar servidores sin uso | Bajo | 20-40 % | Tienes MCP activos que no llamas hace semanas. |
| Perfiles por tarea | Medio | 30-50 % | Tu trabajo alterna entre dev, review e infra. |
| MCP gateway con filtros | Medio-alto | 50-70 % | Varios entornos o equipo con catálogo amplio. |
| Code Mode / tool search | Alto | Hasta 90 % | Setups con 50+ herramientas donde el contexto se llena. |
Criterio para repartir integraciones en Claude Code
No todo problema es de tokens. A veces el MCP sobra porque la tarea se resuelve mejor con una skill bien escrita, con un subagente o con un script. Si estás decidiendo qué cargar, tres preguntas te orientan:
- ¿Lo uso al menos una vez por sesión? Si no, quítalo del perfil por defecto.
- ¿Necesito el catálogo completo o 3 operaciones concretas? Si son 3, un wrapper con skills y subagentes reutilizables suele pesar menos.
- ¿La alternativa es un CLI local? A veces un
gho unpsqlbien llamado desde bash cuesta cero tokens de schema.
Este criterio conecta directamente con la disciplina de contexto que ya comenté en plugins de memoria en Claude Code. Memoria y MCP compiten por la misma ventana, así que lo que gastas en definiciones no lo tienes para contexto útil.
En Producción
Cuando un setup con MCP pasa de juguete a herramienta diaria, tres cosas cambian:
- Observabilidad: quieres saber cuántas veces se invocó cada tool, latencia y tasa de error. OpenTelemetry aplicado a MCP (vía gateways como MintMCP) permite trazar invocaciones junto al resto del stack.
- Coste por tarea: mide tokens por tipo de sesión, no solo tokens globales. Una sesión de refactor con 200k tokens puede ser normal; una de pregunta rápida con 80k es un síntoma.
- Seguridad: cada MCP es una superficie de ataque. Google Cloud publicó guías específicas para asegurar interacciones MCP en Bigtable; si tu MCP toca datos sensibles, revisa permisos por tool.
- Coste económico: en mi experiencia, para un perfil individual con uso intensivo en España, 10 a 50 € al mes en API es realista. Los 200 € mensuales que aparecen en algunos reports suelen venir de MCPs activos 24/7 sin poda.
Si tu trabajo encaja con separación de responsabilidades, la misma lógica aplica: cada MCP debería tener un propósito claro y acotado. MCPs con 40 endpoints sin filtro son el equivalente a un servicio que hace de todo.
Errores comunes y depuración
Error: Claude Code tarda mucho en responder incluso en prompts cortos.
Causa: carga y serialización de tool schemas de todos los MCP activos en cada turno.
Solución: mide con /context, desactiva servidores no usados y agrúpalos por perfil.
Error: el agente llama tools incorrectas o se inventa parámetros.
Causa: demasiadas herramientas similares compiten por la atención del modelo.
Solución: reduce a menos de 25 tools simultáneas; cuando subes de 40-50 la precisión cae visiblemente.
Error: el coste mensual se dispara sin cambios aparentes en tu uso.
Causa: un MCP actualizó sus descripciones o añadió endpoints nuevos.
Solución: ancla versiones de servidores MCP críticos y revisa changelogs antes de actualizar.
Preguntas frecuentes
¿Merece la pena desactivar MCP si solo uso Claude Code en proyectos pequeños?
Si tienes 2 o 3 servidores y los usas a diario, no. El ahorro en euros es marginal. A partir de 5-6 servidores o catálogos con muchas tools, la poda empieza a notarse tanto en coste como en calidad de respuesta.
¿Puedo usar un MCP gateway sin cambiar mi código?
Sí. Un gateway como Bifrost o MintMCP se coloca entre Claude Code y tus MCP reales, y expone una versión filtrada. Solo cambias la configuración de settings.json para apuntar al gateway, no tu lógica.
¿Qué diferencia hay entre podar MCP y usar skills?
Las skills son instrucciones y procedimientos reutilizables cargados bajo demanda, no herramientas con schema. Para tareas repetidas con pocas llamadas externas, una skill suele pesar menos que mantener un MCP entero cargado.
Cierre
MCP es una pieza potente de Claude Code, pero la narrativa de conectar todo lo que puedas está chocando con la realidad del coste por token. Hemos visto que las definiciones se pagan en cada turno, que progressive discovery apunta al camino correcto y que poner criterio por tarea ahorra más que cualquier truco de prompt.
La clave no es MCP sí o MCP no, es tratarlos como infraestructura: medir, podar, versionar y vigilar el coste. Cuando los servidores dejan de ser un addon mágico y empiezan a ser una decisión consciente, tu ventana de contexto respira y tu factura también.
¿Has auditado ya cuánto te cuesta cada MCP? Cuéntamelo en Twitter @sergiomarquezp_. En el próximo post quiero mostrar cómo montar un perfil mínimo de Claude Code para trabajo diario sin sobrecargar la ventana de contexto.


