Google Workspace MCP サーバーを構成する

Google Workspace には、AI エージェントが Google Workspace データと安全にやり取りできるようにするリモートの Model Context Protocol(MCP)サーバーが用意されています。Google Workspace MCP サーバーを構成すると、Google Antigravity や Claude などの AI アプリケーションが、Gmail、Google ドライブ、Google ドキュメント、Google スプレッドシート、Google スライド、Google カレンダー、Google Chat、Google Classroom などの Google Workspace アプリケーションでアクションを実行できるようになります。各 Google Workspace サービスには、専用の MCP サーバーがあります。

Google Workspace MCP サーバーは、AI エージェントが次のことを行うための標準化された方法を提供します。

  • データの読み取り: メールの検索、ファイルの取得、カレンダーの予定のリスト表示。
  • 実践: メールの下書きを作成する、ファイルをアップロードする、会議のスケジュールを設定する。
  • セキュリティを尊重する: ユーザーと同じ権限とデータ ガバナンス管理を継承します。

前提条件

Google Workspace MCP サーバーを構成する

Google Workspace MCP サーバーを使用するには、Google Cloud プロジェクトで有効にしてから、MCP クライアントを構成して接続する必要があります。

API を有効にする

Google Workspace MCP サーバーを使用するには、Google Cloud プロジェクトで次の API を有効にする必要があります。

  • Gmail API
  • Google Drive API
  • Google Docs API
  • Google Sheets API
  • Google Slides API
  • Google Calendar API
  • Google Chat API
  • People API
  • Google Classroom API

CLI

gcloud services enable gmail.googleapis.com \
drive.googleapis.com \
docs.googleapis.com \
sheets.googleapis.com \
slides.googleapis.com \
calendar-json.googleapis.com \
chat.googleapis.com \
people.googleapis.com \
classroom.googleapis.com --project=PROJECT_ID

PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。

Console

Google Cloud コンソールで API を有効にします。

API を有効にする

MCP サービスを有効にする

各 Google Workspace プロダクトの MCP コンポーネントを有効にするには、Google Cloud プロジェクトで次のサービスを有効にする必要があります。

  • Gmail MCP API
  • Google Drive MCP API
  • Google Docs MCP API
  • Google スプレッドシート MCP API
  • Google スライド MCP API
  • Google Calendar MCP API
  • Google Chat MCP API
  • People MCP API
  • Google Classroom MCP API

CLI

gcloud services enable gmailmcp.googleapis.com \
drivemcp.googleapis.com \
docsmcp.googleapis.com \
sheetsmcp.googleapis.com \
slidesmcp.googleapis.com \
calendarmcp.googleapis.com \
chatmcp.googleapis.com \
people.googleapis.com \
classroommcp.googleapis.com --project=PROJECT_ID

PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。

Console

Google Cloud コンソールで MCP サービスを有効にします。

MCP サービスを有効にする

Chat 用アプリを構成する

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

  1. Google Cloud コンソールで Google Chat API を検索し、[Google Chat API] > [管理] > [構成] をクリックします。

    Google Chat API に移動

  2. Chat アプリを設定します。

    1. [アプリ名] フィールドに「Chat MCP」と入力します。
    2. [アバターの URL] フィールドに「https://developers.google.com/chat/images/quickstart-app-avatar.png」と入力します。
    3. [説明] に「Chat MCP server」と入力します。
    4. [機能] で、[インタラクティブ機能を有効にする] をオフに切り替えて、インタラクティブ機能を無効にします。
    5. [ログ] で、[エラーを Logging にロギングする] を選択します。
  3. [保存] をクリックします。

Chat アプリの作成について詳しくは、Google Chat アプリのアーキテクチャを選択するをご覧ください。

Google Workspace MCP サーバーは、認証と認可に OAuth 2.0 を使用します。OAuth クライアント ID を作成する前に、OAuth 同意画面を構成する必要があります。

  1. Google Cloud コンソールで、[Google Auth Platform] > [ブランディング] に移動します。

    [ブランディング] に移動

  2. Google Auth Platform をすでに構成している場合は、[ブランディング]、[対象]、[データアクセス] で次の OAuth 同意画面の設定を構成できます。「Google Auth Platform はまだ構成されていません」というメッセージが表示された場合は、[使ってみる] をクリックします。

    1. [アプリ情報] の [アプリ名] に「Workspace MCP Servers」と入力します。
    2. [ユーザー サポートメール] で、メールアドレスまたは適切な Google グループを選択します。
    3. [次へ] をクリックします。
    4. [対象] で [内部] を選択します。[内部] を選択できない場合は、[外部] を選択します。
    5. [次へ] をクリックします。
    6. [連絡先情報] で、プロジェクトに対する変更の通知を受け取るメールアドレスを入力します。
    7. [次へ] をクリックします。
    8. [完了] で、Google API サービスのユーザーデータに関するポリシーを確認し、同意する場合は、[Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
    9. [続行] をクリックします。
    10. [作成] をクリックします。
    11. ユーザータイプとして [外部] を選択した場合は、テストユーザーを追加します。
      1. [対象] をクリックします。
      2. [テストユーザー] で [ユーザーを追加] をクリックします。
      3. メールアドレスと他の承認済みテストユーザーを入力し、[保存] をクリックします。
  3. [データアクセス] > [スコープを追加または削除] をクリックします。Google Cloud プロジェクトで有効にした各 API のスコープのリストを含むパネルが表示されます。

    1. [スコープの手動追加] で、使用する MCP サーバーのスコープを貼り付けます。

      • Gmail:
        • https://www.googleapis.com/auth/gmail.readonly
        • https://www.googleapis.com/auth/gmail.compose
      • Google ドライブ:
        • https://www.googleapis.com/auth/drive.readonly
        • https://www.googleapis.com/auth/drive.file
      • Google ドキュメント:
        • https://www.googleapis.com/auth/drive.readonly
        • https://www.googleapis.com/auth/drive.file
        • https://www.googleapis.com/auth/documents.readonly
        • https://www.googleapis.com/auth/documents
      • Google スプレッドシート:
        • https://www.googleapis.com/auth/drive.readonly
        • https://www.googleapis.com/auth/drive.file
        • https://www.googleapis.com/auth/spreadsheets.readonly
        • https://www.googleapis.com/auth/spreadsheets
      • Google スライド:
        • https://www.googleapis.com/auth/drive.readonly
        • https://www.googleapis.com/auth/drive.file
        • https://www.googleapis.com/auth/presentations.readonly
        • https://www.googleapis.com/auth/presentations
      • Google カレンダー:
        • https://www.googleapis.com/auth/calendar.calendarlist.readonly
        • https://www.googleapis.com/auth/calendar.events.freebusy
        • https://www.googleapis.com/auth/calendar.events.readonly
      • Google Chat:
        • 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.messages.create
        • https://www.googleapis.com/auth/chat.users.readstate
      • People API:
        • https://www.googleapis.com/auth/directory.readonly
        • https://www.googleapis.com/auth/userinfo.profile
        • https://www.googleapis.com/auth/contacts.readonly
      • Google Classroom:
        • https://www.googleapis.com/auth/classroom.announcements
        • https://www.googleapis.com/auth/classroom.courses.readonly
        • https://www.googleapis.com/auth/classroom.coursework.students
        • https://www.googleapis.com/auth/classroom.courseworkmaterials
        • https://www.googleapis.com/auth/classroom.rosters.readonly
        • https://www.googleapis.com/auth/classroom.student-submissions.students.readonly
        • https://www.googleapis.com/auth/classroom.topics.readonly
    2. [Add to Table] をクリックします。

    3. [更新] をクリックします。

    4. アプリに必要なスコープを選択したら、[データアクセス] ページで [保存] をクリックします。

MCP クライアントを構成する

Google Workspace リモート MCP サーバーを MCP クライアントに追加するには、クライアントの手順に沿って操作します。

Antigravity

Google Workspace リモート MCP サーバーを Antigravity に追加するには、サーバー構成を mcp_config.json ファイルに追加します。これらの手順は、Antigravity 2.0、Antigravity IDE、Antigravity CLI をサポートしています。

  1. OAuth 2.0 クライアント ID とシークレットを作成します。

    1. Google Cloud コンソールで、[Google Auth Platform] > [クライアント] > [クライアントを作成] に移動します。

      [クライアントを作成] に移動

    2. アプリケーションの種類として [ウェブ アプリケーション] を選択します。

    3. 名前を入力します。

    4. では承認済みリダイレクト URIセクション、クリック+ URI を追加そして追加するhttps://antigravity.google/oauth-callbackでURI分野。

    5. [このクライアントを AI 搭載エージェントに使用する] を選択します。

    6. [Create] をクリックして、クライアント ID とクライアント シークレットをコピーします。

  2. 構成ファイル ~/.gemini/config/mcp_config.json を開くか、作成します。

  3. mcpServers 構成を mcp_config.json に追加します。

    {
      "mcpServers": {
        "gmail": {
          "serverUrl": "https://gmailmcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "drive": {
          "serverUrl": "https://drivemcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "docs": {
          "serverUrl": "https://docsmcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "sheets": {
          "serverUrl": "https://sheetsmcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "slides": {
          "serverUrl": "https://slidesmcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "calendar": {
          "serverUrl": "https://calendarmcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "chat": {
          "serverUrl": "https://chatmcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "people": {
          "serverUrl": "https://people.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        },
        "classroom": {
          "serverUrl": "https://classroommcp.googleapis.com/mcp/v1",
          "oauth": {
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET"
          }
        }
      }
    }
    

    次のように置き換えます。

    • OAUTH_CLIENT_ID: 作成したクライアント ID。
    • OAUTH_CLIENT_SECRET: 作成したクライアント シークレット。
  4. mcp_config.json短縮できます。

  5. MCP サーバーを認証します。認証には、GUI 設定または CLI を使用できます。

    • Antigravity IDE または GUI(Antigravity 2.0)の場合:

      1. 設定画面を開きます(たとえば、左下の [設定] をクリックするか、[Antigravity User Settings] を開きます)。
      2. [カスタマイズ] に移動します。
      3. [インストール済みの MCP サーバー] で [更新] をクリックします。
      4. リストされている各サーバー(gmail、drive、docs、sheets、slides、calendar、chat、people、classroom)について、[Authenticate] をクリックし、Google アカウントにログインして、認証コードをコピーし、入力ダイアログに貼り付けて、[Submit] をクリックします。
    • Antigravity CLI の場合:

      1. Antigravity CLI を起動します。

        agy
        
      2. 次のコマンドを実行して、インタラクティブな MCP 管理パネルを開きます。

        /mcp
        
      3. 各 MCP サーバーを認証します。

        1. 矢印キーを使用してサーバーを選択し、[Authenticate] アクションに移動して、Enter キーを押します。ブラウザでログインフローを完了し、認証コードをコピーしてターミナル プロンプトに貼り付け、Enter キーを押します。
        2. 構成したサーバー(gmail、drive、docs、sheets、slides、calendar、chat、people、classroom)ごとに、この手順を繰り返します。
  6. サーバーが正しく構成され、実行されていることを確認します。

    • Antigravity IDE または GUI の場合: [Customizations] > [Installed MCP Servers] で、各 MCP サーバーの横に [Sign out] ボタンが表示されます。
    • Antigravity CLI の場合: /mcp パネルを開いて、構成済みの MCP サーバーを表示します。検証済みで認証済みのサーバーは、インタラクティブ TUI パネル内の名前の横に「Authed」と表示されます。ダッシュボード ビューで任意のサーバーを選択して、そのステータスを検査し、使用可能なすべてのツールを一覧表示できます。

リモート MCP サーバーを Antigravity で使用する準備が整いました。

Claude

Claude.ai または Claude Desktop で Google Workspace リモート MCP サーバーを使用するには、Claude Enterprise、Pro、Max、Team のいずれかのプランが必要です。

Google Workspace リモート MCP サーバーを Claude に追加するには、OAuth クライアント ID とシークレットを使用してカスタム コネクタを構成します。

  1. OAuth 2.0 クライアント ID とシークレットを作成します。

    1. Google Cloud コンソールで、[Google Auth Platform] > [クライアント] > [クライアントを作成] に移動します。

      [クライアントを作成] に移動

    2. アプリケーションの種類として [ウェブ アプリケーション] を選択します。

    3. 名前を入力します。

    4. [承認済みのリダイレクト URI] セクションで、[+ URI を追加] をクリックし、[URI] フィールドに https://claude.ai/api/mcp/auth_callback を追加します。

    5. [このクライアントを AI 搭載エージェントに使用する] を選択します。

    6. [Create] をクリックして、クライアント ID とクライアント シークレットをコピーします。

  2. Claude で MCP サーバーを構成します。

    1. Claude.ai または Claude Desktop で、[Settings](または [Admin settings])> [Connectors] に移動します。
    2. [カスタム コネクタを追加] をクリックします。
    3. 追加する Google Workspace サービスの接続の詳細を入力します。

      • サーバー名: サーバーの名前(Gmail など)。
      • リモート MCP サーバーの URL: Google Workspace サービスの URL。例:
        • Gmail: https://gmailmcp.googleapis.com/mcp/v1
        • Google ドライブ: https://drivemcp.googleapis.com/mcp/v1
        • Google ドキュメント: https://docsmcp.googleapis.com/mcp/v1
        • Google スプレッドシート: https://sheetsmcp.googleapis.com/mcp/v1
        • Google スライド: https://slidesmcp.googleapis.com/mcp/v1
        • Google カレンダー: https://calendarmcp.googleapis.com/mcp/v1
        • Google Chat: https://chatmcp.googleapis.com/mcp/v1
        • People API: https://people.googleapis.com/mcp/v1
        • Google Classroom: https://classroommcp.googleapis.com/mcp/v1
    4. [詳細設定] で、OAuth クライアント ID と OAuth クライアント シークレットを入力します。

    5. [追加] をクリックします。

    6. 追加する Google Workspace サービスごとに、この手順を繰り返します。

その他

多くの AI アプリケーションには、リモート MCP サーバーに接続する方法が用意されています。通常は、サーバー名、エンドポイント、トランスポート プロトコル、認証方法など、サーバーの詳細情報を入力する必要があります。Google Workspace リモート MCP サーバーの場合は、次のように入力します。

  • サーバー名: googleworkspace

  • サーバー: Google Workspace の各サービスには、それぞれ独自のサーバー URL があります。

    • Gmail: https://gmailmcp.googleapis.com/mcp/v1
    • Google ドライブ: https://drivemcp.googleapis.com/mcp/v1
    • Google ドキュメント: https://docsmcp.googleapis.com/mcp/v1
    • Google スプレッドシート: https://sheetsmcp.googleapis.com/mcp/v1
    • Google スライド: https://slidesmcp.googleapis.com/mcp/v1
    • Google カレンダー: https://calendarmcp.googleapis.com/mcp/v1
    • Google Chat: https://chatmcp.googleapis.com/mcp/v1
    • People API: https://people.googleapis.com/mcp/v1
    • Google Classroom: https://classroommcp.googleapis.com/mcp/v1
  • トランスポート: ストリーミング可能な HTTP

  • 認証: Google Workspace リモート MCP サーバーは OAuth 2.0 を使用します。OAuth 2.0 クライアントを作成するときに、[このクライアントを AI 搭載エージェントに使用する] を選択します。詳細については、認証と認可についてをご覧ください。

    MCP クライアントは、ユーザーが約 1 時間ごとに再ログインしなくても済むように、更新トークンを必要とします。Google の OAuth 2.0 サーバーは、認可リクエストに access_type=offline が含まれている場合にのみ更新トークンを発行します。OpenID Connect(OIDC)の offline_access スコープのみをリクエストしても、更新トークンは返されません。MCP クライアントがカスタム認可パラメータをサポートしている場合は、認可リクエストに access_type=offline を追加します。すでにアクセス権を付与しているユーザーの新しい更新トークンを取得するには、prompt=consent も追加します。MCP クライアントがカスタム認可パラメータをサポートしていない場合、ユーザーはアクセス トークンの有効期限が切れるたびに再度ログインする必要があります。詳細については、アクセス トークンを更新するをご覧ください。

さまざまなタイプのクライアントの接続の詳細については、AI アプリケーションで MCP を構成するをご覧ください。

Google Workspace MCP サーバーをテストする

MCP クライアントを構成したら、テスト プロンプトを実行して接続を確認できます。

MCP クライアントに次の質問をしてみてください。

  • 「アリエルは最新のメールでマーケティング計画について何と言っていましたか?」

    クライアントは、gmail.search_threads を使用して Ariel からのメールをフィルタし、gmail.get_thread を使用して最新のスレッドのコンテンツを取得して、要約します。

  • 「マーケティング プランを承認したことを伝えるメールを ariel@example.com 宛てに作成して。」

    クライアントは gmail.create_draft を使用して下書きフォルダにメールを作成します。これにより、Gmail からメールを確認して送信できます。

  • 「マーケティング計画のファイルを要約して。」

    クライアントは drive.search_files を呼び出して「マーケティング計画」を検索し、drive.read_file_content を使用してそのコンテンツを取得して要約します。

  • 「Google ドキュメントの会議メモの構造的な内容を表示して。」

    クライアントは、docs.read_doc を使用してドキュメントの構造とコンテンツを取得します。

  • 「Google スプレッドシートの『四半期売上』からシート『Sheet1』を読み取って。」

    クライアントは sheets.get_values を使用してグリッド値を取得します。

  • 「Google スライドのプレゼンテーション『プロダクトの概要』のレイアウトを言葉で説明して。」

    クライアントは、slides.read_presentation を使用してプレゼンテーションのビジュアル レイアウト構造を取得します。

  • 「アリエルとの次のミーティングはいつ?」

    クライアントは calendar.list_events を使用してスケジュールを確認し、アリエルとの次のミーティングの詳細を説明します。

  • 「私の Google プロフィールに登録されている名前は何ですか?」

    クライアントは people.get_user_profile を使用して Google Workspace のプロフィール情報を取得します。

  • 「現在、どのクラスを教えていますか?」

    クライアントは classroom.list_course_summaries を使用してスケジュールを確認し、教師の役割を持つアクティブなコースを要約します。

  • 「地質学のクラス向けに、今度の校外学習に関するお知らせの下書きを作成して。」

    クライアントは classroom.create_announcement を使用してお知らせの下書きを作成します。この下書きは、Google Classroom アプリで確認して投稿できます。

ツールが正常に実行され、関連するレスポンスが返された場合、Google Workspace MCP サーバーは正しく構成されています。

トラブルシューティング

MCP サーバーへの接続で問題が発生した場合は、OAuth ログでエラーを確認できます。セキュリティ調査ツールで OAuth のログイベントを確認するよう、管理者に依頼してください。

MCP サーバーへのリクエストが拒否された場合は、OAuth 2.0 クライアントで [Google Auth Platform] > [クライアント] の [このクライアントを AI 搭載エージェントに使用する] が選択されていることを確認します。既存の OAuth クライアントでこの設定を変更できない場合は、[このクライアントを AI 搭載エージェントに使用する] を選択して新しい OAuth クライアントを作成し、それを使用するようにアプリを更新します。既存の OAuth クライアントが AI エージェント機能と非エージェント機能の両方に使用されている場合は、AI エージェント用に別の OAuth クライアントを作成し、非エージェント機能には既存のクライアントを保持します。手順については、MCP クライアントを構成すると OAuth クライアントを管理するをご覧ください。

アプリでドメイン全体の委任が設定されたサービス アカウントを使用している場合、[このクライアントを AI 搭載エージェントに使用する] を選択することはできません。サービス アカウントは、[Google Auth Platform] > [クライアント] で管理されていないためです。ドメイン全体の委任を使用するサービス アカウントからの MCP サーバーへのリクエストは、この理由で拒否されることはありません。アクセスは、Google Workspace 管理者が管理するドメイン全体の委任設定によって制御されます。詳細については、API アクセスをドメイン全体の委任で制御するをご覧ください。

Google Apps Script から MCP サーバーを呼び出すと、Apps Script はスクリプトのデフォルトの OAuth クライアントを作成して管理しますが、[このクライアントを AI 搭載エージェントに使用する] を選択することはできません。これは、スクリプトで標準の Google Cloud プロジェクトを使用している場合にも適用されます。代わりに、次のようにします。

  1. Google Cloud コンソールで、[Google Auth Platform] > [クライアント] に移動し、OAuth クライアントを作成して、[このクライアントを AI 搭載エージェントに使用する] を選択します。
  2. スクリプトで、Apps Script ライブラリの OAuth2 を使用して、その OAuth クライアントでユーザーを認可します。
  3. MCP サーバーを呼び出すときに、ScriptApp.getOAuthToken のトークンではなく、ライブラリから返されたアクセス トークンを送信します。

MCP サーバーを呼び出さない Apps Script プロジェクトは影響を受けません。

約 1 時間ごとに再度ログインするように求められる場合は、MCP クライアントが更新トークンを受信していません。Google の OAuth 2.0 サーバーは、認可リクエストに access_type=offline が含まれている場合にのみ更新トークンを発行します。OpenID Connect(OIDC)の offline_access スコープのみをリクエストしても、ID トークンは返されません。MCP クライアントがカスタム認可パラメータをサポートしている場合は、認可リクエストに access_type=offline を追加します。すでにアクセス権を付与しているユーザーの新しい更新トークンを取得するには、prompt=consent も追加します。MCP クライアントがカスタム認可パラメータをサポートしていない場合は、アクセス トークンの有効期限が切れるたびに再度ログインする必要があります。詳細については、アクセス トークンを更新するをご覧ください。

サポート対象プロダクト

次の Google Workspace サービスは、Google Workspace MCP サーバーをサポートし、次のツールを提供しています。

セキュリティに関する重要な考慮事項: 間接プロンプト インジェクション

言語モデルを信頼できないデータに公開すると、間接的なプロンプト インジェクション攻撃のリスクが生じます。Google Antigravity などの MCP クライアントは、Google Workspace MCP サーバーを介して強力なツールや API にアクセスできるため、Google アカウントのデータの読み取り、変更、削除を行うことができます。

これらのリスクを軽減するには、次のベスト プラクティスに従ってください。

  • 信頼できるツールのみを使用する。Google Workspace MCP サーバーを、信頼できないアプリケーションや未検証のアプリケーションに接続しないでください。
  • 信頼できない入力には注意してください。未検証のソースからのメール、ドキュメント、その他のリソースを処理するよう MCP クライアントに依頼しないでください。これらの入力には、セッションを乗っ取る隠し指示が含まれている可能性があり、攻撃者がデータを変更、窃取、削除する可能性があります。
  • すべてのアクションを確認します。AI クライアントがユーザーに代わって実行したアクションを常に注意深く確認し、アクションが正しく、ユーザーの意図に沿っていることを確認してください。