Google Cloud Blog

Developer’s guide to implementing MCP apps in Gemini

7.1内容质量
Developer’s guide to implementing MCP apps in Gemini

TL;DR · AI 摘要

Devs guide to MCP Apps in Gemini Google Cloud Blog Developers & Practitioners Developer’s guide to implementing MCP apps...

核心要点

  • 主题聚焦:Developer’s guide to implementing MCP apps in Ge
  • 来源:Google Cloud Blog,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#编程#前端#后端#云计算
打开原文

开发者指南:在Gemini中实现MCP应用 | Google Cloud 博客

开发者与实践者

在Gemini中实现MCP应用的开发者指南

2026年10月20日

##### 大卫·王(Dave Wang)

Google Cloud 前线部署工程师

##### 今天即刻体验Gemini

职场AI的入口

立即体验

企业助手目前主要以文本形式响应。然而,对于需要视觉化、多步骤操作的工作场景,每次调整都可能需要耗费额外的对话回合,导致效率下降。

MCP应用(SEP-1865)解决了这一问题。这个开放的模型上下文协议(MCP)扩展将工具与实时用户界面进行绑定。在Gemini Enterprise中,该界面直接以沙箱化iframe形式嵌入聊天流程,可扩展为全屏或侧边面板。所有编辑操作在本地执行,同时工作区与助手保持同步。

您无需重建核心基础设施:Gemini提供员工登录、受控数据访问和默认助手功能,而您只需在私有Cloud Run服务上托管MCP服务器。

为什么需要MCP应用

企业助手经历了三代演进:

  • 第一代(文本聊天机器人):仅返回静态Markdown内容,无交互控件。
  • 第二代(标准MCP工具):调用实时API但输出静态文本。每次修改都需要额外模型计算回合。
  • 第三代(交互式MCP应用):将每个工具与实时工作区绑定。调整操作在控件内直接完成,无需模型计算回合,助手始终保持同步。

在Gemini中构建MCP应用的六大优势:

  • 响应式用户体验:单击操作直接在面板内执行,无需通过聊天往返通信。
  • 专用工作流程:提供法律审查的可视化编辑视图、CAD的3D查看器或金融领域的敏感性模型。
  • 企业级安全:通过员工OAuth登录、私有Cloud Run入口和沙箱化iframe实现多层防护。
  • 人工参与治理:专家在高风险操作执行前进行审查和批准。
  • 开放标准:可在兼容主机间移植,并自动提供文本回退方案。
  • 广泛连接性:可对接BigQuery、Agent Platform、Cloud Storage以及内部ERP和CRM系统。

高层次架构

三个解耦层级协同工作:

  • 客户端浏览器:在侧边面板中并排显示聊天窗口和MCP应用控件。
  • Gemini Enterprise:默认助手调用工具,AppBridge代理转发控件消息,连接器管理OAuth认证。
  • Google Cloud(您的项目):您在Cloud Run上部署并托管MCP服务器,暴露单个JSON-RPC端点(/mcp),运行后台任务并提供单文件HTML控件。

各层级仅与相邻层级通信,使Gemini Enterprise能够实施安全策略和路由控制。

两级独立认证体系

每个用户通过OAuth 2.0进行身份验证。每次调用时,Gemini Enterprise会同时发送服务代理令牌和用户OAuth令牌:

  • 第一层(Cloud Run IAM):在Google边缘强制执行,用于验证"哪个服务可以调用?"。禁用公共访问,未授权调用方将收到HTTP 403错误。
  • 第二层(应用内OAuth):在应用内部强制执行,用于验证"哪个用户在调用?"。验证失败将返回HTTP 401错误,提示用户重新登录。

由于Cloud Run IAM无法区分终端用户,因此需要同时启用两层认证。出站调用使用最小权限服务账户。

首先,使用 MCP Apps SDK 构建自定义 MCP 服务器(需暴露 POST /mcp 接口和打包的 ui:// HTML 小部件),或使用 Google Antigravity 通过以下初始提示搭建并部署 MCP 应用:

  • 通过 create-mcp-app 技能(https://github.com/modelcontextprotocol/ext-apps/tree/main/plugins/mcp-apps/skills/create-mcp-app)为 Gemini Enterprise 构建 MCP 应用。
  • 工作流程:[描述输入数据、侧边栏 UI 控件以及审批或导出操作]。
  • 生成单文件 HTML 小部件、支持 <2s 异步工具响应的 Streamable HTTP 后端(POST /mcp)以及 get_app_state 轮询功能,并生成 Cloud Run 部署命令(--no-allow-unauthenticated, --no-cpu-throttling, --min-instances=1)。

当 MCP 服务器代码准备就绪后,将其部署到 Cloud Run 并连接到 Gemini Enterprise:

  • 第 1 步:启用 Cloud Run、Discovery Engine、Agent Platform 和 Organization Policy 的 API。
  • 第 2 步:从源代码部署 MCP 服务器容器到 Cloud Run(gcloud run deploy <service> --source .),添加参数 --no-allow-unauthenticated, --no-cpu-throttling(防止轮询期间后台工作冻结),以及 --min-instances=1。
  • 第 3 步:向 Discovery Engine 服务代理(第 1 层)授予调用者角色(roles/run.invoker)。
  • 第 4 步:创建 OAuth 2.0 网页客户端,重定向 URI 设置为 https://vertexaisearch.cloud.google.com/oauth-redirect(第 2 层)。
  • 第 5 步:覆盖 discoveryengine.managed.disableCustomMcpServerConnector 约束,并完成前置条件(管理员需拥有 roles/discoveryengine.editor 权限,服务器和 OAuth 主机需配置 allowedEgressFqdns,若启用强制策略则需在 allowedDataSources 中添加 custom_mcp)。随后在 Google Cloud Console 的 Gemini Enterprise > 数据存储 > 创建数据存储 中,选择“自定义 MCP 服务器”并注册连接器:

配置字段 | 值 ---|--- MCP 服务器 URL | https://<your-cloud-run-service>.run.app/mcp 授权 URL | https://accounts.google.com/o/oauth2/v2/auth 令牌 URL | https://oauth2.googleapis.com/token 客户端 ID 和密钥 | 您的网页 OAuth 2.0 客户端 ID 和密钥 作用域 | openid email profile 启用 PKCE 支持 | 勾选(推荐) 使用 HTTP 基本认证 | 不勾选(避免 invalid_client 错误)

  • 第 6 步:在数据存储中启用操作。Gemini Enterprise 会将 MCP 服务器的工具导入为操作并默认禁用。在 Cloud Console 中打开 Gemini Enterprise > 数据存储 > [您的 MCP 数据存储] > 操作,点击“重新加载自定义操作”(会调用服务器的 tools/list 接口),选择可见模型的工具并点击“启用操作”。
  • 第 7 步:将数据存储连接到您的应用。打开 Gemini Enterprise > 应用 > [您的应用] > 已连接数据存储 > 添加现有数据存储,选择您的 MCP 数据存储。作为数据存储连接后,内置的默认助手可直接在主聊天界面访问您的 MCP 工具和 UI 小部件(不要使用“添加代理”,该功能用于外部子代理而非 MCP 数据存储)。

自主构建

MCP 应用通过将后端工具与 Gemini Enterprise 中的实时工作区配对来实现功能。您无需构建聊天前端或身份验证流程;只需部署一个 Cloud Run 容器并将其作为数据存储附加,使 Gemini Enterprise 成为企业工作的核心平台。

  • 在此处体验 Gemini
  • 在此处与 Google Antigravity 共同构建
  • 在 Google Cloud 上构建:MCP 应用规范(SEP-1865)、Cloud Run 和 Google Cloud AI

发布于

  • 开发者与实践者