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 分析暂不可用,本条为保底评分与摘要。
开发者指南:在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
发布于
- 开发者与实践者