Google Workspace MCP と Gemini CLI を使ってみる

1. はじめに

この Codelab では、Model Context Protocol(MCP)を使用して Gemini CLIGoogle Workspace データに接続する方法を学びます。MCP は、AI モデルがリモート サーバーから提供されたツールを安全に使用できるようにするオープン スタンダードです。Gemini CLI をクライアントとして使用して、コードを記述することなく Gmail、Google ドライブ、Google カレンダー、Google Chat、People API を操作します。

Google Workspace MCP アーキテクチャ

演習内容

  • Google Cloud プロジェクトで Google Workspace MCP サービスを有効にします。
  • これらの MCP サービスを使用するように Gemini CLI を構成します。
  • Google Workspace のデータとやり取りする楽しく便利なプロンプトを使用して、統合をテストします。

必要なもの

  • ウェブブラウザ(Chrome など)
  • Google Cloud プロジェクト
  • Google Workspace アカウント
  • ローカルマシンにインストールされた Gemini CLI

この Codelab の所要時間は 30 分程度です。

この Codelab への簡単なアクセス

この Codelab にアクセスするための QR コード

2. 始める前に

Google Cloud プロジェクトを作成または選択する

Google Cloud コンソールで、Google Cloud プロジェクトを選択または作成します。

API を有効にする

Google Workspace MCP サーバーを使用するには、標準の Google Workspace API を有効にする必要があります。一部の MCP サーバーは独立して動作しますが、他の MCP サーバーでは基盤となる標準 API を有効にする必要があります。

  • GmailChat では、引き続き標準 API が必要です。
  • ドライブでは、特定のツールに標準 API が必要です。
  • カレンダーでは、標準 API を有効にする必要はありません。
  • People API は標準権限と MCP 機能の両方を処理するため、有効にする個別の MCP サービスはありません。

MCP サービスを有効にする

次に、商品専用の MCP サービスを有効にします。

Chat 用アプリを構成する

Google Chat MCP サーバーを使用するには、Google Cloud プロジェクトで Chat 用アプリを構成する必要があります。

  1. Google Cloud コンソールで「Google Chat API」を検索し、[Google Chat API] > [管理] > [構成] の順にクリックします。
  2. Chat 用アプリを設定します。
    • [アプリ名] フィールドに「Chat MCP」と入力します。
    • [アバターの URL] フィールドに「https://developers.google.com/chat/images/quickstart-app-avatar.png」と入力します。
    • [説明] に「Chat MCP server」と入力します。
    • [機能] で、[インタラクティブ機能を有効にする] をオフにします。
    • [ログ] で、[エラーを Logging にロギング] を選択します。
  3. [保存] をクリックします。

3. OAuth の同意とクライアントを構成する

Google Workspace MCP サーバーは、安全な認証に OAuth 2.0 を使用します。OAuth 同意画面を構成し、デスクトップ アプリケーション クライアントを作成する必要があります。

Google Workspace MCP サーバーは認証に OAuth 2.0 を使用します。まず同意画面を構成する必要があります。

  1. Google Cloud コンソールで、[Google Auth Platform] > [ブランディング] に移動します。構成されていない場合は、[開始] をクリックします。
  2. [アプリ情報] を構成します。
    • アプリ名: Google Workspace MCP Servers
    • ユーザー サポートメール: メールアドレスを選択します。
  3. [対象ユーザー] を構成します。内部(または、[内部] が使用できない場合は [外部])を選択します。
  4. [連絡先情報] を構成する: メールアドレスを入力します。
  5. ユーザーデータに関するポリシーを確認して同意し、[作成] をクリックします。
  6. [外部] を選択した場合は、[オーディエンス] に移動し、[テストユーザー] にメールアドレスを追加します。
  7. [データアクセス] > [スコープを追加または削除] に移動します。[スコープの手動追加] で、使用するサーバーに次のスコープを追加します。
    • Google カレンダー: https://www.googleapis.com/auth/calendar.calendarlist.readonlyhttps://www.googleapis.com/auth/calendar.events.freebusyhttps://www.googleapis.com/auth/calendar.events.readonly
    • Google Chat: https://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.messages.readonlyhttps://www.googleapis.com/auth/chat.users.readstate.readonly
    • Google ドライブ: https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive.file
    • Gmail: https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.compose
    • People API: https://www.googleapis.com/auth/directory.readonlyhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/contacts.readonly
  8. [テーブルに追加]、[更新]、[保存] の順にクリックします。

OAuth クライアント ID を作成する

  1. [Google Auth Platform] > [クライアント] > [クライアントの作成] に移動します。
  2. アプリケーションの種類として [デスクトップ アプリ] を選択します。
  3. Gemini CLI という名前を付けます。
  4. [作成] をクリックし、クライアント IDクライアント シークレットをコピーします。この 2 つは以降の手順で必要になります。

4. Gemini CLI を構成する

次に、これらのエンドポイントを使用するように Gemini CLI を構成します。Gemini CLI がインストールされていない場合は、Gemini CLI のウェブサイトのインストール手順に沿って操作します。

構成ファイルを作成する

ホーム ディレクトリで ~/.gemini/settings.json を開くか作成し、次の構成を追加します。プレースホルダを OAuth 認証情報に置き換えます。

{
  "mcpServers": {
    "calendar": {
      "httpUrl": "https://calendarmcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/calendar.calendarlist.readonly",
          "https://www.googleapis.com/auth/calendar.events.freebusy",
          "https://www.googleapis.com/auth/calendar.events.readonly"
        ]
      }
    },
    "chat": {
      "httpUrl": "https://chatmcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/chat.spaces.readonly",
          "https://www.googleapis.com/auth/chat.memberships.readonly",
          "https://www.googleapis.com/auth/chat.messages.readonly",
          "https://www.googleapis.com/auth/chat.users.readstate.readonly"
        ]
      }
    },
    "drive": {
      "httpUrl": "https://drivemcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/drive.readonly",
          "https://www.googleapis.com/auth/drive.file"
        ]
      }
    },
    "gmail": {
      "httpUrl": "https://gmailmcp.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/gmail.readonly",
          "https://www.googleapis.com/auth/gmail.compose"
        ]
      }
    },
    "people": {
      "httpUrl": "https://people.googleapis.com/mcp/v1",
      "oauth": {
        "enabled": true,
        "clientId": "<YOUR_CLIENT_ID>",
        "clientSecret": "<YOUR_CLIENT_SECRET>",
        "scopes": [
          "https://www.googleapis.com/auth/directory.readonly",
          "https://www.googleapis.com/auth/userinfo.profile",
          "https://www.googleapis.com/auth/contacts.readonly"
        ]
      }
    }
  }
}

5. MCP サーバーを認証して検証する

MCP サーバーを使用する前に、認証して接続されていることを確認する必要があります。

Gemini CLI を起動する

ターミナルで次のコマンドを実行して Gemini CLI を起動します。

gemini

認証

Gemini CLI で対応するコマンドを実行して、テストするサービスで認証します。この Codelab で使用する予定のサービスに対してのみ認証を行う必要があります。

カレンダー

/mcp auth calendar

チャット

/mcp auth chat

ドライブ

/mcp auth drive

Gmail

/mcp auth gmail

ユーザー

/mcp auth people

ブラウザに表示されるメッセージに沿って、各サービスを承認します。

接続を確認する

ツールが読み込まれて準備ができていることを確認します。

/mcp list

サービスが Ready であり、ツールが一覧表示されていることを示す出力が表示されます。

6. MCP サーバーをテストする

自然言語を使用して Google Workspace のデータを操作できるようになりました。各サービスのプロンプトの例を次に示します。

Google カレンダー

Gemini にスケジュールについて質問してみましょう。

  • 「今週の予定を教えて」
  • 「明日の午後は空いていますか?」

Google Chat

Gemini にメッセージの検索をリクエストしてみましょう。

  • 「[SPACE_NAME] で [KEYWORD] を含むメッセージを探して」

Google ドライブ

Gemini に次のようにリクエストしてみましょう。

  • 「[キーワード] を含む Google ドライブのファイルを検索して。」
  • 「最近編集したドキュメントを一覧表示して。」
  • 「[FILE_NAME] ドキュメントの内容を読み取り、主な目標を要約して。」

Gmail

Gemini にメールの検索や管理をリクエストしてみましょう。

  • 「受信した最新の 5 件のメールを要約して。」
  • 「[EMAIL_ADDRESS] に、[PROJECT_NAME] プロジェクトの最新情報をリクエストするメールを作成して。」

People API

Gemini にプロフィールや連絡先について質問してみましょう。

  • 「Google プロフィールによると、私の名前は何ですか?」
  • 「[名前] の連絡先情報を探して。」

複数のサービスを組み合わせる

MCP の真の力は、Gemini が複数のサービスにわたってタスクをオーケストレートするときに発揮されます。サービス間の機能を示す次のプロンプトをお試しください。

  • 「[PROJECT_NAME] のマイルストーンの更新に関連するドライブ内のファイルを検索し、その内容を要約して、[NAME] のメールアドレスを見つけ、その要約を添えて Gmail の下書きを作成して。」

その他のツール

これらは、できることのほんの一例です。各サービスで利用可能なツールの完全なリストを確認して試すには、公式ドキュメントのサポートされているプロダクトのセクションをご覧ください。

7. クリーンアップ

プロジェクトを削除せずにクリーンアップするには、有効にした API と MCP サービスを無効にします。

  1. Google Cloud コンソールで、[API とサービスのダッシュボード] に移動します。
  2. 有効にした Google Workspace API と MCP API(Calendar MCP、Chat MCP など)をそれぞれクリックし、[API を無効にする] をクリックします。

OAuth クライアント認証情報を今後使用する予定がない場合は、Google Auth Platform コンソールで削除します。

8. 完了

おめでとうございます!Gemini CLI を使用して、公式の Google Workspace MCP サーバーを構成してテストしました。

学習した内容

  • Google Cloud で Google Workspace MCP サービスを有効にする方法。
  • MCP 用の OAuth クライアントを構成する方法。
  • 標準ツールを使用して Gemini CLI で Google Workspace データとやり取りする方法。

リファレンス ドキュメント