00:00:00Google Workspace vient de faire un grand bond en avant pour les agents IA grâce à la sortie d'un
00:00:04outil CLI robuste qui permet à votre agent d'interagir avec n'importe quelle API Google Workspace.
00:00:09Lire des fichiers sur Drive, envoyer des emails ou même créer des slides, tout a été conçu
00:00:14pour l'IA, ce qui signifie une consommation minimale de tokens et une création de commandes
00:00:19dynamique pour des API toujours à jour. Mais quand un géant comme Google
00:00:24crée un CLI pour ce qui était (et reste) un serveur MCP, qu'est-ce que cela signifie
00:00:29pour l'avenir du protocole MCP ? Abonnez-vous et découvrons-le ensemble.
00:00:33Le mois dernier, j'ai fait une vidéo sur Playwright qui lançait un CLI pour son serveur MCP.
00:00:42Aujourd'hui, Google Workspace fait de même et tout le monde s'enflamme sur Twitter.
00:00:46C'est un outil CLI construit par Justin, qui explique dans un blog comment il l'a optimisé
00:00:52spécifiquement pour les agents. Il propose plus de 100
00:00:57compétences téléchargeables sur skills.sh, ce qui ravit notre ami le "g-man".
00:01:01Mais avant de voir ses capacités, passons par l'étape de configuration car, comme souvent
00:01:06avec les outils Google Cloud, ce n'est pas si simple. Regardez.
00:01:10D'abord, et c'est le plus important, il vous faut un accès à la console Google Cloud.
00:01:15Créez un projet ou utilisez-en un existant. J'en ai créé un. Installez ensuite le gcloud CLI,
00:01:21via Brew sur Mac par exemple. Une fois le CLI Google Workspace installé,
00:01:26lancez cette commande pour démarrer la configuration, qui est assez intuitive.
00:01:31Utilisez votre email, choisissez votre projet GCP et sélectionnez les API souhaitées.
00:01:37Ensuite, allez dans "API et services", puis "Identifiants"
00:01:42pour créer un nouvel ID client OAuth. Je pense que n'importe quel type d'application fonctionne ;
00:01:48j'ai choisi "Web", mais "Bureau" devrait marcher car il ne faut que l'ID et le secret.
00:01:53L'étape suivante est un peu plus délicate : après avoir lancé cette commande,
00:01:57vous devrez choisir votre périmètre d'authentification. J'ai tout coché pour ce test,
00:02:02ce qui n'est pas idéal mais pratique pour l'essai. Vous obtiendrez une longue URL.
00:02:08Vérifiez bien qu'il n'y a pas de fautes de frappe pour éviter les erreurs,
00:02:12et notez bien le numéro de port après "localhost", dans mon cas : 51065.
00:02:18Retournez dans la console Cloud, section "Écran de consentement OAuth",
00:02:23cliquez sur vos clients Web. Plus bas, dans "URI de redirection autorisés",
00:02:28ajoutez ce numéro de port (51065). Mais ce n'est pas tout.
00:02:33Allez dans "Audience" et ajoutez votre adresse email si elle n'y est pas.
00:02:37Si votre application est déjà publiée, vous n'aurez pas ce problème,
00:02:40mais comme je ne fais que tester l'API, je suis en mode test.
00:02:44Je dois donc m'ajouter comme utilisateur test, ainsi que toute personne utilisant ce CLI.
00:02:48Ceci fait, copiez l'URL et suivez les étapes pour configurer le CLI.
00:02:52À la fin, vous devriez voir un message de succès. Si l'écran n'apparaît pas,
00:02:56attendez quelques secondes car l'enregistrement de l'URI de redirection peut être long.
00:03:01C'est cette phase de configuration qui m'a pris le plus de temps à comprendre,
00:03:06ce qui prouve que je n'utilise pas Google Cloud tous les jours. Mais une fois fini,
00:03:11vos informations s'affichent et le vrai plaisir commence. Regardez ça.
00:03:15Je commence simplement en demandant à Claude des infos sur mes 10 derniers emails.
00:03:19J'espère qu'il n'y a rien de trop confidentiel. En utilisant le CLI GWS,
00:03:24il me donne l'expéditeur, l'objet, la date et les libellés de chaque message.
00:03:28On remarque que cette tâche n'a consommé que 9 % du contexte global car il n'y a
00:03:33aucun outil MCP ici. L'essentiel du contexte vient des messages. Essayons autre chose.
00:03:38Je demande à Claude de rédiger un brouillon d'email avec l'objet "J'aime Claude"
00:03:44et un joli poème en corps de texte. Il utilise à nouveau le CLI GWS via Python et Bash.
00:03:50Et voilà, j'ai un nouveau brouillon écrit par Claude. Zoomons un peu :
00:03:56un email contenant un poème sur son amour pour Claude. La façon dont Claude utilise
00:04:00le CLI GWS est fascinante. Si on regarde les commandes passées,
00:04:05on voit beaucoup de sous-commandes et un flag "params" avec du JSON à l'intérieur.
00:04:11Ce qui est incroyable, c'est que si moi, humain, je tapais "gws help"
00:04:16pour voir les options, je n'en verrais qu'une poignée. Pour aller plus loin,
00:04:23je devrais utiliser "help" de manière répétitive sur chaque sous-commande.
00:04:28Mais l'agent, lui, récupère ces informations instantanément. Il connaît
00:04:32les paramètres exacts pour obtenir les bonnes données du premier coup.
00:04:37Regardez : j'ai tapé ma demande, il a utilisé "help" une seule fois
00:04:43et a tout compris tout de suite. Nous allons détailler comment cela fonctionne,
00:04:48mais on voit que l'aide du CLI définit l'usage par service, ressource et sous-ressource.
00:04:53Le service est listé en bas. Et pour plus de détails,
00:04:57on peut utiliser "gws schema" avec le service et la méthode. Allez, un dernier test.
00:05:03Je demande à Claude de créer une présentation Google Slides avec un titre
00:05:08"Claude cat" et quatre autres diapositives contenant des images de chats. Il utilise le CLI,
00:05:15demande de l'aide pour les commandes "slides" et "presentations", et termine le travail.
00:05:20Voyons le résultat dans le navigateur. Le voici. J'avais déjà fait un test
00:05:24avec des chiens, mais voyons celui-ci. Titre : "Claude cats", sous-titre :
00:05:30"A purified collection" et cinq slides avec des images de chats. C'est génial.
00:05:36Et nous n'avons utilisé que 15 % du contexte. On pourrait continuer ainsi longtemps,
00:05:42comme ici où j'ai créé un Google Sheets avec la population des États américains,
00:05:47un total en bas, et j'ai même planifié des événements dans mon calendrier.
00:05:52Vous avez noté que j'ai fait tout ça sans installer de compétences spécifiques,
00:05:58mais le projet propose plein de "skills" (assistants, personas, recettes) pour des actions
00:06:05complexes comme bloquer du temps de concentration. Comment Justin a-t-il réussi cela ?
00:06:10D'abord, il a privilégié le JSON imbriqué, illisible pour l'homme mais idéal pour les agents.
00:06:16Il a aussi rendu la documentation interrogeable à l'exécution. Grâce à la section
00:06:21"schema", si une API change ou si l'agent se trompe de paramètre,
00:06:26il sait exactement où vérifier la correction sans aucune confusion.
00:06:31Les paramètres et champs permettent aussi de filtrer les données renvoyées par l'API.
00:06:36L'agent ne reçoit que le strict nécessaire au lieu d'un surplus d'informations,
00:06:42ce qui économise énormément de tokens. Enfin, il utilise les "skills" pour
00:06:47guider l'agent. Je ne les ai pas utilisés ici, mais ils offrent bien plus d'infos
00:06:53que le simple flag "help". Alors, les serveurs MCP sont-ils finis au profit des CLI ? Pas vraiment.
00:06:59Car avec MCP, l'agent appelle les fonctions directement sans avoir
00:07:06à construire des commandes shell ou manipuler du JSON manuellement comme le fait le CLI.
00:07:11Les outils MCP sont aussi plus performants pour enchaîner des étapes complexes sans terminal,
00:07:16c'est pourquoi le CLI Google Workspace propose une option MCP. Cependant, les CLI
00:07:24consomment beaucoup moins de tokens. Ils sont portables, fonctionnant avec ou sans
00:07:28framework d'agent. Et il est très facile de reproduire une commande pour le débogage.
00:07:34Tout dépend donc de votre usage. J'ai tout de même eu quelques soucis avec le CLI,
00:07:40comme des fautes de frappe dans les URL générées, je ne sais pas trop comment.
00:07:47L'histoire du port localhost pour la redirection m'a aussi pris du temps.
00:07:52Est-ce lié à Google Cloud ou au CLI ? Peu importe, ce n'était pas drôle. Et j'ai eu
00:07:59un problème de mise à jour des tokens, au point de créer un ticket sur GitHub.
00:08:05Enfin, c'est Claude qui l'a écrit pour moi ! Mais pour un projet vieux
00:08:10de moins d'une semaine avec déjà 10k étoiles sur GitHub, l'avenir semble radieux.
00:08:16D'ailleurs, si vous voulez créer une application Electron boostée par Bun,
00:08:21pour gagner en vitesse et en légèreté, allez voir ma vidéo sur
00:08:26Electrobahn. Je vous montre comment l'utiliser pour un projet Vite simple.