配置 Google Workspace MCP 服务器

Google Workspace 提供远程 Model Context Protocol (MCP) 服务器,让 AI 智能体能够安全地与 Google Workspace 数据进行交互。通过配置 Google Workspace MCP 服务器,您可以让 Google Antigravity 和 Claude 等 AI 应用在 Gmail、Google 云端硬盘、Google 文档、Google 表格、Google 幻灯片、Google 日历、Google Chat 和 Google 课堂等 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。

控制台

在 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
  • Google 通讯录 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。

控制台

在 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. 在头像网址字段中,输入 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 权限请求页面,然后才能创建 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/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 课堂:
        • 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. 点击添加到表格。

    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. 选择 Web 应用作为应用类型。

    3. 输入名称。

    4. 在已获授权的重定向 URI 部分中,点击 + 添加 URI,然后在 URI 字段中添加 https://antigravity.google/oauth-callback。

    5. 选择将此客户端用于 AI 赋能的智能体。

    6. 点击创建,然后复制您的客户端 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 用户设置)。
      2. 前往自定义。
      3. 在已安装的 MCP 服务器下,点击刷新。
      4. 对于列出的每个服务器(gmail、drive、docs、sheets、slides、calendar、chat、people 和 classroom),点击进行身份验证,登录您的 Google 账号,复制授权代码,将其粘贴到输入对话框中,然后点击提交。
    • 对于 Antigravity CLI:

      1. 启动 Antigravity CLI:

        agy
        
      2. 运行以下命令,打开交互式 MCP 管理面板:

        /mcp
        
      3. 对每个 MCP 服务器进行身份验证:

        1. 使用箭头键选择服务器,移至身份验证操作,然后按 Enter。在浏览器中完成登录流程,复制授权代码,将其粘贴到终端提示中,然后按 Enter 键。
        2. 针对您配置的每个服务器(gmail、drive、docs、sheets、slides、calendar、chat、people 和 classroom)重复这些步骤。
  6. 验证服务器是否已正确配置并正在运行:

    • 对于 Antigravity IDE 或 GUI:在自定义 > 已安装的 MCP 服务器下,每个服务器旁边都会显示一个退出按钮。
    • 对于 Antigravity CLI:打开 /mcp 面板,查看已配置的 MCP 服务器。经过验证和身份验证的服务器会在交互式 TUI 面板中的名称旁边显示 Authed。您可以在信息中心视图下选择任意服务器,以检查其状态并列出其所有可用工具。

远程 MCP 服务器已准备就绪,可在 Antigravity 中使用。

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. 选择将此客户端用于 AI 赋能的智能体。

    6. 点击创建,然后复制您的客户端 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://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 课堂:https://classroommcp.googleapis.com/mcp/v1
    4. 在高级设置中,输入您的 OAuth 客户端 ID 和 OAuth 客户端密钥。

    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://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 课堂:https://classroommcp.googleapis.com/mcp/v1
  • 传输:可流式传输的 HTTP

  • 身份验证:Google Workspace 远程 MCP 服务器使用 OAuth 2.0。创建 OAuth 2.0 客户端时,请选择将此客户端用于 AI 赋能的智能体。如需了解详情,请参阅了解身份验证和授权。

    您的 MCP 客户端需要刷新令牌,以防止用户大约每小时都必须重新登录。仅当授权请求包含 access_type=offline 时,Google 的 OAuth 2.0 服务器才会签发刷新令牌。仅请求 OpenID Connect (OIDC) offline_access 范围不会返回刷新令牌。如果您的 MCP 客户端支持自定义授权参数,请将 access_type=offline 添加到授权请求中。如需为已授予访问权限的用户获取新的刷新令牌,请同时添加 prompt=consent。如果您的 MCP 客户端不支持自定义授权参数,用户必须在每次访问令牌过期时重新登录。如需了解详情,请参阅刷新访问令牌。

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

测试 Google Workspace MCP 服务器

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

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

  • “Ariel 在上一封电子邮件中对我们的营销计划有什么看法?”

    客户端使用 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 提取演示文稿的图文并茂结构。

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

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

  • “根据我的 Google 个人资料,我叫什么名字?”

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

  • “我目前在教哪些课程?”

    客户端会使用 classroom.list_course_summaries 检查您的日程安排,并汇总您担任教师角色的活跃课程。

  • “为我的地质学课程起草一份关于即将进行的实地考察的通知。”

    客户端会使用 classroom.create_announcement 起草通知,您可以在 Google 课堂应用中查看并发布该通知。

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

问题排查

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

如果向 MCP 服务器发出的请求被拒绝,请验证您的 OAuth 2.0 客户端是否已在 Google Auth Platform > Clients(客户端)中选择将此客户端用于 AI 赋能的智能体。如果您无法在现有 OAuth 客户端上更改此设置,请创建一个新 OAuth 客户端,并选择将此客户端用于 AI 赋能的智能体,然后更新您的应用以使用该客户端。如果现有 OAuth 客户端同时用于 AI 智能体和非智能体功能,请为 AI 智能体创建一个单独的 OAuth 客户端,并保留现有客户端用于非智能体功能。如需查看相关说明,请参阅配置 MCP 客户端和管理 OAuth 客户端。

如果您的应用使用具有全网域授权的服务账号,则无法为其选择将此客户端用于 AI 赋能的智能体,因为服务账号不在 Google Auth Platform > 客户端中管理。使用全网域授权的服务账号向 MCP 服务器发出的请求不会因此而被拒绝。访问权限由 Google Workspace 管理员管理的全网域授权设置控制。如需了解详情,请参阅使用全网域委托功能控制 API 访问权限。

如果您从 Google Apps 脚本调用 MCP 服务器,Apps 脚本会为您的脚本创建和管理默认 OAuth 客户端,但您无法为其选择将此客户端用于 AI 赋能的智能体。即使您的脚本使用的是标准 Google Cloud 项目,也同样适用。 请改为执行以下操作:

  1. 在 Google Cloud 控制台中,依次前往 Google Auth Platform > 客户端,创建一个 OAuth 客户端,然后选择将此客户端用于 AI 赋能的智能体。
  2. 在脚本中,使用 OAuth2 for Apps 脚本库通过该 OAuth 客户端向用户授权。
  3. 调用 MCP 服务器时,请发送库返回的访问令牌,而不是 ScriptApp.getOAuthToken 中的令牌。

不调用 MCP 服务器的 Apps 脚本项目不受影响。

如果您大约每小时都会收到重新登录的提示,则表示您的 MCP 客户端未收到刷新令牌。仅当授权请求包含 access_type=offline 时,Google 的 OAuth 2.0 服务器才会颁发刷新令牌。仅请求 OpenID Connect (OIDC) offline_access 范围不会返回刷新令牌。如果您的 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 客户端代表您执行的操作,确保这些操作正确无误且符合您的意图。