什么是MCP模型上下文协议?

模型上下文协议 (MCP) 是一种标准化的协议,它允许 AI 模型以结构化的方式与外部工具和资源进行交互。它支持多种传输机制,以提供在不同环境中的灵活性。
没有 MCP 时:每个 AI 工具都困在自己的“孤岛”上,无法共享数据或能力。
有了 MCP 之后:它们可以无缝地共享信息、工具和上下文。

MCP 就像是 AI 应用程序的 USB-C 接口。正如 USB-C 提供了一种标准化的方式,让你的设备能够连接到各种外设和配件一样,MCP 也为 AI 模型提供了一种标准化的方式,使其能够连接到不同的数据源和工具。
一、使用 Spring Boot AI 构建 MCP 服务器可以使用 Spring Boot AI 构建 MCP 服务器,其中有两个核心构建块非常重要:@Tool 和 ToolCallbackProvider。
@Tool 注解
作用:标记一个方法为 MCP 服务器中的可调用工具。
重要性:当你用 @Tool 注解一个方法时,你是在告诉 MCP 框架:“当需要时,这个方法可以被 AI 模型调用。”
你还需要提供一个描述,客户端(如 AI 驱动的 UI 或应用程序)可以使用它来了解和显示工具的功能。
ToolCallbackProvider
作用:在 MCP 框架中注册所有工具方法。
重要性:ToolCallbackProvider 扫描你的应用程序,查找带有 @Tool 注解的方法,然后注册它们,以便在 AI 模型触发工具调用时执行。
没有它,你的 MCP 服务器将不知道哪些方法可用,或者如何响应传入的请求来调用它们。
二、使用 Spring Boot AI 构建 MCP 客户端聊天客户端 (ChatClient) 是应用程序和 AI 模型之间的核心连接器。在基于 MCP 的设置中,它充当一个协调器——管理 AI 如何与你的工具和服务进行交互。
它的作用如下:
注册工具:它告诉 AI 模型哪些工具可用以及每个工具的功能。路由工具调用:当模型根据你的提示决定使用工具时,聊天客户端 (ChatClient) 将该请求发送到正确的处理器。处理响应:工具完成任务后,聊天客户端 (ChatClient) 接收结果并将其反馈到模型的上下文中。你可以将 聊天客户端 (ChatClient) 视为 AI 模型、你的应用程序和外部工具之间的桥梁——使一切都能顺利协同工作。