00:00:00Una de las cosas más importantes en IA ha sido el protocolo MCP,
00:00:03pero seis meses después se ha convertido en un gran problema para nosotros.
00:00:06Cuando empezamos,
00:00:07la gente solo tenía dos o tres servidores MCP ejecutándose localmente,
00:00:11pero MCP ha evolucionado mucho más allá.
00:00:13Ahora la gente tiene literalmente cientos de servidores MCP con miles de herramientas a la vez,
00:00:18y se ha convertido en un gran problema.
00:00:20Como saben,
00:00:20Cloudflare fue el primero en notarlo,
00:00:22y Claude le siguió publicando un artículo de investigación sobre este problema.
00:00:26Pero Docker encontró una solución para esto y resolvió uno de los problemas más críticos para los MCP al idear una forma completamente nueva de usarlos.
00:00:34Un modo dinámico que te permite ahorrar muchísimos tokens,
00:00:37acelerar tus agentes y crear tipos de automatizaciones completamente nuevos que personalmente estoy deseando ver.
00:00:43Así que Docker publicó un artículo sobre esto en el que básicamente nos instan a dejar de codificar rígidamente el entorno de nuestros agentes.
00:00:50¿Qué quieren decir con eso?
00:00:51En primer lugar, ¿en qué servidores MCP confiamos realmente?
00:00:54El segundo es,
00:00:55¿cómo evitamos llenar nuestro contexto con definiciones de herramientas que quizás ni siquiera usemos?
00:01:00Por ejemplo,
00:01:01si tienes mil herramientas,
00:01:03quizás solo uses dos o tres en un solo chat.
00:01:05El tercero es,
00:01:06¿cómo descubren,
00:01:07configuran y luego usan estas herramientas de manera eficiente y autónoma los agentes?
00:01:12Pero quiero que se centren en el segundo,
00:01:14que es,
00:01:14¿cómo evitamos llenar nuestro contexto con definiciones de herramientas que quizás ni siquiera usemos?
00:01:19Por ejemplo,
00:01:20si tienes mil herramientas,
00:01:21quizás solo uses dos o tres en un solo chat.
00:01:23Anthropic también publicó un post sobre esto,
00:01:26que cubrimos en uno de nuestros videos anteriores,
00:01:28y obtuvimos una respuesta muy positiva de la gente que quería la implementación.
00:01:32Y Docker de hecho siguió adelante y lo implementó.
00:01:34Ahora,
00:01:34antes de seguir adelante,
00:01:35debes saber que Docker ya había establecido toda la infraestructura para esto mucho antes de que se convirtiera en un problema.
00:01:41Y para eso,
00:01:42necesitas conocer su catálogo de MCP,
00:01:44en el que han listado servidores MCP verificados en los que realmente puedes confiar.
00:01:48Y es muy fácil de conectar,
00:01:50simplemente los conectas aquí en Docker.
00:01:52Por ejemplo,
00:01:52he conectado Notion aquí,
00:01:54pueden ver que ahora tengo dos servidores,
00:01:56y mi cliente MCP,
00:01:57que la mayoría de las veces es código de Claude,
00:01:59solo se conecta a Docker,
00:02:01y luego Docker básicamente gestiona todos mis servidores MCP.
00:02:04Así que esto resuelve completamente el primer problema sobre en qué servidores MCP confiamos realmente.
00:02:09Ahora,
00:02:10para permitir que nuestros agentes usen estos MCP dinámicamente,
00:02:13han implementado esta pasarela MCP que ya tiene herramientas preconstruidas para usar los servidores MCP dentro del catálogo y utilizarlos de forma autónoma.
00:02:22Así que,
00:02:23esencialmente,
00:02:24lo que sucede es que solo conectas un MCP y este MCP tiene todo el contexto de a qué herramientas está conectado en el catálogo.
00:02:31Me he conectado a dos y sabe qué definiciones de herramientas debe traer al contexto.
00:02:36Así, tu ventana de contexto no se sobrecarga..
00:02:39Ahora,
00:02:39para que esto funcione realmente,
00:02:41añadieron algunas herramientas nuevas que incluyen MCP find,
00:02:44add y remove,
00:02:44que básicamente encuentran servidores MCP en el catálogo por nombre o descripción.
00:02:48Y como les mostraré,
00:02:49los guiaré sobre cómo añadirlos correctamente.
00:02:51Así que,
00:02:52por ejemplo,
00:02:52estoy usando mi MCP de GitHub aquí,
00:02:54y le estoy diciendo que quiero buscar algunos repositorios interesantes.
00:02:57Después de especificar qué tipo de repositorios,
00:03:00no llama a la herramienta directamente,
00:03:02sino que usa el servidor Docker MCP,
00:03:04que luego llama a la herramienta con la información correcta y,
00:03:07obviamente,
00:03:08devuelve todos los resultados.
00:03:09Ahora,
00:03:10quiero que noten una cosa: el LLM está devolviendo todo sobre los repositorios.
00:03:14Devuelve el enlace,
00:03:15las estrellas,
00:03:16la descripción,
00:03:17e incluso sabe la fecha en que se publicaron estos repositorios..
00:03:21Solo quiero que recuerden esto porque será importante más adelante.
00:03:25Ahora, pasemos a la selección dinámica de herramientas.
00:03:28Esta es la parte más importante del artículo,
00:03:31y de esto hablaba cuando mencioné una nueva forma de usar los servidores MCP..
00:03:35Volviendo al artículo de Claude,
00:03:36hablan de cómo Claude o cualquier agente de IA usa más tokens.
00:03:39Uno son las definiciones de herramientas en la ventana de contexto,
00:03:42y el segundo son los resultados intermedios de las herramientas.
00:03:45Aquí es donde hablamos de los resultados brutos que realmente se devuelven de las llamadas a herramientas MCP.
00:03:51Así que todo este detalle que buscamos usando la herramienta de GitHub fue devuelto a la ventana de contexto.
00:03:56Por eso Claude conoce cada pequeño detalle sobre los repositorios,
00:03:59mientras que yo solo quería la descripción y el enlace del repositorio.
00:04:02De esta manera,
00:04:03solo se necesitan unas pocas llamadas a herramientas,
00:04:06como en mi caso,
00:04:07quizás 20 llamadas a herramientas antes de que toda la ventana de contexto se llene.
00:04:11Esto es algo que han mejorado en el proyecto de pasarela MCP,
00:04:13donde solo proporcionan las herramientas que son realmente útiles.
00:04:17Así,
00:04:17por ejemplo,
00:04:18en mi caso,
00:04:18una forma de ahorrar contexto es darme solo la herramienta de búsqueda de repositorios y no las otras 40 herramientas que vienen dentro de este MCP de GitHub.
00:04:26Porque en esta sesión,
00:04:27solo quiero usar la herramienta de búsqueda de repositorios.
00:04:30Pero de nuevo,
00:04:31una vez que empiezas a seleccionar herramientas de esta manera,
00:04:34también se abre un nuevo abanico de posibilidades.
00:04:36Y eso nos lleva al modo de código.
00:04:38Cloudflare básicamente describió cómo hemos estado usando MCP de forma incorrecta,
00:04:41y que esta no es la forma real.
00:04:43Y aquí es donde Docker es el primero en implementar esta nueva solución.
00:04:46He jugado mucho con ello.
00:04:48Y debo decir que estoy realmente sorprendido por cómo resultó la ejecución.
00:04:51Así que dicen que al hacer posible que los agentes programen directamente usando herramientas MCP,
00:04:56es decir,
00:04:56que tomen las herramientas y las implementen en código,
00:04:59pueden proporcionar a los agentes estas herramientas de modo de código que usan las herramientas de una manera completamente nueva.
00:05:05¿Qué hace el modo de código?
00:05:07Crea una herramienta habilitada para JavaScript que puede llamar a otras herramientas MCP.
00:05:11Esto puede parecer muy simple,
00:05:12pero los ejemplos que les mostraré espero que lo aclaren.
00:05:15Ahora,
00:05:16antes de sumergirnos en una implementación,
00:05:18hay otras cosas a considerar.
00:05:19En primer lugar,
00:05:20dado que este es código escrito por un agente,
00:05:22obviamente,
00:05:23no está probado y no es seguro.
00:05:24Así que Docker ha planeado que esto se ejecute en un sandbox.
00:05:27Y como ya proporcionan contenedores Docker,
00:05:29esto fue bastante obvio para ellos.
00:05:31Este enfoque termina ofreciendo tres beneficios clave.
00:05:33En primer lugar,
00:05:34es completamente seguro,
00:05:35porque ese es el principal beneficio del sandboxing.
00:05:38No causa ningún daño real a tu sistema.
00:05:40Luego está toda la eficiencia de tokens y herramientas de la que hemos estado hablando,
00:05:44donde la herramienta que usa no tiene que ser enviada al modelo en cada solicitud,
00:05:48el modelo solo necesita saber sobre una nueva herramienta de modo de código.
00:05:52Así que sin el modo de código,
00:05:53si solo estás usando,
00:05:54digamos,
00:05:54estas tres herramientas,
00:05:56y las está ejecutando repetidamente,
00:05:57el contexto de esas otras 47 herramientas también va junto con las tres herramientas que realmente estamos usando.
00:06:03Pero con el modo de código,
00:06:04lo que sucede es que el agente escribe la herramienta personalizada 'analizar mis repositorios' usando solo las herramientas que realmente necesitamos usar.
00:06:12Y cada vez solo hace referencia a esa única herramienta de modo de código.
00:06:15Y de esta manera,
00:06:16guarda todo ese otro contexto al no enviar las herramientas que realmente no necesitamos usar.
00:06:21Y luego también tenemos la persistencia de estado,
00:06:23en la que los volúmenes gestionan cómo se guardan los datos entre estas llamadas a herramientas.
00:06:28Y en realidad no se envían al modelo.
00:06:29Un ejemplo muy simple de esto puede ser una pipeline de procesamiento de datos.
00:06:33Así que digamos que queremos descargar un conjunto de datos,
00:06:36el conjunto de datos se descarga y se devuelve,
00:06:38pero en realidad se guarda en el volumen,
00:06:40y el modelo solo se entera de que se descargó correctamente.
00:06:43El modelo no se inunda con cinco gigabytes de datos.
00:06:46Luego,
00:06:46si queremos procesar las primeras 10.000 filas,
00:06:49el modelo puede simplemente leer del volumen donde se almacenan los datos y devolver el resumen real.
00:06:53De esta manera,
00:06:54solo los datos que deben ir al modelo,
00:06:56como resultados finales,
00:06:57resúmenes,
00:06:58cualquier mensaje de error o respuestas a preguntas,
00:07:00se transfieren al modelo y la ventana de contexto permanece limpia..
00:07:07La razón por la que buscaba estos repositorios de GitHub es para descubrir nuevas herramientas de código abierto que pueda incluir en mis videos.
00:07:14Y lo que normalmente hago es ejecutar múltiples llamadas usando la herramienta 'find GitHub repo'.
00:07:18Simplemente escribo diferentes palabras clave para buscar herramientas.
00:07:21Así que le presenté esto al código de Claude y combinó todas esas diferentes llamadas a herramientas en una sola herramienta que busca repositorios basándose en las palabras clave que le doy.
00:07:29Pueden ver que incluso aquí,
00:07:31sin el modo de código,
00:07:32Docker ejecuta múltiples consultas.
00:07:33Y eso es lo que quería solucionar.
00:07:35La herramienta que creó se llamó 'multi search repos'..
00:07:37Y después de crear la herramienta,
00:07:39usó la herramienta 'MCP exec' para ejecutarla.
00:07:41Básicamente me dio 29 repositorios únicos buscando con seis palabras clave diferentes,
00:07:45pero los resultados se devolvieron directamente en la respuesta y en la terminal,
00:07:49lo que significa que todos los resultados se devolvían dentro de la ventana de contexto.
00:07:54Para solucionar esto,
00:07:55le dije que debía escribir todo en un archivo y que el modelo solo debía obtener la descripción de los repositorios.
00:08:00No era necesario dar estrellas ni nada más al respecto.
00:08:03Y cambió la herramienta y escribió todos esos resultados en un archivo de texto en mi repositorio para que,
00:08:08si quería buscar algo específico sobre un repositorio,
00:08:11pudiera hacerlo consultando el archivo de texto.
00:08:13Ahora hay una cosa que me gustaría ver implementada: una forma de guardar y reutilizar esta herramienta ahora mismo.
00:08:19La única opción es guardarla manualmente como un archivo.
00:08:22Después de eso, le pedí que buscara el MCP de Notion.
00:08:24Una vez conectado,
00:08:25le pregunté si podía crear una herramienta que enviara los resultados de la búsqueda de GitHub directamente a Notion en lugar de usar un archivo de texto.
00:08:33Y de nuevo,
00:08:33usando el modo de código,
00:08:34realmente creó la herramienta 'GitHub to Notion' que me permitiría pegar los resultados en Notion..
00:08:40Y después de ejecutarlo,
00:08:41hubo básicamente algunos pequeños problemas que tuve que solucionar.
00:08:44Pero esencialmente,
00:08:45ahora tengo esta base de datos en Notion.
00:08:47Está básicamente codificada rígidamente.
00:08:49Así que,
00:08:49cualquier consulta que proporcione,
00:08:51simplemente introducirá los resultados en esta base de datos según los diferentes campos..
00:08:55E incluso incluirá la fecha para que pueda filtrarlos fácilmente y buscar solo los resultados que realmente quiero.
00:09:01El modelo solo conoce el nombre y la descripción del repositorio de GitHub que recibe en un momento dado.
00:09:06No obtiene nada más,
00:09:07pero el resto de la información se guarda aquí.
00:09:09Sinceramente,
00:09:10si solo revisan este catálogo,
00:09:11obtendrán al menos una idea de los MCP que podrían encadenar para crear estos flujos de trabajo increíbles.
00:09:17Y al mismo tiempo,
00:09:18están ahorrando tokens y preservando el rendimiento de su propio agente de IA.
00:09:21Empezar con ellos es, sinceramente, bastante fácil.
00:09:24Necesitas actualizar tu versión de Docker.
00:09:26Pero si aún no lo tienes,
00:09:27podrían estar deshabilitados en las funciones beta.
00:09:30Así que asegúrate de que este kit de herramientas Docker MCP esté habilitado..
00:09:34Aparte de eso,
00:09:35tendrás tu catálogo y estas nuevas funciones están habilitadas por defecto.
00:09:39Así que todo lo que tienes que hacer es conectar tu cliente y podrás empezar a usarlos.
00:09:43Con esto llegamos al final de este video.
00:09:45Si desean apoyar el canal y ayudarnos a seguir haciendo videos como este,
00:09:48pueden hacerlo usando el botón de 'Super Gracias' a continuación.
00:09:51Como siempre, gracias por ver, y nos vemos en el próximo..