配置 Google Workspace MCP 服务器

Google Workspace 提供远程 Model Context Protocol (MCP) 服务器,可让 AI 智能体安全地与 Google Workspace 数据互动。通过配置 Google Workspace MCP 服务器,您可以让 Gemini CLI、Claude 或 IDE 等 AI 应用在 Gmail、Google 云端硬盘和 Google 日历等 Google Workspace 应用中执行操作。每款 Google Workspace 产品都有自己的专用 MCP 服务器。

Google Workspace MCP 服务器为 AI 智能体提供了一种标准化的方式,以便:

  • 读取数据:搜索电子邮件、检索文件和列出日历活动。
  • 采取行动:撰写电子邮件草稿、上传文件和安排会议。
  • 尊重安全性:继承与用户相同的权限和数据治理控制。

前提条件

  • Google Cloud 项目。如需创建项目,请参阅创建项目

  • MCP 客户端,例如 Gemini CLI

  • 如需运行此页面中的命令,请在以下开发环境之一中设置 gcloud CLI:

    Cloud Shell

    如需使用已设置 gcloud CLI 的在线终端,请激活 Cloud Shell:

    激活 Cloud Shell

    本地 shell

    如需使用本地开发环境,请按照以下步骤操作:

    1. 安装 Google Cloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以确保您拥有最新版本。
    2. 如果您使用的是外部身份提供方 (IdP),请使用您的联合身份登录 gcloud CLI。如需了解详情,请参阅使用联合身份登录 gcloud CLI
    3. 初始化 gcloud CLI

配置 Google Workspace MCP 服务器

如需使用 Google Workspace MCP 服务器,您必须在 Google Cloud 项目中启用这些服务器,然后将 MCP 客户端配置为连接到这些服务器。

启用 API

如需使用 Google Workspace MCP 服务器,您必须在 Google Cloud 项目中启用以下 API:

  • Gmail API
  • Google Drive API
  • Google Calendar API
  • People API

CLI

gcloud services enable gmail.googleapis.com \
drive.googleapis.com \
calendar-json.googleapis.com \
people.googleapis.com --project=PROJECT_ID

PROJECT_ID 替换为您的 Google Cloud 项目 ID。

控制台

在 Google Cloud 控制台中启用 API:

启用 API

启用 MCP 服务

如需为每个 Google Workspace 产品启用 MCP 组件,您必须在 Google Cloud 项目中启用以下服务:

  • Gmail MCP API
  • Google Drive MCP API
  • Google Calendar MCP API
  • People MCP API

CLI

gcloud services enable gmailmcp.googleapis.com \
drivemcp.googleapis.com \
calendarmcp.googleapis.com \
people.googleapis.com --project=PROJECT_ID

PROJECT_ID 替换为您的 Google Cloud 项目 ID。

控制台

在 Google Cloud 控制台中启用 MCP 服务:

启用 MCP 服务

Google Workspace MCP 服务器使用 OAuth 2.0 进行身份验证和授权。 您必须先配置 OAuth 权限请求页面,然后才能创建 OAuth 客户端 ID。

  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/calendar.calendarlist.readonly
        • https://www.googleapis.com/auth/calendar.events.freebusy
        • https://www.googleapis.com/auth/calendar.events.readonly
      • People API
        • https://www.googleapis.com/auth/directory.readonly
        • https://www.googleapis.com/auth/userinfo.profile
        • https://www.googleapis.com/auth/contacts.readonly
    2. 点击添加到表格

    3. 点击更新

    4. 选择应用所需的范围后,在数据访问权限页面上,点击保存

配置 MCP 客户端

如需将 Google Workspace 远程 MCP 服务器添加到 MCP 客户端,请按照客户端的说明操作。

Gemini CLI

如需将 Google Workspace 远程 MCP 服务器添加到 Gemini CLI,请将服务器配置添加到 settings.json 文件。

  1. 创建 OAuth 2.0 客户端 ID 和密钥:

    1. 在 Google Cloud 控制台中,依次前往 Google Auth Platform > 客户端 > 创建客户端

      前往“创建客户端”

    2. 选择桌面应用作为应用类型。

    3. 输入名称

    4. 点击创建,然后复制您的客户端 ID客户端密钥

  2. 打开或创建配置文件 ~/.gemini/settings.json

  3. mcpServers 配置添加到 settings.json

    {
      "mcpServers": {
        "gmail": {
          "httpUrl": "https://gmailmcp.googleapis.com/mcp/v1",
          "oauth": {
            "enabled": true,
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET",
            "scopes": [
              "https://www.googleapis.com/auth/gmail.readonly",
              "https://www.googleapis.com/auth/gmail.compose"
            ]
          }
        },
        "drive": {
          "httpUrl": "https://drivemcp.googleapis.com/mcp/v1",
          "oauth": {
            "enabled": true,
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET",
            "scopes": [
              "https://www.googleapis.com/auth/drive.readonly",
              "https://www.googleapis.com/auth/drive.file"
            ]
          }
        },
        "calendar": {
          "httpUrl": "https://calendarmcp.googleapis.com/mcp/v1",
          "oauth": {
            "enabled": true,
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_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"
            ]
          }
        },
        "people": {
          "httpUrl": "https://people.googleapis.com/mcp/v1",
          "oauth": {
            "enabled": true,
            "clientId": "OAUTH_CLIENT_ID",
            "clientSecret": "OAUTH_CLIENT_SECRET",
            "scopes": [
              "https://www.googleapis.com/auth/directory.readonly",
              "https://www.googleapis.com/auth/userinfo.profile",
              "https://www.googleapis.com/auth/contacts.readonly"
            ]
          }
        }
      }
    }
    

    替换以下内容:

    • OAUTH_CLIENT_ID:您创建的客户端 ID。
    • OAUTH_CLIENT_SECRET:您创建的客户端密钥。
  4. 可享受 settings.json 的优惠。

  5. 启动 Gemini CLI:

    gemini
    
  6. 在 Gemini CLI 中,通过运行以下命令向每个 MCP 服务器进行身份验证:

    /mcp auth gmail
    
    1. 出现提示时,按 1 在浏览器中打开身份验证页面。如果您是通过 SSH 进行操作,请按照 CLI 中的说明操作。
    2. 登录您的 Google 账号。
    3. 查看所请求的 OAuth 范围,然后点击允许
    4. 系统会显示一条消息,确认身份验证成功。
    5. 针对每个 MCP 服务器重复执行以下操作:

      • /mcp auth drive
      • /mcp auth calendar
      • /mcp auth people
  7. 在 Gemini CLI 中,运行 /mcp list 以查看已配置的 MCP 服务器及其工具。

    响应类似于以下示例:

    🟢 gmail - Ready (9 tools)
      Tools:
      - create_draft
      - get_thread
      - label_message
      - label_thread
      - list_drafts
      - list_labels
      - search_threads
      - unlabel_message
      - unlabel_thread
    
    🟢 drive - Ready (7 tools)
      Tools:
      - create_file
      - download_file_content
      - get_file_metadata
      - get_file_permissions
      - list_recent_files
      - read_file_content
      - search_files
    
    🟢 calendar - Ready (8 tools)
      Tools:
      - create_event
      - delete_event
      - get_event
      - list_calendars
      - list_events
      - respond_to_event
      - suggest_time
      - update_event
    
    🟢 people - Ready (3 tools)
      Tools:
      - get_user_profile
      - search_contacts
      - search_directory_people
    

远程 MCP 服务器已可在 Gemini CLI 中使用。

Claude

如需将 Google Workspace 远程 MCP 服务器与 Claude.ai 或 Claude Desktop 搭配使用,您必须拥有 Claude Enterprise、Pro、Max 或 Team 方案。

如需将 Google Workspace 远程 MCP 服务器添加到 Claude,请使用 OAuth 客户端 ID 和密钥配置自定义连接器。

  1. 创建 OAuth 2.0 客户端 ID 和密钥:

    1. 在 Google Cloud 控制台中,依次前往 Google Auth Platform > 客户端 > 创建客户端

      前往“创建客户端”

    2. 选择 Web 应用作为应用类型。

    3. 输入名称

    4. 已获授权的重定向 URI 部分中,点击 + 添加 URI,然后在 URI 字段中添加 https://claude.ai/api/mcp/auth_callback

    5. 点击创建,然后复制您的客户端 ID客户端密钥

  2. 在 Claude 中配置 MCP 服务器:

    1. 在 Claude.ai 或 Claude Desktop 中,依次前往设置(或管理设置)> 连接器
    2. 点击添加自定义连接器
    3. 输入要添加的 Google Workspace 产品的连接详细信息:
      • 服务器名称:服务器的名称,例如 Gmail
      • 远程 MCP 服务器网址:Google Workspace 产品的网址,例如以下网址之一:
        • Gmail:https://gmailmcp.googleapis.com/mcp/v1
        • Google 云端硬盘:https://drivemcp.googleapis.com/mcp/v1
        • Google 日历:https://calendarmcp.googleapis.com/mcp/v1
        • People API:https://people.googleapis.com/mcp/v1
    4. 高级设置中,输入您的 OAuth 客户端 IDOAuth 客户端密钥
    5. 点击添加
    6. 针对您要添加的每款 Google Workspace 产品重复上述步骤。

其他

许多 AI 应用都有连接到远程 MCP 服务器的方式。您通常需要输入有关服务器的详细信息,例如服务器名称、端点、传输协议和身份验证方法。对于 Google Workspace 远程 MCP 服务器,请输入以下内容:

  • 服务器名称googleworkspace

  • 服务器:每款 Google Workspace 产品都有自己的服务器网址:

    • Gmail:https://gmailmcp.googleapis.com/mcp/v1
    • Google 云端硬盘:https://drivemcp.googleapis.com/mcp/v1
    • Google 日历:https://calendarmcp.googleapis.com/mcp/v1
    • People API:https://people.googleapis.com/mcp/v1
  • 传输:HTTP

  • 身份验证:Google Workspace 远程 MCP 服务器使用 OAuth 2.0。如需了解详情,请参阅了解身份验证和授权

如需详细了解如何连接不同类型的客户端,请参阅在 AI 应用中配置 MCP

测试 Google Workspace MCP 服务器

配置 MCP 客户端后,您可以运行一些测试提示来验证连接。

您可以尝试向 MCP 客户提出以下问题:

  • “我是谁?”

    该客户端使用 people.get_user_profile 来检索您的 Google Workspace 个人资料信息。

  • “总结文件‘营销计划’的内容。”

    客户端调用 drive.search_files 来查找“营销计划”,然后使用 drive.read_file_content 来检索并总结其内容。

  • “Ariel 在上一封电子邮件中对我们的营销方案说了什么?”

    客户端使用 gmail.search_threads 过滤来自 Ariel 的电子邮件,使用 gmail.get_thread 检索最新消息串的内容,然后为您总结该内容。

  • “给 ariel@example.com 写一封电子邮件,内容是批准营销计划。”

    该客户端使用 gmail.create_draft 在您的“草稿”文件夹中创建电子邮件,以便您在 Gmail 中查看和发送该邮件。

  • “我与 Ariel 的下一次会议是什么时候?”

    客户端使用 calendar.list_events 检查您的日程,并详细说明您与 Ariel 的下一次会议。

如果工具成功执行,并且您收到了相关响应,则表示您的 Google Workspace MCP 服务器已正确配置。

问题排查

如果您在连接到 MCP 服务器时遇到问题,可以在 OAuth 日志中检查是否存在错误。请您的管理员在安全调查工具中查看 OAuth 日志事件

支持的产品

以下 Google Workspace 产品支持 Google Workspace MCP 服务器,并提供以下工具:

  • Gmail
    • create_draft
    • get_thread
    • label_message
    • label_thread
    • list_drafts
    • list_labels
    • search_threads
    • unlabel_message
    • unlabel_thread
  • Google 云端硬盘
    • create_file
    • download_file_content
    • get_file_metadata
    • get_file_permissions
    • list_recent_files
    • read_file_content
    • search_files
  • Google 日历
    • create_event
    • delete_event
    • get_event
    • list_calendars
    • list_events
    • respond_to_event
    • suggest_time
    • update_event
  • People API
    • get_user_profile
    • search_contacts
    • search_directory_people

重要安全注意事项:间接提示注入

当您让语言模型接触不可信的数据时,可能会发生间接提示注入攻击。由于 Gemini CLI 等 MCP 客户端可以通过 Google Workspace MCP 服务器访问强大的工具和 API,因此它们可以读取、修改和删除您 Google 账号中的数据。

为缓解这些风险,请遵循以下最佳实践:

  • 仅使用可信的工具。切勿将 Google Workspace MCP 服务器连接到不受信任或未经验证的应用。
  • 谨慎处理不受信任的输入。避免让 MCP 客户端处理来自未经验证来源的电子邮件、文档或其他资源。这些输入可能包含隐藏的指令,这些指令可以劫持您的会话,从而使攻击者能够修改、窃取或删除您的数据。
  • 查看所有操作。请务必仔细检查 AI 客户端代表您执行的操作,确保这些操作正确无误且符合您的意图。