hiddenrows

Guías prácticas para trabajar con agentes de IA

última edición=29 de octubre · 30 piezas · 18 breves
regla=solo lo verificado como hecho
llamadas a un modelo por visita=0
Evaluación

Con varios servidores MCP, no tocar ENABLE_TOOL_SEARCH ahorra 34.703 tokens en cada petición

Esa variable decide si Claude Code le manda al modelo la descripción entera de cada herramienta o solo su nombre. De fábrica manda solo el nombre. Al ponerla en «false» mandó todas las descripciones desde el primer mensaje, las de nuestros cuatro servidores y también las suyas propias: 34.703 tokens más en cada petición, medidos en 44 ejecuciones.

9 min de lectura publicado el 26 oct 2026

La idea

Tu caso. Tienes Claude Code con varios servidores MCP conectados —los programas que le añaden herramientas al agente, como leer tus ficheros o consultar una base de datos—. Cada herramienta que traen tiene un nombre y una descripción, y la descripción es larga.

Quién decide qué se manda. Una variable de entorno llamada ENABLE_TOOL_SEARCH. Decide una sola cosa: si Claude Code le manda al modelo la descripción entera de cada herramienta o solo su nombre. V

Cómo mirar la tuya. Puede estar puesta en tres sitios distintos, y conviene mirarlos en este orden, porque lo que esté escrito en el terminal se impone a lo que digan los ficheros de ajustes. V

  • En el terminal desde el que abres Claude Code. Escribe echo $ENABLE_TOOL_SEARCH y pulsa intro. Si la línea que aparece debajo sale vacía, la variable no está puesta en ese terminal. Si aparece un valor, ese es el que se está aplicando.
  • En tus ficheros de ajustes. La variable puede estar escrita en el apartado env de dos ficheros: ~/.claude/settings.json, que vale para todos tus proyectos, y el .claude/settings.json del proyecto en el que estés, que vale solo para ese. Ábrelos y busca el nombre de la variable dentro de ese apartado.
  • En el diagnóstico que trae Claude Code. La orden claude doctor, escrita en el terminal, imprime el estado de tu instalación y de tus ajustes sin llegar a abrir una sesión. Y ya dentro de una sesión, /status te dice qué ficheros de ajustes están activos, que es lo que necesitas cuando la variable aparece en más de un sitio y quieres saber cuál gana. V

Qué hace de fábrica, sin tocarla. Manda solo los nombres. Cuando el modelo va a usar una herramienta, pide entonces su descripción. A eso lo llaman búsqueda de herramientas, y viene puesta. V

Qué pasa si la tocas. Al ponerla en false, Claude Code manda las descripciones enteras desde el primer mensaje, y en todos los demás. Con cuatro servidores y 46 herramientas, eso fueron 34.703 tokens más en cada petición. V

Y aquí está lo que no esperábamos: solo 11.069 de esos tokens eran de nuestros servidores. Los otros 23.634 eran herramientas del propio Claude Code, que también esperaban a hacer falta y que al apagar la búsqueda se mandan todas igual. V Dicho de otra manera: apagarla te sale caro aunque no tengas conectado ningún servidor.

Esos tokens ocupan contexto, que es todo lo que el modelo tiene delante en cada petición, y se vuelven a mandar en cada una. El tope de ese espacio es la ventana de contexto. En una ventana de 1 millón, 34.703 tokens son el 3,5 % ocupado antes de que escribas nada. En una sesión de 200.000, que es lo que tienes con Opus 4.6 o Sonnet 4.6 si no pides la variante de 1 millón, son el 17 %. V

Lo que se ha medido. Cada forma de dejar la variable es un brazo del experimento. En cada brazo se abrió 3 veces la misma sesión vacía y se contaron los tokens de su primera petición tal como los cuenta la API, el servicio de Anthropic que recibe cada petición de Claude Code. Las 3 repeticiones salieron iguales, con 3 tokens de diferencia como mucho. V

Cómo estaba la variableTokens de la primera peticiónQué añaden los servidores y la variable
Sin servidores, sin tocar
el punto de partida
32.847Nada: es lo que pesa Claude Code solo.
Cuatro servidores, sin tocar
lo que trae de fábrica
34.7731.926 tokens: los nombres de las 46 herramientas y las instrucciones de cada servidor.
Cuatro servidores, true34.775Lo mismo que sin tocar. La documentación dice que son el mismo comportamiento, y lo son. V
Cuatro servidores, auto70.45637.609 tokens. Con una ventana de 1 millón se portó como false.
Cuatro servidores, false69.47636.629 tokens: tus 46 herramientas enteras y las herramientas propias de Claude Code.
Sin servidores, false
para separar las dos cosas
56.48123.634 tokens que no son de ningún servidor: son de Claude Code.

Por qué auto no es un término medio. Con auto, Claude Code las manda todas desde el principio mientras las definiciones ocupen menos del 10 % de la ventana, y solo a partir de ahí activa la búsqueda. V En una ventana de 1 millón, ese 10 % son 100.000 tokens. Nuestras 46 herramientas ocupaban unos 13.000, así que auto las cargó todas y salió igual que apagarla. V Para que auto llegue a buscar, con esa ventana, haría falta un catálogo de herramientas unas ocho veces mayor que el nuestro. I

Y lo que cuesta la búsqueda cuando se usa. Se pidió 5 veces en cada brazo una tarea que obliga a usar una herramienta concreta: crear una nota con el servidor de memoria. Salió bien las 20 veces, así que ningún brazo ahorra tokens a costa de fallar la tarea. V Con la búsqueda encendida, en 6 de las 10 ejecuciones el modelo pidió primero la descripción de la herramienta, y eso es una petición más; en las otras 4 la llamó directamente por su nombre. La tarea entera pesó unos 105.500 tokens en el primer caso y unos 69.800 en el segundo. Con la búsqueda apagada pesó 139.196 las 5 veces, con 4 tokens de diferencia como mucho, y con auto, unos 141.150. V Incluso con el paso de más, encendida salió un 24 % más ligera, porque esa petición extra pesa menos que llevar 34.703 tokens de más en cada una de las otras. I

Lo que haríamos, y esto es propuesta nuestra a partir de lo medido: I

  1. No pongas ENABLE_TOOL_SEARCH en false ni en auto. Si la tienes en el env de tus ajustes o en tu terminal, quítala.
  2. Abre una sesión y teclea /context. Las líneas de herramientas marcadas como diferidas son el sitio que te estás ahorrando. La de las herramientas propias de Claude Code es la que te dice cuánto te costaría apagar la búsqueda aunque no tuvieras ningún servidor.
  3. Si hay un servidor cuyas herramientas tienen que estar a mano en cada turno, ponle a él solo "alwaysLoad": true en su configuración y deja la búsqueda encendida para los demás. La documentación lo recomienda para pocas herramientas, porque cada una que se carga al principio ocupa sitio en todas las peticiones. V

Cómo se decidió el montaje, para que puedas discutirlo. I

  • Contar con la API y no solo con /context. /context da un reparto por categorías, pero su propia cabecera dice que es una estimación: en nuestra sesión vacía decía 27.000 tokens y la API contó 32.847. Las cifras de arriba son las de la API, que es lo que de verdad se manda; /context sirvió para ver de qué estaba hecha cada cifra.
  • Una tarea mínima en vez de una realista. Se valoró pedir un arreglo en un proyecto de verdad, y se descartó: el modelo decide cuántos pasos da, y esa variación taparía una diferencia que está en la parte fija de cada petición. Se pierde saber qué pasa en una sesión de una hora; se gana poder atribuir cada token.
  • 3 repeticiones del arranque y 5 de la tarea. El arranque no depende del modelo, así que 3 bastaban para comprobar que no variaba, y no varió. La tarea sí depende de él, porque decide si busca antes la herramienta, y por eso lleva más.
  • Servidores de referencia y no los de tu trabajo. Se descartaron servidores como los de GitHub o Jira porque exigen cuenta y cambian solos. Los cuatro elegidos son los de ejemplo del proyecto MCP, fijados por versión, y cualquiera puede instalarlos.
  • El sexto brazo se añadió después. Al ver que apagar la búsqueda subía también las herramientas propias de Claude Code, se repitió el arranque sin ningún servidor y con false, para separar lo que pesan tus servidores de lo que pesa Claude Code. Sin ese brazo, los 36.629 tokens se habrían leído como coste de los servidores.
Los datos que lo sostienen
  • V Montaje. Claude Code 2.1.310 con claude -p, modelo claude-sonnet-5-5, el 26 de octubre de 2026, en una sesión de Claude Code en la nube con suscripción, sin clave de API. Cuatro servidores MCP de referencia fijados por versión: ficheros (server-filesystem 2.0.1, 14 herramientas), memoria (server-memory 2.0.0, 9), pensamiento por pasos (server-sequential-thinking 2.0.0, 1) y el de pruebas (server-everything 2.0.1, 22). Solo esos servidores, con --strict-mcp-config, y los ajustes solo del proyecto. Lo único que cambia entre brazos es ENABLE_TOOL_SEARCH. Los ficheros del montaje y los resultados de las 44 ejecuciones están publicados.
  • V Medida. Tokens de entrada, de lectura de caché y de escritura en caché que devuelve la API, sumados. En el arranque, de su única petición; en la tarea, de todas las peticiones del modelo principal. Que la tarea salió bien se comprobó viendo que la herramienta devolvía la nota creada, no leyendo lo que respondía el agente.
  • I Hasta dónde llega. Las herramientas propias de Claude Code que trae una sesión en la nube no son las mismas que las de una instalación en tu máquina, así que los 23.634 tokens son nuestros, no los tuyos: mira los tuyos con /context. Lo que sí debería repetirse es el mecanismo, que apagar la búsqueda las carga todas, porque no depende de cuántos servidores tengas. Un solo modelo, Sonnet 5.5; no lo hemos repetido con Opus.
  • I Lo que no mide. Ni el tiempo, que en todas las ejecuciones estuvo entre 2 y 11 segundos sin diferencia clara entre brazos, ni si el modelo acierta peor eligiendo herramienta cuando tiene que buscarla. Con una tarea que nombra la herramienta acertó las 10 veces, y eso no dice nada de una tarea en la que tenga que adivinarla.
  • V Los dólares, solo si pagas por tokens con clave de API. Con Sonnet 5.5, a 2 $ el millón de tokens de entrada y 0,10 $ el millón leído de la caché, los 34.703 tokens de más cuestan unos 0,07 $ la primera vez que se mandan y unos 0,0035 $ cada vez que se leen de la caché, que es la copia que el servidor guarda de lo que ya le enviaste. Precios del 8 de octubre de 2026. Con suscripción no hay factura por petición: lo que pagas es ventana.
  • V Lo que la documentación no dice. Su tabla de ENABLE_TOOL_SEARCH dice que con false se mandan desde el principio todas las herramientas MCP. No dice que también se carguen las herramientas propias de Claude Code que iban diferidas; eso es medida nuestra.
hiddenrows · proyecto personal de divulgación de Miguel Yepes Contenido divulgativo, puede contener errores · sin garantías · Aviso legal · Privacidad · llms.txt