第10章:模型上下文协议 Model Context Protocol

为了使大规模语言模型(LLMs)能够有效地作为智能体运行,它们的能力必须超越多模态生成。与外部环境的交互是必要的,包括访问当前数据、使用外部软件以及执行特定的操作任务。模型上下文协议(Model Context Protocol,MCP)通过提供一个标准化的接口,使LLMs能够与外部资源进行交互,从而满足这一需求。该协议是促进一致性和可预测性集成的关键机制。

MCP 模式概述

可以想象一个通用适配器,它允许任何LLM无需为每个外部系统、数据库或工具进行定制集成即可连接。这正是模型上下文协议(MCP)的本质。它是一种开放标准,旨在规范像Gemini、OpenAI的GPT模型、Mixtral和Claude等LLM如何与外部应用程序、数据源和工具进行通信。可以将其视为一种简化LLMs获取上下文、执行操作以及与各种系统交互的通用连接机制。

MCP基于客户端-服务器架构运行。它定义了不同元素——数据(称为资源)、交互模板(本质上是提示)以及可操作功能(称为工具)——如何由MCP服务器暴露。这些元素随后由MCP客户端使用,MCP客户端可以是LLM的主机应用程序或AI智能体本身。这种标准化方法显著降低了将LLMs集成到多样化操作环境中的复杂性。

然而,MCP是一个“智能体接口”的契约,其有效性在很大程度上取决于它所暴露的底层API的设计。存在一种风险,即开发者可能仅仅对现有的遗留API进行简单封装,而没有进行修改,这对于智能体来说可能是次优的。例如,如果一个票务系统的API仅允许逐一检索完整的票务详细信息,那么当智能体被要求总结高优先级的票务时,在处理大量数据时可能会变得缓慢且不准确。为了真正提高效率,底层API应通过确定性功能(如过滤和排序)进行改进,以帮助非确定性智能体高效工作。这表明智能体并不能神奇地取代确定性工作流,它们通常需要更强的确定性支持才能成功。

此外,MCP可以封装一个输入或输出仍然无法被智能体本质上理解的API。如果API的数据格式对智能体不友好,那么这个API的效用就会大打折扣,而这并不是MCP本身能够强制保证的。例如,为一个返回PDF文件的文档存储创建MCP服务器是没有意义的,如果消费该数据的智能体无法解析PDF内容。更好的方法是首先创建一个API,该API以智能体能够实际读取和处理的文本格式(如Markdown)返回文档。这表明开发者不仅需要考虑连接,还需要考虑交换数据的性质,以确保真正的兼容性。

MCP 与工具函数调用的比较

模型上下文协议(MCP)和工具函数调用是两种不同的机制,它们使LLMs能够与外部功能(包括工具)交互并执行操作。虽然两者都旨在扩展LLMs超越文本生成的能力,但它们在方法和抽象层次上有所不同。

工具函数调用可以被视为LLM向特定的预定义工具或函数发出的直接请求。在这种上下文中,“工具”和“函数”可以互换使用。这种交互的特点是一个一对一的通信模型,其中LLM根据其对用户意图的理解格式化一个请求,该请求需要外部操作。应用代码随后执行该请求并将结果返回给LLM。这个过程通常是专有的,并且在不同的LLM提供商之间有所不同。

与之相对,模型上下文协议(Model Context Protocol,MCP)作为一种标准化接口,旨在帮助大型语言模型(LLMs)发现、与外部能力进行通信并加以利用。它是一个开放协议,促进与各种工具和系统的交互,目标是建立一个生态系统,使任何符合规范的工具都可以被任何符合规范的LLM访问。这种方式促进了不同系统和实现之间的互操作性、可组合性和可重用性。通过采用联邦模型,我们显著提高了互操作性,并释放了现有资产的价值。这一策略允许我们将分散的遗留服务简单地通过封装为符合MCP接口的方式引入现代生态系统。这些服务可以继续独立运行,但现在可以被组合到新的应用程序和工作流中,其协作由LLM进行编排。这种方法提高了敏捷性和可重用性,而无需对基础系统进行高成本的重写。

以下是MCP与工具函数调用之间的基本区别的详细分析:

特性 工具函数调用 模型上下文协议(MCP)
标准化 专有且供应商特定。格式和实现因LLM提供商而异。 开放的标准化协议,促进不同LLM和工具之间的互操作性。
范围 LLM请求执行特定的预定义函数的直接机制。 LLM与外部工具如何发现和通信的更广泛框架。
架构 LLM与应用程序的工具处理逻辑之间的一对一交互。 客户端-服务器架构,其中由LLM驱动的应用程序(客户端)可以连接并利用各种MCP服务器(工具)。
发现 LLM明确获知在特定对话上下文中可用的工具。 支持动态发现可用工具。MCP客户端可以查询服务器以了解其提供的功能。
可重用性 工具集成通常与使用的特定应用程序和LLM紧密耦合。 促进开发可重用的、独立的“MCP服务器”,这些服务器可以被任何符合规范的应用程序访问。

可以将工具函数调用比作给人工智能提供一组特定的定制工具,例如特定的扳手和螺丝刀。这对于具有固定任务集的工作场所来说是高效的。而MCP(模型上下文协议)则类似于创建一个通用的、标准化的电源插座系统。它本身并不提供工具,但允许任何符合规范的工具从任何制造商接入并工作,从而实现动态且不断扩展的工作场所。

简而言之,函数调用提供了对少量特定功能的直接访问,而MCP则是一个标准化的通信框架,使LLMs能够发现并使用广泛的外部资源。对于简单的应用程序,特定工具已经足够;而对于需要适应的复杂、互联的AI系统,则需要像MCP这样的通用标准。

MCP的额外考虑事项

尽管MCP提供了一个强大的框架,但在评估其适用性时,需要考虑一些影响具体用例的重要方面。以下是一些需要详细探讨的方面:

  • 工具 vs. 资源 vs. 提示: 理解这些组件的具体角色非常重要。资源是静态数据(例如,PDF文件、数据库记录)。工具是执行某项操作的可执行功能(例如,发送电子邮件、查询API)。提示是一个模板,用于指导LLM如何与资源或工具交互,确保交互结构化且有效。
  • 可发现性: MCP的一个关键优势在于,MCP客户端可以动态查询服务器以了解其提供的工具和资源。这种“实时发现”机制对于需要适应新功能而无需重新部署的智能体来说非常强大。
  • 安全性: 通过任何协议暴露工具和数据都需要强大的安全措施。MCP的实现必须包括身份验证和授权,以控制哪些客户端可以访问哪些服务器以及允许执行哪些具体操作。
  • 实现: 尽管MCP是一个开放标准,但其实现可能较为复杂。然而,提供商正开始简化这一过程。例如,一些模型提供商(如Anthropic或FastMCP)提供SDK,这些SDK抽象了大部分样板代码,使开发人员更容易创建和连接MCP客户端和服务器。
  • 错误处理: 一个全面的错误处理策略至关重要。协议必须定义如何将错误(例如,工具执行失败、服务器不可用、请求无效)传达给LLM,以便其理解失败原因并可能尝试替代方法。
  • 本地服务器 vs. 远程服务器: MCP服务器可以部署在与智能体相同的机器上(本地)或远程的另一台服务器上。选择本地服务器可能是为了速度和处理敏感数据的安全性,而远程服务器架构则允许在组织内共享、可扩展地访问常用工具。
  • 按需 vs. 批处理: MCP可以支持按需的交互式会话和大规模的批处理。选择取决于应用场景,从需要即时工具访问的实时对话智能体到批量处理记录的数据分析管道。
  • 传输机制: 该协议还定义了用于通信的底层传输层。对于本地交互,它使用基于STDIO(标准输入/输出)的JSON-RPC以实现高效的进程间通信。对于远程连接,它利用适合网络的协议,如Streamable HTTP和Server-Sent Events(SSE),以实现持久且高效的客户端-服务器通信。

模型上下文协议(MCP)使用客户端-服务器模型来标准化信息流。理解组件之间的交互是实现MCP高级智能体行为的关键:

  1. 大型语言模型(LLM): 核心智能体。它处理用户请求、制定计划,并决定何时需要访问外部信息或执行操作。
  2. MCP客户端: 这是围绕LLM的应用程序或封装。它充当中介,将LLM的意图转换为符合MCP标准的正式请求。它负责发现、连接和与MCP服务器通信。
  3. MCP服务器: 这是通向外部世界的网关。它向任何授权的MCP客户端公开一组工具、资源和提示。每个服务器通常负责特定领域,例如连接公司的内部数据库、电子邮件服务或公共API。
  4. 可选第三方服务(3P服务): 这代表MCP服务器管理和公开的实际外部工具、应用或数据源。它是执行请求操作的最终端点,例如查询专有数据库、与SaaS平台交互或调用公共天气API。

交互流程如下:

  1. 发现(Discovery): MCP 客户端代表 LLM 向 MCP 服务器查询其提供的功能。服务器通过一个清单响应,列出其可用的工具(例如,send_email)、资源(例如,customer_database)以及提示信息。

  2. 请求制定(Request Formulation): LLM 确定需要使用发现的某个工具。例如,它决定发送一封电子邮件。然后它制定一个请求,指定要使用的工具(send_email)以及必要的参数(收件人、主题、正文)。

  3. 客户端通信(Client Communication): MCP 客户端将 LLM 制定的请求作为标准化调用发送到相应的 MCP 服务器。

  4. 服务器执行(Server Execution): MCP 服务器接收到请求后,会对客户端进行身份验证,验证请求的有效性,然后通过与底层软件交互执行指定的操作(例如,调用电子邮件 API 的 send() 函数)。

  5. 响应与上下文更新(Response and Context Update): 执行完成后,MCP 服务器将标准化响应发送回 MCP 客户端。该响应表明操作是否成功,并包含任何相关的输出(例如,已发送电子邮件的确认 ID)。客户端随后将结果传回 LLM,更新其上下文,使其能够继续完成任务的下一步。

实际应用与使用场景

MCP 显著扩展了 AI/LLM 的能力,使其更加多功能和强大。以下是九个主要使用场景:

  • 数据库集成: MCP允许LLM和智能体无缝访问和交互数据库中的结构化数据。例如,使用MCP数据库工具箱,智能体可以查询Google BigQuery数据集以获取实时信息、生成报告或更新记录,所有操作均由自然语言命令驱动。
  • 生成式媒体编排: MCP使智能体能够与先进的生成式媒体服务集成。通过MCP生成媒体服务工具,智能体可以编排涉及Google的Imagen图像生成、Veo视频创作、Chirp 3 HD真实语音生成或Lyria音乐创作的工作流程,从而在AI应用中实现动态内容创作。
  • 外部API交互: MCP为LLM提供了一种标准化的方式来调用和接收任何外部API的响应。这意味着智能体可以获取实时天气数据、股票价格、发送电子邮件或与CRM系统交互,从而将其能力扩展到核心语言模型之外。
  • 基于推理的信息提取: 利用LLM强大的推理能力,MCP促进了超越传统搜索和检索系统的高效、依赖查询的信息提取。与传统搜索工具返回整个文档不同,智能体可以分析文本并提取直接回答用户复杂问题的精确条款、数据或陈述。
  • 自定义工具开发: 开发者可以通过MCP服务器(例如使用FastMCP)构建自定义工具并对外提供。这使得专门的内部功能或专有系统能够以标准化、易于使用的格式为LLM和其他智能体所用,而无需直接修改LLM。
  • 标准化的LLM与应用程序通信: MCP确保了LLM与其交互的应用程序之间的一致通信层。这减少了集成开销,促进了不同LLM提供商和主机应用程序之间的互操作性,并简化了复杂智能体系统的开发。
  • 复杂工作流程编排: 通过结合各种MCP暴露的工具和数据源,智能体可以编排高度复杂的多步骤工作流程。例如,智能体可以从数据库中检索客户数据,生成个性化的营销图片,撰写定制的电子邮件,然后发送邮件,所有这些都通过与不同的MCP服务交互完成。
  • 物联网设备控制: MCP能够促进LLM与物联网设备的交互。智能体可以使用MCP向智能家居设备、工业传感器或机器人发送命令,从而实现物理系统的自然语言控制和自动化。
  • 金融服务自动化: 在金融服务领域,MCP可以使LLM与各种金融数据源、交易平台或合规系统交互。智能体可以分析市场数据、执行交易、生成个性化的财务建议或自动化监管报告,同时保持安全和标准化的通信。

简而言之,模型上下文协议(MCP)使智能体能够从数据库、API和网络资源中访问实时信息。它还允许智能体执行诸如发送电子邮件、更新记录、控制设备和通过整合和处理来自各种来源的数据来执行复杂任务。此外,MCP支持用于AI应用的媒体生成工具。

使用ADK的代码示例

本节概述了如何连接到提供文件系统操作的本地MCP服务器,使ADK智能体能够与本地文件系统交互。

使用MCP工具集进行智能体设置

要配置用于文件系统交互的智能体,需要创建一个名为 agent.py 的文件(例如,路径为 ./adk_agent_samples/mcp_agent/agent.py)。在 LlmAgent 对象的 tools 列表中实例化 MCPToolset。必须将 args 列表中的 "/path/to/your/folder" 替换为 MCP 服务器可访问的本地系统目录的绝对路径。该目录将作为智能体执行文件系统操作的根目录。

import os
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset, StdioServerParameters

## 创建一个可靠的绝对路径,指向与此智能体脚本同一目录下名为 'mcp_managed_files' 的文件夹。
## 这确保智能体可以直接用于演示。
## 在生产环境中,应指向更持久且安全的位置。
TARGET_FOLDER_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), "mcp_managed_files")

## 在智能体需要目标目录之前,确保该目录存在。
os.makedirs(TARGET_FOLDER_PATH, exist_ok=True)

root_agent = LlmAgent(
   model='gemini-2.0-flash',
   name='filesystem_assistant_agent',
   instruction=(
       '帮助用户管理文件。您可以列出文件、读取文件和写入文件。'
       f'您正在以下目录中操作:{TARGET_FOLDER_PATH}'
   ),
   tools=[
       MCPToolset(
           connection_params=StdioServerParameters(
               command='npx',
               args=[
                   "-y",  # npx 的参数,用于自动确认安装
                   "@modelcontextprotocol/server-filesystem",
                   # 此路径必须是文件夹的绝对路径。
                   TARGET_FOLDER_PATH,
               ],
           ),
           # 可选:可以过滤 MCP 服务器中暴露的工具。
           # 例如,仅允许读取:
           # tool_filter=['list_directory', 'read_file']
       )
   ],
)

npx(Node Package Execute)是与 npm(Node Package Manager)版本 5.2.0 及以上捆绑的工具,它允许直接执行来自 npm 注册表的 Node.js 包,而无需全局安装。实际上,npx 是一个 npm 包运行工具,通常用于运行许多社区 MCP 服务器,这些服务器以 Node.js 包的形式分发。

创建一个 __init__.py 文件是必要的,以确保 agent.py 文件被识别为 Agent Development Kit (ADK) 的可发现 Python 包。该文件应位于与 agent.py 相同的目录中。

## ./adk_agent_samples/mcp_agent/__init__.py
from . import agent

当然,还可以使用其他支持的命令。例如,可以通过以下方式连接到 python3:

connection_params = StdioConnectionParams(
 server_params={
     "command": "python3",
     "args": ["./agent/mcp_server.py"],
     "env": {
       "SERVICE_ACCOUNT_PATH": SERVICE_ACCOUNT_PATH,
       "DRIVE_FOLDER_ID": DRIVE_FOLDER_ID
     }
 }
)

UVX 在 Python 的上下文中是一个命令行工具,它利用 uv 在临时的隔离 Python 环境中执行命令。它允许运行 Python 工具和包,而无需全局安装或在项目环境中安装。可以通过 MCP 服务器运行它。

connection_params = StdioConnectionParams(
 server_params={
   "command": "uvx",
   "args": ["mcp-google-sheets@latest"],
   "env": {
     "SERVICE_ACCOUNT_PATH": SERVICE_ACCOUNT_PATH,
     "DRIVE_FOLDER_ID": DRIVE_FOLDER_ID
   }
 }
)

一旦创建了 MCP 服务器,下一步就是连接到它。

将 MCP 服务器连接到 ADK Web

首先,执行 adk web。在终端中导航到 mcp_agent 的父目录(例如 adk_agent_samples),然后运行:

cd ./adk_agent_samples # 或者是您的对应父目录
adk web

一旦 ADK Web UI 在浏览器中加载完成,从智能体菜单中选择 filesystem_assistant_agent。接下来,可以尝试以下提示:

  • “显示这个文件夹的内容。”
  • “读取 sample.txt 文件。”(假设 sample.txt 位于 TARGET_FOLDER_PATH。)
  • another_file.md 中有什么?”

使用 FastMCP 创建 MCP 服务器

FastMCP 是一个高层次的 Python 框架,旨在简化 MCP 服务器的开发。它提供了一个抽象层,简化了协议的复杂性,使开发者能够专注于核心逻辑。

该库通过简单的 Python 装饰器快速定义工具、资源和提示。其显著优势在于自动生成的架构,能够智能地解析 Python 函数签名、类型提示和文档字符串,以构建必要的 AI 模型接口规范。这种自动化减少了手动配置并降低了人为错误的可能性。

除了基本工具创建之外,FastMCP 还支持高级架构模式,例如服务器组合和智能体。这使得复杂的多组件系统的模块化开发成为可能,并能够将现有服务无缝集成到 AI 可访问的框架中。此外,FastMCP 还包括针对高效、分布式和可扩展的 AI 驱动应用的优化。

使用 FastMCP 设置服务器

为了说明这一点,以下是服务器提供的一个基本“问候”工具的示例。ADK 智能体和其他 MCP 客户端可以通过 HTTP 与该工具交互。

## fastmcp_server.py
## 此脚本演示如何使用 FastMCP 创建一个简单的 MCP 服务器。
## 它暴露了一个生成问候语的工具。

## 1. 确保已安装 FastMCP:
## pip install fastmcp
from fastmcp import FastMCP, Client

## 初始化 FastMCP 服务器。
mcp_server = FastMCP()

## 定义一个简单的工具函数。
## `@mcp_server.tool` 装饰器将此 Python 函数注册为 MCP 工具。
## 文档字符串成为 LLM 的工具描述。
@mcp_server.tool
def greet(name: str) -> str:
    """
    生成个性化问候语。
    参数:
        name: 要问候的人的名字。
    返回:
        问候语字符串。
    """
    return f"Hello, {name}! Nice to meet you."

## 如果希望直接运行脚本:
if __name__ == "__main__":
    mcp_server.run(
        transport="http",
        host="127.0.0.1",
        port=8000
    )

此 Python 脚本定义了一个名为 greet 的函数,该函数接收一个人的名字并返回个性化的问候语。函数上方的 @tool() 装饰器会自动将其注册为 AI 或其他程序可用的工具。FastMCP 会利用函数的文档字符串和类型提示向智能体说明工具的工作原理、所需输入以及返回结果。

当脚本执行时,它会启动 FastMCP 服务器,监听 localhost:8000 的请求。这使得 greet 函数作为网络服务可用。然后可以配置一个智能体连接到该服务器,并使用 greet 工具生成问候语作为更大任务的一部分。服务器将持续运行,直到手动停止。

使用 ADK 智能体消费 FastMCP 服务器

可以将 ADK 智能体设置为 MCP 客户端,以使用正在运行的 FastMCP 服务器。这需要通过 HttpServerParameters 配置 FastMCP 服务器的网络地址,通常为 http://localhost:8000

可以包含一个 tool_filter 参数,以限制智能体对服务器提供的特定工具(如 greet)的使用。当收到类似“问候 John Doe”的请求时,智能体嵌入的 LLM 会识别通过 MCP 提供的 greet 工具,使用参数“John Doe”调用它,并返回服务器的响应。此过程展示了通过 MCP 暴露的用户定义工具与 ADK 智能体的集成。

要建立此配置,需要一个智能体文件(例如,位于 ./adk_agent_samples/fastmcp_client_agent/agent.pyagent.py 文件)。该文件将实例化一个 ADK 智能体,并使用 HttpServerParameters 与运行中的 FastMCP 服务器建立连接。

## ./adk_agent_samples/fastmcp_client_agent/agent.py
import os
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset, HttpServerParameters

## 定义 FastMCP 服务器的地址。
## 确保之前定义的 fastmcp_server.py 正在此端口上运行。
FASTMCP_SERVER_URL = "http://localhost:8000"

root_agent = LlmAgent(
   model='gemini-2.0-flash', # 或者使用您偏好的模型
   name='fastmcp_greeter_agent',
   instruction='你是一个友好的助手,可以通过名字向人们问候。使用 "greet" 工具。',
   tools=[
       MCPToolset(
           connection_params=HttpServerParameters(
               url=FASTMCP_SERVER_URL,
           ),
           # 可选:过滤 MCP 服务器中暴露的工具
           # 在此示例中,我们仅期望使用 'greet'
           tool_filter=['greet']
       )
   ],
)

此脚本定义了一个名为 fastmcp_greeter_agent 的智能体,该智能体使用 Gemini 语言模型。它被赋予了特定的指令,作为一个友好的助手,其目的是向人们问候。关键是代码为该智能体配备了一个工具来完成其任务。它配置了一个 MCPToolset,以连接到运行在 localhost:8000 的独立服务器,该服务器预计是之前示例中的 FastMCP 服务器。智能体被明确授予访问该服务器上托管的 greet 工具的权限。实际上,此代码设置了系统的客户端部分,创建了一个智能体,其目标是向人们问候,并确切知道使用哪个外部工具来完成任务。

fastmcp_client_agent 目录中创建一个 __init__.py 文件是必要的。这可以确保该智能体被识别为 ADK 的可发现 Python 包。

首先,打开一个新的终端并运行 python fastmcp_server.py 以启动 FastMCP 服务器。接下来,进入 fastmcp_client_agent 的父目录(例如 adk_agent_samples),并在终端中执行 adk web。当 ADK Web UI 在浏览器中加载后,从智能体菜单中选择 fastmcp_greeter_agent。然后可以通过输入类似 "Greet John Doe" 的提示来测试它。智能体将使用 FastMCP 服务器上的 greet 工具生成响应。

概览

定义(What)

为了成为有效的智能体,LLM 必须超越简单的文本生成能力。它们需要能够与外部环境交互,以访问当前数据并使用外部软件。如果没有标准化的通信方法,每次 LLM 与外部工具或数据源之间的集成都将成为定制化、复杂且不可复用的工作。这种临时方法阻碍了可扩展性,使构建复杂的互联 AI 系统变得困难且低效。

设计意图(Why)

模型上下文协议(Model Context Protocol,MCP)通过充当 LLM 与外部系统之间的通用接口提供了标准化的解决方案。它建立了一个开放的标准化协议,定义了如何发现和使用外部功能。基于客户端-服务器模型,MCP 允许服务器向任何兼容的客户端公开工具、数据资源和交互式提示。基于 LLM 的应用程序充当这些客户端,能够动态发现并以可预测的方式与可用资源交互。这种标准化方法促进了可互操作和可重用组件的生态系统,大幅简化了复杂智能体工作流的开发。

使用原则(Rule of Thumb)

在构建复杂的、可扩展的或企业级智能体系统时,建议使用模型上下文协议(MCP)。这些系统需要与多样且不断发展的外部工具、数据源和API进行交互。MCP尤其适用于需要在不同的大型语言模型(LLM)和工具之间实现互操作性,并且智能体需要在无需重新部署的情况下动态发现新功能的场景。对于功能固定且数量有限的简单应用,直接调用工具函数可能已经足够。

图解 (Visual Summary)

图1:模型上下文协议

图1:模型上下文协议

关键要点

以下是关键要点:

  • 模型上下文协议(MCP)是一种开放标准,用于促进LLM与外部应用程序、数据源和工具之间的标准化通信。
  • MCP采用客户端-服务器架构,定义了资源、提示和工具的暴露与使用方法。
  • 智能体开发工具包(ADK)支持利用现有的MCP服务器以及通过MCP服务器暴露ADK工具。
  • FastMCP简化了MCP服务器的开发和管理,特别是用于暴露用Python实现的工具。
  • MCP工具支持生成媒体服务,使智能体能够集成Google Cloud的生成媒体功能(Imagen、Veo、Chirp 3 HD、Lyria)。
  • MCP使LLM和智能体能够与现实世界系统交互,访问动态信息,并执行超越文本生成的操作。

结论

模型上下文协议(MCP)是一种开放标准,旨在促进大型语言模型(LLM)与外部系统之间的通信。它采用客户端-服务器架构,使LLM能够通过标准化工具访问资源、利用提示并执行操作。MCP允许LLM与数据库交互、管理生成媒体工作流、控制物联网设备以及自动化金融服务。实际示例展示了设置智能体与MCP服务器通信的过程,包括文件系统服务器和使用FastMCP构建的服务器,同时说明了其与智能体开发工具包(ADK)的集成。MCP是开发超越基本语言能力的交互式人工智能体的关键组件。

参考文献

  1. 模型上下文协议(MCP)文档。(最新)。模型上下文协议(MCP)https://google.github.io/adk-docs/mcp/
  2. FastMCP文档。FastMCP。https://github.com/jlowin/fastmcp
  3. MCP生成媒体服务工具。MCP生成媒体服务工具https://google.github.io/adk-docs/mcp/#mcp-servers-for-google-cloud-genmedia
  4. MCP数据库工具箱文档。(最新)。MCP数据库工具箱https://google.github.io/adk-docs/mcp/databases/

results matching ""

    No results matching ""