🥼

Google Apps Script 新時代: 生成 AI と自然言語で拓く Google Workspace 自動化の未来

に公開

概要

本稿では、Google Apps Script (GAS) を AI 時代の統合ハブとして再定義し、Model Context Protocol (MCP) や Agent2Agent (A2A)、そして Gemini CLI エコシステムとの融合によって実現する Google Workspace 自動化の最前線を紹介します。ローカルとクラウドをつなぐデータ統合 (RAG) や、AI が生成した GAS を安全に実行するサンドボックス技術、さらには最新の Google Antigravity 上での自律エージェント連携までを網羅。自然言語による指示だけで複雑なワークフローが自律的に完結する、次世代のワークスタイルとその実装手法を探求します。

序論

人工知能(AI)、特に大規模言語モデルの台頭は、私たちがシステムを自動化する方法を根本から変えつつあります。これまで、スクリプトの実行といえば、開発者がコードを記述し、手動またはイベントトリガーで起動する「命令型」のアプローチが主流でした。この流れは、Google Workspace の自動化を担う Google Apps Script(GAS)においても同様です。Ref 公式ドキュメントで「Google Workspace の統合、自動化、拡張のためのビジネス ソリューションをすばやく簡単に構築するための唯一のローコード プラットフォーム」と称されるように、GAS は長年、確実な自動化ツールとしてその地位を確立してきました。Ref

しかし今、AI の進化はこの伝統的なパラダイムに「自律性」と「対話」という新たな次元を加えています。人間が自然言語で意図(プロンプト)を伝え、AI エージェントがそれを解釈して適切なツールを選び、タスクを遂行する――この新しいワークスタイルの中心にあるのが、AI と外部ツールをつなぐ通信規約「Model Context Protocol (MCP)」です。Ref MCP により、AI は単なるテキスト生成器から、複数のスクリプトを連携させて実務をこなすエージェントへと進化しました。

この変革は、「Gemini CLI」の登場によって、開発者にとって最も親和性の高いターミナル環境へと波及しました。Ref さらに、「Gemini CLI Extensions」がエコシステムを拡張し、ターミナルを起点とした AI 駆動開発を加速させています。Ref そして現在、AI エージェント同士が協調してタスクを解決する次世代プロトコル「Agent2Agent (A2A)」Ref や、それらを支えるプラットフォーム「Google Antigravity」の登場により、自動化は個別のタスク処理から、複雑なワークフローの自律的な完遂へと向かっています。Ref

本稿では、私がこの 1 年間で実践してきた取り組みを体系的に振り返ります。GAS を「AI 時代の統合ハブ」として再定義し、MCP/A2A サーバーとしての活用、ローカルとクラウドのデータサイロを解消する RAG の構築、そして AI 生成コードを安全に実行するためのサンドボックス技術の実装まで、Gemini CLI エコシステムが切り拓く Google Apps Script の新たな可能性と、その実践知を深く掘り下げていきます。

Google Apps Script の AI への応用

ここでは、私の探求の道のりを、公開してきた記事と共に紹介します。これは単なる技術解説ではなく、試行錯誤の記録でもあるため、主体的な表現で記述させていただきます。

Google Apps Script による MCP サーバーの構築

MCP の概念に初めて触れたとき、これは AI の Function Calling を標準化するプロトコルだと直感しました。当時のサンプルコードは Python が主流でしたが、テストを行うことでその将来性を理解するにつれ、これを Google Workspace と連携させれば、多くのユーザーにとって革命的な利便性をもたらすだろうと確信しました。なぜなら、ローカル環境から Google Workspace を操作する際の最大の障壁は、常に OAuth 認証の複雑さにあったからです。Stackoverflow でもこの認証に関する質問が多く認められ、認証問題は多くのユーザにとって、Google Workspace を外部から利用する際のボトルネックと考えられます。GAS を利用すれば、スクリプト実行時に認証が自動的に処理され、ユーザーはシームレスにデータへアクセスできます。この GAS の特性こそが、AI エージェント利用時のボトルネックを解消する鍵になると考えました。

MCP サーバーの仕様を分析した結果、GAS の Web Apps 機能で実装可能であると判断し、早速プロトタイプの開発に着手しました。(Ref A1) まずはシンプルな MCP サーバーを GAS で構築し、Claude Desktop や自作の GAS 製クライアントから呼び出すことで、プロトコル通りに動作することを検証しました。(Ref A2, A3) 自然言語の指示一つで Gmail を操作できたとき、これが自動化の新しい潮流になることを確信した瞬間でした。

関連記事 A

Medium:

  1. Building Model Context Protocol (MCP) Server with Google Apps Script
  2. Gmail Processing using MCP Network Powered by Google Apps Script

GitHub:

  1. https://github.com/tanaikech/MCPApp

Gemini CLI から GAS 製 MCP サーバーへの接続

Gemini CLI の登場は、次のステージへの扉を開きました。構築した GAS 製 MCP サーバーが、クライアントに依存しないプロトコルベースであるため、そのまま活用できるはずだと考え、即座にテストを行いました。予想通り、ターミナルから GAS 上のツールを呼び出し、シームレスに Google Workspace を操作することに成功しました。(Ref B1, B2)

この組み合わせは、GAS の弱点を補い、強みを最大化するものでした。従来、GAS が苦手としていたローカルファイルとの連携や、実行時間 6 分という制限も、Gemini CLI を介し、AI エージェントが複数回実行を指示することで実質的に乗り越えることが可能になります。さらに、ターミナルはローカルだけでなく、Google Cloud Shell や Firebase Studio など、あらゆる開発環境の基盤です。GAS の Web Apps としてデプロイした時点で認証が完了しているため、どこからでも自然言語で安全に Google Workspace のデータを操作できる。これは、GAS の可能性をクラウドからローカル、そしてあらゆる開発シーンへと解放する大きな一歩でした。

この成功を受け、私は Google Workspace の各サービスに特化したツール群を整備し、ライブラリとして公開しました。(Ref B3, B13) これにより、自然言語で Docs, Sheets, Slides, Forms, Calendar, Maps, Classroom, Analytics といった多岐にわたるサービスを自在に操れるようになり、その応用範囲はデータ分析からコンテンツ生成まで、劇的に拡大しました。(Ref B4-B11) 実際に、この記事の草稿作成にもこの仕組みを活用しています。(Ref B12)

関連記事 B

Medium:

  1. Gemini CLI with MCP Server Built by Web Apps of Google Apps Script
  2. Gemini CLI with MCP Server: Expanding Possibilities with Google Apps Script
  3. Gemini CLI: Featuring an Enhanced ToolsForMCPServer
  4. Next-Level Data Automation: Gemini CLI, Google Sheets, and MCP
  5. Managing Google Docs, Sheets, and Slides by Natural Language with Gemini CLI and MCP
  6. Next-Level Data Automation: Gemini CLI, Google Calendar, and MCP
  7. Enhanced Guide to Using Prompts in Gemini CLI
  8. Next-Level Classroom Automation: Gemini CLI, Google Classroom, and MCP
  9. Unifying Google Workspace with Natural Language: Integrated Collaboration through Gemini CLI and MCP
  10. Streamlining Web Page Insights with Natural Language using Gemini CLI, Google Analytics, and MCP
  11. Google Maps with Natural Language: Integrated Collaboration through Gemini CLI and MCP
  12. Streamlining Content Creation: A Guide to Using Gemini CLI, MCP Server, and VSCode

GitHub:

  1. https://github.com/tanaikech/ToolsForMCPServer

GAS 製 MCP サーバーを Gemini CLI Extension として高速化

実用化を進める中で、新たな課題が浮上しました。それは GAS 製 MCP サーバーの初期ロード時間です。MCP の仕様上、クライアントがツール一覧を取得するために、最低でも 4 回の HTTP リクエストが発生します。(下記ワークフロー参照) GAS 製 MCP サーバの数を増やすほど、このオーバーヘッドは無視できなくなりました。

この課題を解決するため、私は Gemini CLI と GAS 製サーバーの間に、ローカルで動作する Node.js 製の MCP サーバーをラッパーとして配置するアーキテクチャを考案しました。(Ref C1) このラッパーはツール定義をキャッシュすることで、GAS 側へのリクエストを最小限に抑えます。結果として、初期ロード時間を劇的に短縮、実に 15 分の 1 にまで削減することに成功しました。さらに、Gemini CLI Extensions の登場に合わせてこれを拡張機能としてパッケージ化し、誰でも簡単にインストールして利用できるようにしました。(Ref C2, C5)

現在、この拡張機能は 160 以上のツールを内包していますが、初期ロード時間は 1 秒程度と極めて高速です。ツールの実行速度も直接 GAS を呼び出す場合と遜色なく、利便性とパフォーマンスの両立を実現できました。

2025 年 11 月 18 日、新たな開発プラットフォーム「Google Antigravity」がリリースされました。Ref Google Antigravity は、単一のタスク実行にとどまらず、複数の AI エージェントが協調して自律的に複雑なワークフローを完遂するための「AI エージェントファースト」な環境を提供します。もちろん、MCP サーバーとの連携もネイティブにサポートされています。これに伴い、Google Workspace の自動化は新たなフェーズへ突入しました。今後は、即時性が求められるタスクは Gemini CLI で、長時間の推論や多段階のプロセスを要する高度なタスクは Google Antigravity 上で自律エージェントに任せるという、用途に応じた使い分けが可能になります。(Ref C3)

2025 年 11 月 25 日、Google Workspace 向けの Gemini CLI Extension が公式にリリースされました。Ref この Extension の最大の特徴は、スムーズな認証フローです。インストール後に Gemini CLI を起動すると、自動的にブラウザが立ち上がり、認証を完了させるだけですぐに利用可能となります。仕組みとしては、ローカル環境から直接 Google Workspace API へリクエストを送り、データの取得や処理を行う形です。その利便性の高さから、今後はこの Extension を利用した開発がスタンダードになっていくと考えられます。さらに、下記の図で示すように、この公式 Google Workspace Extension の MCP サーバーを Google Antigravity で使用する試みも行いました。(Ref C4) Google Antigravity で Google Workspace が使用できるようになることで、より様々なシナリオでの用途や発見に繋がると思われます。

関連記事 C

Medium:

  1. Accelerating Gemini CLI: A Node.js Wrapper for Google Apps Script MCP Servers
  2. Simplified Google Workspace Automation with Gemini CLI Extensions
  3. Agentic Automation in Google Workspace: Bridging Antigravity and Gemini 3.0
  4. Integrating Google Antigravity: Unlocking the Google Workspace Extension for Gemini CLI

GitHub:

  1. https://github.com/tanaikech/ToolsForMCPServer-extension

ローカルと Workspace データを File Search へシームレスに統合

Gemini CLI と GAS 製 MCP サーバーの組み合わせが、ローカルとクラウドのデータを橋渡しできることは示してきました。このアーキテクチャの次なる応用として、私は Gemini API の新機能「File Search」に注目しました。(Ref D1)

ローカルファイルを File Search のデータストアにアップロードするのは簡単ですが、Google Drive 上のドキュメントやスプレッドシートのデータをアップロードするには、一度ローカルにダウンロードするという手間が発生します。このデータサイロ問題を解決するため、私は GAS のツールとして、Google Workspace 上のファイルを直接 File Search ストアにアップロードする機能を開発しました。これにより、ローカルファイルと Google Workspace 上の情報を、単一のデータストア上で統合し、横断的な RAG(Retrieval-Augmented Generation)を実現する道が拓かれました。(Ref D2, D3)

関連記事 D

Medium:

  1. Integrating File Search with the Gemini CLI Extension
  2. From Data Silos to Unified RAG: Gemini CLI Extensions Unify Local and Google Workspace for a Powerful File Search

GitHub:

  1. https://github.com/tanaikech/FileSearchStore-extension

Google Apps Script による A2A ネットワーク構築への挑戦

MCP での成功体験を経て、私の視線は次世代プロトコル「Agent2Agent (A2A)」へと向かいました。A2A は、AI エージェント同士が自律的に対話し、協調してタスクを解決する世界を実現します。ここでも GAS がハブになれるのではないかと考え、検証を開始しました。

しかし、A2A は MCP とは異なる技術的要件を持っていました。特に、.well-known/agent.jsonという特定のパスへのアクセスが必須であり、GAS の Web Apps の標準的な URL 構造では直接対応できませんでした。このパスへのアクセスには、これまでの知見から、現時点では Drive スコープを含むアクセストークンが必要になることを承知していたため、既存の A2A クライアントを改造し、リクエスト時にアクセストークンを付与することで、この問題を回避しました。こうして、GAS による A2A サーバーの動作確認が成功しました。(Ref E1, E4)

さらに、クライアント側も GAS で実装することで、認証をシームレスに行い、GAS エコシステム内で完結した A2A ネットワークを構築できると考え、下のワークフロー図で示すように、その実装にも取り組みました。(Ref E2)

これにより、例えば下の図のように Google Sheets のアクティブセルの値を用いて複数の AI エージェントが連携して処理を行うといった、より高度な自動化が可能になります。

最終的に、MCP サーバーと A2A サーバーの機能を一つの GAS プロジェクトに統合し、下のワークフロー図に示すようなクライアントからのリクエストに応じてプロトコルを切り替えるハイブリッドサーバーを構築しました。(Ref E3) この統合サーバーは、来るべき AI エージェント時代において、Google Workspace を外部の多様なエージェントと接続するための強力なゲートウェイになると信じています。

関連記事 E

Medium:

  1. Building Agent2Agent (A2A) Server with Google Apps Script
  2. Enabling Collaborative Agent Systems through Google Apps Script-based Agent2Agent (A2A) Network
  3. Consolidating Generative AI Protocols: A Single Server Solution for MCP and A2A

GitHub:

  1. https://github.com/tanaikech/taking-advantage-of-Web-Apps-with-google-apps-script

AI が生成する GAS コードの安全な実行環境を求めて

Gemini CLI は、GAS コードの生成においても非常に強力なアシスタントです。しかし、AI が生成したコードを無検証で実行することには、重大なセキュリティリスクが伴います。特に GAS は、時に Google Drive の全ファイルへのアクセス権限などを要求するため、安全な実行環境(サンドボックス)の確立が不可欠でした。私自身、生成 AI が一般的に公開される以前から GAS 用サンドボックスの構想は持っていましたが、その実現の困難さから開発は停滞していました。

転機となったのは、Bruce Mcpherson 氏から、彼が開発するgas-fakesプロジェクトへの参加招待を受けたことでした。gas-fakesは、GAS の全クラスとメソッドをローカルの Node.js 環境で再現し、クラウドとローカルの両方で同じコードを実行可能にすることを目指す壮大なプロジェクトです。これを理解したとき、私が諦めかけていたサンドボックス構想が、gas-fakesによって実現できると確信しました。

Bruce 氏との議論と共同開発を経て、私たちはついに GAS 用サンドボックスのプロトタイプを完成させ、その実現可能性を世界で初めて示すことができました。(Ref F1) このサンドボックスは、ファイルやフォルダへのアクセス、使用可能なメソッドなどを細かく制御しながら、AI が生成した GAS コードを安全に実行します。さらに、このサンドボックス機能を MCP サーバーとして公開することで、Gemini CLI から自然言語で安全に GAS コードを生成・実行するワークフロー(下図)を確立しました。(Ref F2)

その後、gas-fakesの利便性をさらに高めるため、CLI ツール化、そして Gemini CLI Extension「GAS Development Kit」としての公開へと発展させました。(Ref F3, F4, F9) これにより、ローカルでもクラウド(Google Cloud Shell, Firebase Studio など)でも、ターミナルさえあれば最新の GAS 開発ワークフローを実践できる環境が整いました。(Ref F5, F6)

この安全な実行基盤は、未来の自動化スタイルを予感させます。私は、リアルタイムで生成されたスクリプトを動的に MCP サーバーのツールとして追加し、再利用可能にする実験にも成功しました。(Ref F7) 将来、固定的な MCP サーバーすら不要になり、プロンプトで与えられたタスクを解決するため、AI がその場で最適なコード(あるいはそれに類するもの)を生成し、サンドボックス内で即座に実行する世界が来るかもしれません。その時、個々のタスクに特化した AI エージェント群と、それらを繋ぐ A2A のようなプロトコルが、決定的に重要な役割を担うことになると考えています。

この未来像の実現において、Google Antigravity は決定的なピースとなります。Gemini 3.0 の高度な推論能力と Antigravity の実行環境が組み合わさることで、「コード生成 → サンドボックスでの検証 → 実行」というサイクルを、人間が介在することなく自律的に回すことが可能になるからです。今後は、Gemini CLI でのプロトタイピングに加え、Antigravity 上での「AI エージェントファースト」な GAS 開発が、新たなスタンダードとして定着していくと思われます。(Ref F8)

関連記事 F

Medium:

  1. A Fake-Sandbox for Google Apps Script: A Feasibility Study on Securely Executing Code Generated by Gemini CLI
  2. Secure and Conversational Google Workspace Automation: Integrating Gemini CLI with a gas-fakes MCP Server
  3. Streamlining Google Apps Script Development with Gemini CLI Extensions and VSCode
  4. Secure and Streamlined Google Apps Script Development with gas-fakes CLI and Gemini CLI Extension
  5. Bridging the Gap: Seamless Integration for Local Google Apps Script Development
  6. Modern Google Apps Script Workflow Building on the Cloud
  7. Dynamic Tool Creation for Google Workspace Automation with Gemini CLI
  8. Next-Generation Google Apps Script Development: Leveraging Antigravity and Gemini 3.0

GitHub:

  1. https://github.com/tanaikech/gas-development-kit-extension

まとめ

本稿で振り返った 1 年間の実践と最新の技術動向を通じ、Google Apps Script (GAS) と AI 技術の融合は、単なるタスク自動化を超え、自律的な業務遂行を実現するフェーズへと突入しました。

  • AI 時代の統合ハブとしての再定義: GAS が持つ Web Apps 機能と堅牢な認証機構は、MCP や A2A といったプロトコルにおいて、AI エージェントと Google Workspace を接続する「要(ハブ)」として機能します。公式の Google Workspace Extension の登場により、その接続はより標準化され、手軽なものとなりました。
  • ローカルとクラウドの境界消失: Gemini CLI との連携は、GAS をクラウド上の閉じた環境から解放しました。ターミナルを起点に、ローカルリソース、Google Workspace、そして Google Antigravity のような AI プラットフォームがシームレスに繋がり、場所を問わないハイブリッドな開発環境を実現します。
  • アーキテクチャによるパフォーマンスの克服: 初期応答速度(コールドスタート)の課題は、Gemini CLI Extensions やキャッシュ戦略を用いたアーキテクチャの工夫により解決され、実運用に耐えうる高速なレスポンスが確保されています。
  • データサイロの解消と RAG の深化: GAS をゲートウェイとして機能させることで、Workspace 内のデータを File Search 等の外部コンテキストへ直接統合し、情報の保管場所(ローカル/クラウド)を意識させない高度な検索・生成(RAG)基盤が構築可能です。
  • 自律化を支える「安全な実行基盤」: gas-fakesによるサンドボックス技術は、AI が生成したコードを動的かつ安全に実行するために不可欠です。これは、単に用意されたツールを使う段階から、AI がその場でコードを生成・検証・実行して課題を解決する世界へ移行するための核心的な技術となります。
  • 「Agentic Automation」への進化: Google Antigravity と Gemini 3.0 の登場は、複数の AI エージェントが協調して複雑なワークフローを完遂する未来を決定づけました。GAS は、この新たなエコシステムにおいて、エージェントの実働部隊として、あるいはエージェント間の接着剤として、その重要性をさらに増していくでしょう。

謝辞

gas-fakes共同開発を進めるにあたり、多くの建設的な議論を交わし、貴重な示唆を与えてくださった Bruce Mcpherson 氏に心より感謝申し上げます。

Google Cloud Japan

Discussion