准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Install the ADK and set up your environment
/ 50
Create the API key and deploy the ADK agent
/ 50
Install the ADK and set up your environment
/ 50
Create the API key and deploy the ADK agent
/ 50
在本实验中,您将探索 Model Context Protocol (MCP),这是一种开放标准,可实现外部服务、数据源、工具和应用之间的无缝集成。您将了解如何将 MCP 集成到智能体开发套件 (ADK) 智能体中,借助现有 MCP 服务器提供的工具来增强您的 ADK 工作流。此外,您还将探索如何通过自定义的 MCP 服务器公开 load_web_page 等 ADK 工具,实现与 MCP 客户端的更广泛集成。
什么是 Model Context Protocol (MCP)?
Model Context Protocol (MCP) 是一种开放标准,旨在规范 Gemini 和 Claude 等大语言模型 (LLM) 与外部应用、数据源和工具之间的通信方式。您可以将其视为一种通用连接机制,能简化 LLM 获取上下文、执行操作以及与各种系统交互的方式。
MCP 采用客户端-服务器架构,定义了 MCP 服务器如何公开数据(资源)、交互式模板(提示)和可执行函数(工具),以及 MCP 客户端(可以是 LLM 宿主应用,也可以是 AI 智能体)如何使用这些数据、模板和函数。
本实验涵盖了两大集成模式:
在本实验中,您将学习如何执行以下任务:
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在“实验详细信息”窗格中找到“用户名”。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在“实验详细信息”窗格中找到“密码”。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
在本实验环境中,我们已为您启用了 Vertex AI API、Routes API 和 Directions API。
在本部分中,您将在 Cloud Shell 终端中运行以下命令。
在 Cloud Shell 终端中运行以下命令,以便从 Cloud Storage 复制项目目录:
运行以下命令,安装智能体开发套件 (ADK) 以及运行示例应用所需的其他依赖项:
点击检查我的进度以验证是否完成了以下目标:
本部分展示了如何将外部 Google Maps MCP 服务器中的工具集成到 ADK 智能体中。当 ADK 智能体需要使用由公开 MCP 接口的现有服务提供的功能时,这是最常见的集成模式。您将看到如何将 MCPToolset 类直接添加到智能体的 tools 列表中,从而无缝连接 MCP 服务器、发现其工具,并让这些工具可供智能体使用。这些示例主要侧重于 adk web 开发环境中的交互。
MCPToolset 类是 ADK 用于集成 MCP 服务器工具的主要机制。当您将 MCPToolset 实例添加到智能体的 tools 列表时,它会自动处理与指定 MCP 服务器的交互。其工作原理如下:
MCPToolset 会建立并管理与 MCP 服务器的连接。这可以是本地服务器进程(使用 StdioServerParameters 通过标准输入/输出进行通信),也可以是远程服务器(将 SseServerParams 用于服务器发送的事件)。当智能体或应用终止时,MCPToolset 还会处理此连接的安全关停。MCPToolset 会通过 list_tools MCP 方法向 MCP 服务器查询有哪些工具可用。然后,它会将这些发现的 MCP 工具的架构转换为与 ADK 兼容的 BaseTool 实例。LlmAgent,就像它们是原生 ADK 工具一样。LlmAgent 决定使用其中一种工具时,MCPToolset 会通过 MCP 的 call_tool 方法将调用透明地代理到 MCP 服务器,发送必要的实参,并将服务器的响应返回给智能体。tool_filter 参数从 MCP 服务器中选择特定的工具子集,而不是向智能体公开所有工具。Google 地图 MCP 服务器需要使用 API 密钥才能与 Google 地图服务通信。在此步骤中,您将生成一个名为 GOOGLE_MAPS_API_KEY 的新 API 密钥,并将其限制为仅可用于 Directions API 和 Routes API,以确保安全性。
前往 Google Cloud 控制台浏览器标签页(而不是 Cloud Shell 编辑器)。
您可以关闭此浏览器标签页上的 Cloud Shell 终端窗格,腾出更多控制台空间。
在页面顶部的搜索栏中搜索凭证。从结果中选择相应凭证。
在凭证页面上,点击页面顶部的创建凭证,然后选择 API 密钥。
在名称部分,输入 GOOGLE_MAPS_API_KEY
对于可以使用此密钥访问的 API,请选择以下 API:
点击创建。
API 密钥已创建对话框会显示您新创建的 API 密钥。请务必复制此密钥并将其保存到本地,以便稍后在实验中使用。
点击对话框中的关闭。
现在,您将配置智能体以使用 Google 地图工具。通过添加 MCPToolset,您可以让智能体在需要时动态发现和调用地图 API。
将以下命令粘贴到您电脑上的纯文本文件中,然后将 YOUR_ACTUAL_API_KEY 值更新为您在上一步中生成并保存的 Google 地图 API 密钥:
将更新后的命令复制并粘贴到 Cloud Shell 终端中,然后运行该命令,写入一个 .env 文件,该文件将为此智能体目录提供身份验证详细信息。
运行以下命令,将 .env 文件复制到您稍后将在本实验中使用的另一个智能体目录中:
在 Cloud Shell 编辑器的文件资源管理器窗格中,找到 adk_mcp_tools 文件夹。点击将其打开。
前往 adk_mcp_tools/google_maps_mcp_agent 目录。
打开 agent.py,然后在注释 ## Add the MCPToolset 后面(第 53 行后面的新行)添加以下代码,以配置智能体与 Google 地图 MCP 服务器的连接:
保存文件。
在 adk_mcp_tools 项目目录中,执行以下命令启动智能体开发套件开发者界面:
输出:
如需在新标签页中查看网页界面,请点击终端输出中的 http://127.0.0.1:8000 链接。
系统即会在一个新浏览器标签页中打开 ADK 开发者界面。从左侧的选择智能体下拉菜单中,选择 google_maps_mcp_agent。
开始与智能体对话,并执行以下提示:
输出:
点击带有闪电标志(表示函数调用)的智能体聊天气泡旁的智能体图标。系统随即会打开相应事件的“事件”检查器。
可以看到,这张智能体图中显示了多个不同工具,以扳手表情符号 (🔧) 标识。虽然您只导入了一个 MCPToolset,但该工具集包含您在此处看到的各种工具,例如 maps_place_details 和 maps_directions。
在事件标签页中,您可以看到该请求的结构。您可以使用“事件”检查器顶部的箭头来浏览智能体的思路、函数调用和回答。
完成对该智能体的提问后,关闭开发者界面浏览器标签页。
返回 Cloud Shell 终端面板,然后按 Ctrl+C 停止服务器。
点击检查我的进度以验证是否完成了以下目标:
在本部分中,您将了解如何通过自定义的 MCP 服务器公开 ADK load_web_page 工具。该模式可封装现有 ADK 工具,供所有标准 MCP 客户端应用调用。
返回 Cloud Shell 编辑器,然后选择 adk_mcp_tools/adk_mcp_server 目录。
打开名为 adk_server.py 的 Python 文件。此文件包含自定义 MCP 服务器的逻辑。查看代码,了解它是如何封装 ADK 工具并将其作为服务提供的。
请花些时间研读该文件和注释,理解代码是如何封装工具并将其作为 MCP 服务器提供的。请留意代码以何种方式允许 MCP 客户端列出可用工具,异步调用 ADK 工具,同时以符合 MCP 规范的格式处理请求与响应。
打开 adk_mcp_server 目录中的 agent.py。
在第 31 行中,将 PATH_TO_YOUR_MCP_SERVER_SCRIPT 的值更新为以下路径,以便智能体可以连接到您的自定义服务器脚本:
接下来,在 agent.py 文件的第 55 行(即注释 ## Add the MCPToolset below: 后面)添加以下代码,将 MCPToolset 添加到您的智能体中。ADK 智能体充当 MCP 服务器的客户端。此 ADK 智能体使用 MCPToolset 连接到您的 adk_server.py 脚本。
保存文件。
如需运行 MCP 服务器,请在 Cloud Shell 终端中运行以下命令,以启动 adk_server.py 脚本:
输出:
点击 Cloud Shell 终端窗口顶部的 按钮,打开一个新的 Cloud Shell 终端标签页。
在 Cloud Shell 终端中,从 adk_mcp_tools 项目目录中使用以下命令启动智能体开发套件开发者界面:
如需在新标签页中查看网页界面,请点击终端输出中的 http://127.0.0.1:8000 链接。
从左侧的选择智能体下拉菜单中,选择 adk_mcp_server。
向智能体输入以下提示:
输出:
具体过程:
web_reader_mcp_client_agent) 使用 MCPToolset 连接到 adk_server.py。call_tool 请求,执行 ADK load_web_page 工具,然后返回结果。adk_server.py 终端的日志。这表明 ADK 工具可以封装在 MCP 服务器中,供各种符合 MCP 规范的客户端(包括 ADK 智能体)访问。
在本实验中,您学习了如何使用 MCPToolset 类将外部 Model Context Protocol (MCP) 工具集成到智能体开发套件 (ADK) 智能体中。您已了解如何连接到 MCP 服务器、在智能体中使用其工具,以及通过自定义 MCP 服务器公开 load_web_page 等 ADK 工具。借助这些技能,您可以利用强大的外部服务来扩展 ADK 智能体,从而改进 Web 开发工作流。
上次更新手册的时间:2026 年 4 月 21 日
上次测试实验的时间:2026 年 4 月 21 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验
完成此快速步骤即可开始实验。