00:00:00Google WorkspaceがAIエージェントにとってさらに強力になりました。というのも、
00:00:04あらゆるGoogle Workspace APIとエージェントを連携させるCLIツールがリリースされたからです。
00:00:09Driveのファイル読み込み、メール送信、スライド作成まで、すべてAIエージェント向けに
00:00:14ゼロから構築されています。トークン使用量を最小限に抑え、実行時にコマンドを動的生成するため、
00:00:19APIは常に最新状態です。ですが、Googleのような大企業が、これまでもあり、今も存在する
00:00:24MCPサーバーのためのCLIを作ることは、一体何を意味するのでしょうか?
00:00:29MCPの未来はどうなるのか、チャンネル登録して一緒に探っていきましょう。
00:00:33先月、Playwrightが以前はMCPサーバーだったもののためにCLIを作成したという動画を出しました。
00:00:42今度はGoogle Workspaceが同じことを行い、Twitter(現X)では大きな話題になっています。
00:00:46これはJustin氏が制作したCLIツールで、彼がエージェント専用に作り込むために行った
00:00:52詳細を記したブログ記事もあります。これについては後ほど。このツールには、
00:00:57skills.shからダウンロードできる100以上の「スキル」があり、g-manも大喜びしています。
00:01:01機能を見る前に、まずはセットアップが必要です。Google Cloud関連のツールをご存知なら、
00:01:06一筋縄ではいかないことはお察しの通りでしょう。お見せします。
00:01:10まず何より、Google Cloudコンソールへのアクセスが必要です。新規プロジェクトを
00:01:15作成するか、既存のものを使います。私は新規作成しました。次にgcloud CLIをインストールします。
00:01:21MacならHomebrewで可能です。そしてGoogle Workspace CLIをインストールしたら、
00:01:26このコマンドを実行してセットアップを進めます。内容は非常に分かりやすいです。
00:01:31認証用メールを入力し、GCPプロジェクトを選択または作成して、アクセスしたいAPIを選びます。
00:01:37この段階が終わったら、「APIとサービス」の「認証情報」に移動し、
00:01:42新しいOAuthクライアントIDを作成します。アプリケーションの種類は何でも良いはずです。
00:01:48私は「ウェブ」にしましたが、「デスクトップ」でも動くでしょう。必要なのはIDとシークレットだけです。
00:01:53その次が少し厄介なステップです。このコマンドを実行した後、
00:01:57認証スコープを選択します。今回はデモなので、理想的ではありませんがすべて選択しました。
00:02:02すると、ブラウザで認証するための非常に長いURLが表示されます。
00:02:08まず、エラーを避けるためにタイポがないか確認してください。そして、
00:02:12localhostの後のポート番号を控えておきます。私の場合、51065でした。
00:02:18クラウドコンソールに戻り、「APIとサービス」の「OAuth同意画面」をクリックして、
00:02:23クライアントから作成したウェブクライアントを選択します。そして下の
00:02:28「承認済みのリダイレクトURI」を先程のポート番号、つまり51065に変更します。まだ終わりではありません。
00:02:33「対象ユーザー」までスクロールし、自分のメールアドレスを追加してください。
00:02:37すでに公開済みのアプリならこの問題はありませんが、
00:02:40今はAPIを試しているだけなので、テストモードを使用しています。
00:02:44そのため、自分やCLIを使わせたいユーザーのメールアドレスを追加する必要があるのです。
00:02:48これで完了です。URLをコピーしてCLIの設定手順に従ってください。
00:02:52終わると「success」と表示されるはずです。もし表示されなければ、
00:02:56リダイレクトURIの登録に時間がかかることがあるので、数秒待ってから再試行してください。
00:03:01このプロセス全体、特にセットアップに一番時間がかかってしまいました。
00:03:06私がGoogle Cloudツールをあまり使わないからかもしれませんが、設定さえ終われば
00:03:11詳細情報が表示され、ここからが本当の楽しみの始まりです。見ていてください。
00:03:15まずはシンプルに、Claudeに最新のメール10件の情報を出してもらうよう頼みます。
00:03:19機密情報が含まれていないことを祈ります。GWS CLIを使って、
00:03:24送信元、件名、日付、ラベルといった各メールの情報が表示されました。
00:03:28このタスクで消費されたコンテキストは全体のわずか9%です。これは、
00:03:33MCPツールが一切介在せず、メッセージがコンテキストの大部分を占めているからです。次は別のことを試しましょう。
00:03:38Claudeに、件名を「I love Claude」として、素敵な詩を添えた下書きメールを
00:03:44書くように頼みます。再びGWS CLIを使い、bashでPythonを書いて実行します。完了すると、
00:03:50Claudeが書いた新しい下書きメールができているのがわかります。少しズームしてみましょう。
00:03:56どれだけClaudeを愛しているかを綴った詩が含まれています。ここで、
00:04:00ClaudeがどのようにGWS CLIを使っているか、非常に興味深い点があります。
00:04:05過去に実行されたコマンドを見ると、多くのサブコマンドとJSON入りのparamsフラグがあります。
00:04:11面白いのは、もし人間が「gws help」と入力して
00:04:16同じことをしようとしても、すべてのサブコマンドは表示されず、一部しか見られない点です。
00:04:23特定のコマンドを深掘りするには、さらにhelpを使い、何度も繰り返さなければなりません。
00:04:28しかし、エージェントはこれらの情報を非常に素早く取得することができます。
00:04:32正しいデータを得るための正確なパラメータさえ把握しています。見てください。
00:04:37私がプロンプトを入力した際、一度だけhelpを使い、そこからこれらすべてを理解しました。
00:04:43どうやってそれを実現しているのか、もう少し詳しく見ていきましょう。
00:04:48CLIのヘルプセクションには使い方が概説されており、サービス、
00:04:53リソース、サブリソースについて言及されています。ここにサービスがありますね。
00:04:57もっと詳しく知りたい場合は、「gws schema」をリソース名などで実行します。もう一つ試しましょう。
00:05:03Claudeにスライドを新規作成させます。1枚目は「Claude cat」というタイトル、
00:05:08残りの4枚には猫の画像を配置させます。今回もgws CLIでhelpを呼び出し、
00:05:15スライドとプレゼンテーションのコマンドを掘り下げていきます。プレゼンが完成しました。
00:05:20ブラウザで確認してみましょう。これです。以前、「Claude dogs」で
00:05:24テストしたことがありますが、こちらを見てください。タイトル「Claude cats」とサブタイトル、
00:05:30そして猫の画像が入った計5枚のスライドがあります。本当に素晴らしいですね。
00:05:36消費したコンテキストはまだ15%です。いくらでも続けられますね。
00:05:42例えば、アメリカ各州の人口と合計値を記載したGoogleスプレッドシートを作成したり、
00:05:47カレンダーに予定を入れたりすることもできました。お気づきかもしれませんが、これらは
00:05:52特定の「スキル」をインストールせずに行いました。しかし、このプロジェクトには
00:05:58ヘルパーやペルソナ、複雑なアクション(集中時間の確保や会議の再調整など)のレシピを含むスキルが多数用意されています。
00:06:05では、なぜこれほど上手く動作するのでしょうか?まずJustin氏は
00:06:10人間には読みにくいものの、エージェントには扱いやすい「ネストされたJSON」を優先しました。
00:06:16また、ドキュメントを実行時に照会可能にしました。先程見たように、
00:06:21このスキーマセクションのおかげで、更新があったりエージェントがパラメータを間違えたりしても、
00:06:26混乱することなくどこを確認すれば正しいかがわかるようになっています。
00:06:31パラメータやフィールドを使って、APIから返される情報の量を制限することも可能です。
00:06:36エージェントが必要な情報だけを絞り込むことで、不要なデータ取得を避け、
00:06:42消費トークンを削減できるのです。もちろん、エージェント向けのガイダンスとしてスキルも使えます。
00:06:47デモでは使いませんでしたが、helpフラグから得られる以上の情報を
00:06:53エージェントに提供します。これでは、MCPサーバーの時代は終わり、スキルとCLIの時代が来たように見えますね?
00:06:59いえ、そうとも言い切れません。MCPなら、シェルコマンドを組み立てて
00:07:06JSONを渡す必要はなく、エージェントが直接関数を呼び出すことができます。
00:07:11複雑なステップの連鎖にもMCPツールは適しており、当然ターミナルも不要です。
00:07:16そのため、Google Workspace CLIにもMCPオプションが存在します。ただし、CLIの方が
00:07:24トークン消費量は圧倒的に少なく、ツール検索機能が有効でも同様です。また、ポータブルであり、
00:07:28エージェント実行環境の有無にかかわらず動作します。さらに、
00:07:34デバッグの際にコマンドを独立して再現するのも簡単です。ユースケース次第といったところですが、
00:07:40CLIを使っている時にいくつか問題もありました。生成されたURLにタイポが含まれていたことがあり、
00:07:47なぜそうなったのか不明です。例のリダイレクトURLのポート設定にも時間がかかりました。
00:07:52これがGoogle Cloud特有の問題かCLIの問題かは分かりませんが、楽しくはありませんでした。また、
00:07:59トークンが正しく更新されない問題があり、GitHubにIssueを立てました。
00:08:05正確にはClaudeに書いてもらったのですが。公開から1週間足らずで、
00:08:10GitHubスター数が1万を超えるこのプロジェクトには、明るい未来が待っていることでしょう。
00:08:16未来といえば、Bunを使ったElectronアプリを作ってみたいと思ったことはありませんか?
00:08:21スピードと小さなバンドルサイズを両立できる方法を、Electrobunを使った
00:08:26シンプルなViteプロジェクトの動画で紹介しています。ぜひチェックしてみてください。