00:00:00Google Workspace acaba de mejorar muchísimo para los agentes de IA porque han lanzado una
00:00:04robusta herramienta de CLI que permite que tu agente interactúe con cualquier API de Google Workspace.
00:00:09Así que lee archivos de Drive, envía correos e incluso crea diapositivas, todo diseñado desde cero
00:00:14para agentes de IA; es decir, usan la menor cantidad de tokens posible y crean comandos de forma dinámica
00:00:19en tiempo de ejecución para que las API estén siempre actualizadas. Pero ahora que una empresa grande como Google
00:00:24crea un CLI para lo que antes era (y sigue siendo) un servidor MCP, ¿qué significa esto
00:00:29para el futuro de MCP? Suscríbete y vamos a descubrirlo.
00:00:33El mes pasado hice un video sobre Playwright creando un CLI para lo que antes era un servidor MCP.
00:00:42Ahora parece que Google Workspace ha hecho lo mismo y la gente en Twitter se está volviendo loca.
00:00:46Es una herramienta de CLI creada por Justin, quien escribió un blog detallando todo lo que hizo
00:00:52para que fuera específicamente para agentes, de lo cual hablaremos luego. Pero tiene más de 100
00:00:57habilidades que puedes descargar de skills.sh, lo cual, por supuesto, ha hecho muy feliz al “g-man”.
00:01:01Pero antes de entrar en lo que puede hacer, debemos pasar por la configuración porque, si algo sabemos
00:01:06de las herramientas relacionadas con Google Cloud, es que no es tan sencillo. Déjame mostrarte.
00:01:10Primero, y lo más importante, necesitarás acceso a la consola de Google Cloud. Puedes crear un nuevo
00:01:15proyecto o usar uno existente. Yo creé uno nuevo. Luego, deberás tener instalado gcloud CLI,
00:01:21que puedes hacer con brew si usas Mac. Y con el CLI de Google Workspace instalado,
00:01:26tendrás que ejecutar este comando para realizar la configuración, que es bastante intuitiva.
00:01:31Usa tu email para la autenticación, elige un proyecto de GCP o configura uno y elige las API a las que quieres
00:01:37tener acceso. Una vez terminada esta etapa, tendrás que ir a Credenciales de API y servicios
00:01:42y crear un nuevo ID de cliente de OAuth, que creo que puede ser para cualquier tipo de aplicación. Yo elegí web,
00:01:48pero estoy seguro de que funcionará con escritorio porque solo necesitas el ID de cliente y los secretos.
00:01:53Después de hacer eso, la siguiente etapa es donde las cosas se complican un poco porque, tras
00:01:57ejecutar este comando, tendrás que seleccionar tu alcance de autenticación. Para esta demo, seleccioné todo,
00:02:02lo cual no es ideal, pero solo estaba probando la API. Luego obtendrás una URL enorme para autenticarte en
00:02:08tu navegador. Primero, asegúrate de que no haya errores tipográficos porque podrías
00:02:12obtener errores, pero deberás anotar el puerto después de localhost, que en mi caso es 51065.
00:02:18Y luego, de vuelta en la consola de Cloud, haz clic en API y servicios, pantalla de consentimiento de OAuth,
00:02:23luego en clientes, elige tus clientes web. Y aquí abajo, donde dice URI de redireccionamiento
00:02:28autorizados, cámbialo a ese número de puerto. 51065, y aún no hemos terminado.
00:02:33Ve a audiencia, desplázate hacia abajo y añade tu dirección de correo electrónico aquí, si no está ya.
00:02:37Ahora, si ya tienes una aplicación publicada, no tendrás este problema,
00:02:40pero como solo estoy probando la API, la estoy usando en modo de prueba.
00:02:44Así que necesito añadir mi correo y el de todos los usuarios que quieran usar el CLI aquí.
00:02:48Con eso hecho, puedes copiar esta URL y seguir los pasos para configurar el CLI.
00:02:52Y una vez que termines, deberías tener un estado de éxito. Si no ves esta pantalla,
00:02:56espera unos segundos e inténtalo de nuevo, porque tarda un poco en registrar la URI de redireccionamiento.
00:03:01Todo este proceso, solo la configuración, fue lo que más tiempo me tomó resolver,
00:03:06lo que demuestra que no uso las herramientas de Google Cloud tan a menudo, pero una vez que terminas,
00:03:11deberías ver tus detalles aquí, lo que significa que la diversión puede comenzar. Mira esto.
00:03:15Voy a empezar con algo simple y le pediré a Claude que me dé información sobre mis últimos 10 correos.
00:03:19Espero que no haya nada sensible ahí. Y usando el CLI de GWS,
00:03:24me ha dado información de cada correo con el remitente, asunto, fecha y etiquetas.
00:03:28Y podemos ver que para esta tarea, solo ha usado el 9% del contexto total simplemente porque
00:03:33no hay herramientas MCP aquí. La mayor parte del contexto ha sido usado por los mensajes. Bien, probemos
00:03:38otra cosa. Le voy a pedir a Claude que me escriba un borrador de correo con el asunto “Amo a Claude” y un cuerpo
00:03:44con un poema bonito. De nuevo, usa el CLI de GWS, escribe algo de Python usando bash. Y ahora que terminó,
00:03:50podemos ver que tengo un nuevo borrador aquí escrito por Claude. Déjenme acercar un poco. Contiene un
00:03:56correo con un poema que dice cuánto amo a Claude. Ahora, hay algo muy interesante en
00:04:00la forma en que Claude usa el CLI de GWS. Si echamos un vistazo a los comandos que ha hecho antes,
00:04:05podemos ver aquí que hay muchos subcomandos y hay una bandera de parámetros con JSON dentro.
00:04:11Lo que es realmente interesante es que si yo, como humano, quisiera hacer lo mismo
00:04:16escribiendo “gws help” para ver todos los subcomandos, no me salen todos. Me salen unos pocos.
00:04:23Y si quiero profundizar en un comando específico, tendría que usar “help” para obtener aún más
00:04:28información y seguir haciendo eso una y otra vez. Pero el agente es capaz de obtener
00:04:32esta información muy rápido. E incluso conoce los parámetros exactos para obtener los datos correctos,
00:04:37quiero decir, mira esto. Escribí el prompt aquí. Usó “help” una vez y fue capaz de descifrar
00:04:43todo esto solo con eso. Ahora vamos a entrar en un poco más de detalle sobre cómo puede hacer eso,
00:04:48pero podemos ver aquí que la sección de ayuda del CLI resume el uso y menciona el servicio,
00:04:53recurso y subrecurso. Podemos ver el servicio aquí abajo. Y si quieres más información,
00:04:57también podríamos mirar “gws schema” con un servicio, recurso y método. Vale, probemos una
00:05:03cosa más. Le voy a pedir a Claude que cree un nuevo documento de Slides con una diapositiva que tenga el
00:05:08título “Gato Claude” y otras cuatro diapositivas con imágenes de gatos. De nuevo, usa el CLI de gws pidiendo
00:05:15ayuda, luego profundiza en la ayuda para los comandos de slides y presentaciones. Y ya terminó de hacer
00:05:20nuestra presentación. Vamos a verla en el navegador. Aquí está. Pueden ver que ya había hecho
00:05:24una prueba con “Perros Claude”, pero probemos esta. Y tenemos el título “Gatos Claude” con un subtítulo,
00:05:30una colección purr-fecta con cinco diapositivas que contienen imágenes de gatos. Esto es genial. Y solo
00:05:36hemos usado el 15% del contexto. Así que podríamos seguir y seguir haciendo cosas diferentes. Como aquí,
00:05:42que he creado un documento de Google Sheets con la población de cada estado de EE. UU. con un
00:05:47total al final e incluso programé eventos en mi calendario. Ahora, habrán notado que hice todo
00:05:52esto sin instalar ninguna habilidad específica de Google Workspace, pero el proyecto tiene muchas
00:05:58habilidades disponibles que contienen ayudantes, personas y recetas para acciones más complejas como bloquear
00:06:05tiempo de enfoque y reprogramar una reunión. Entonces, ¿cómo logró Justin que esto funcionara tan bien? Primero,
00:06:10priorizó el JSON anidado, que es difícil de leer para los humanos pero mucho más fácil para los agentes. También
00:06:16hizo que la documentación fuera consultable en tiempo de ejecución, algo que vimos antes, pero esta sección
00:06:21de esquema aquí hace que si algo se actualiza o el agente introduce un parámetro erróneo,
00:06:26sepa exactamente a dónde ir para verificar cuál es el correcto sin ninguna confusión. Los
00:06:31parámetros o campos también pueden usarse para reducir la cantidad de información que devuelve la API.
00:06:36Así, el agente puede limitar la información a solo lo que necesita en lugar de obtener información extra
00:06:42innecesaria, lo que reduce la cantidad de tokens utilizados. Y por supuesto, usa habilidades para
00:06:47guía específica del agente, que no usé en la demo, pero proporcionan más información de la que
00:06:53el agente puede obtener usando la bandera de ayuda. Así que está claro: los servidores MCP han muerto, las habilidades y los CLI mandan, ¿no?
00:06:59Bueno, no del todo, porque con los MCP, el agente puede simplemente llamar a las funciones directamente en lugar
00:07:06de tener que construir comandos de shell y pasar JSON, que es lo que hace el CLI. Las herramientas MCP
00:07:11también son mejores para encadenar pasos complejos. Y, por supuesto, no necesitas una terminal para ejecutarlas,
00:07:16por eso el CLI de Google Workspace sí tiene una opción de MCP. Sin embargo, los CLI usan muchos menos tokens,
00:07:24incluso con la herramienta de búsqueda de herramientas activada. Son portátiles, lo que significa que pueden funcionar con cualquier
00:07:28entorno de agente o sin él, si no quieres usar uno. Y es fácil reproducir los
00:07:34comandos de forma independiente para depurar. Así que supongo que depende de tu caso de uso, pero sí tuve
00:07:40algunos problemas al usar el CLI, como que las URL generadas contenían errores tipográficos, y no tengo idea de cómo
00:07:47pasó eso. Todo el asunto del puerto de localhost de la URL de redireccionamiento me tomó un tiempo resolverlo. No estoy
00:07:52seguro de si es algo específico de las herramientas de Google Cloud o solo del CLI, pero no fue divertido. Y tuve
00:07:59un problema con los tokens que no se actualizaban correctamente e incluso creé un reporte de error en GitHub. Bueno,
00:08:05Claude lo escribió por mí. En realidad, yo no escribí nada, pero para un proyecto que tiene menos de una
00:08:10semana y más de 10,000 estrellas en GitHub, ya tiene un futuro muy prometedor por delante.
00:08:16Y hablando de un futuro prometedor, si alguna vez has querido crear una aplicación de Electron con Bun,
00:08:21para obtener la velocidad y un tamaño de paquete pequeño, entonces mira este video que he hecho
00:08:26sobre Electrobahn que te enseña cómo usarlo para un proyecto sencillo de Vite.