图解「模型上下文协议(MCP)」:从与传统 API 的比较入手

最近,关于模型上下文协议(MCP)的讨论非常热烈。 你一定听说过它。 今天,让我们一起来了解一下模型上下文协议(MCP)。

最近,关于模型上下文协议(MCP)的讨论非常热烈。你一定听说过它。

今天,让我们一起来了解一下模型上下文协议(MCP)。

直观地说,MCP 就像 AI 应用的 USB-C 接口。

正如 USB-C 为设备连接各种配件提供了标准化方案,MCP 也将 AI 应用连接到不同数据源和工具的方式标准化了。

1.gif1.gif

接下来从技术角度进行深入探讨。

MCP 的核心遵循客户端-服务器(client-server)架构,Host 应用程序可以连接到多个 Server。

它包含三个主要组件:

  • Host
  • Client
  • Server

在我们进行深入探讨之前,先来了解一下整体架构👇

2.gif2.gif

Host 代表任何提供 AI 交互环境、访问外部工具和数据源并运行 MCP Client 的 AI 应用(如 Claude 桌面版、Cursor)。

MCP Client 在 Host 内运行,实现与 MCP Servers 的通信。

image.pngimage.png

MCP Server 对外开放特定能力,并提供对数据源的访问权限,包括:

image.pngimage.png

  • Tools:使大语言模型能够通过你的 Server 执行操作。
  • Resources:将 Server 上的数据和内容开放给大语言模型。
  • Prompts:创建可复用的提示词模板和工作流程。

要构建属于你自己的 MCP 系统,理解客户端-服务器通信机制是必不可少的。

现在我们来解析客户端与服务器的通信流程。

本文将对该过程进行逐步拆解,请看下方这张示意图...

3.gif3.gif

首先进行 Capability Exchange(译者注:Capability Exchange(能力交换)是一种动态服务发现与适配机制,是MCP连接建立的必经步骤,类似于“握手协议”。),流程如下:

  1. 客户端发送初始请求,获取服务器能力信息
  2. 服务器返回其能力信息详情
  3. 例如当天气 API 服务器被调用时,它可以返回可用的“tools”、“prompts templates”及其他资源供客户端使用

交换完成后,客户端确认连接成功,然后继续交换消息。

这种机制非常强大,原因如下:

在传统的 API 架构中:

  • 如果你的 API 最初需要两个参数(例如,天气服务的 location 参数(译者注:地理位置)和 date 参数(译者注:日期)),用户需严格按此参数结构构建应用。

image.pngimage.png

  • 之后,如果你决定为该 API 添加第三个必选参数(例如,unit参数(译者注:温度单位)),将API “契约”进行变更。

image.pngimage.png

  • 这意味着该 API 的所有用户都必须更新代码,增加对新参数的支持,如果未及时更新,他们的请求可能会失败、报错或提供不完整的结果。

image.pngimage.png

MCP 的设计解决了这个问题,具体方法如下:

  • MCP 引入了一种动态、灵活的方法,与传统 API 形成鲜明对比。
  • 当 Client(例如 Claude Desktop 这类 AI 应用)连接 MCP Server(例如天气服务)时,会发送初始请求,以便了解 Server 的能力。
  • Server 的响应包含可用的 tools、resources、prompts 以及相关参数的详细信息。例如,若天气 API 最初仅支持 location 和 date 参数,服务器会通过能力交换告知这些信息。

当新增 unit 参数时,MCP Server 可在下次进行能力交换时动态更新能力描述。Client 无需硬编码或预定义参数,只需查询 Server 的最新能力并自动适配。

这样,Client 就能使用更新后的新功能(例如在其请求中包含 unit 参数),实时调整行为,而无需重写或重新部署代码。

希望本文能阐明 MCP 的作用。

后续我们将探索如何创建自定义的 MCP servers 并围绕它们构建实践演示,敬请期待!

Thanks for reading! 

Hope you have enjoyed and learned new things from this blog!

相关资讯

一文读懂:模型上下文协议(MCP)

Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的模型上下文协议(MCP)。 随着人工智能迈向更复杂的应用场景,单一模型的局限性逐渐显现,而多模型协同与上下文感知的需求日益迫切。 从对话系统需要理解用户的历史语境,到跨模态任务要求无缝整合文本、图像等多源数据,AI 的发展正呼唤一种全新的协作范式。

MCP协议让AI不再“与世隔绝”

什么是MCP? MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 公司于 2024 年 11 月 26 日 推出的一项技术协议。 其主要目的是解决 AI 助手与外部数据源隔离的问题,使 AI 能够连接并访问外部资源。

随着AI大模型和MCP生态发展,传统低代码平台和RPA类产品还有无出路?

今天准备跟大家聊一下随着AI大模型和MCP协议生态的发展,对传统的低代码产品和RPA机器人产品所带来的一些影响。 因为在一年多前我其实就聊过这个话题,但是最近一年的时间AI大模型、AI编程、AI智能体,包括最近的MCP协议生态的发展太快了,导致原来我们对这两个产品的影响分析会出现一些变化。 低代码平台影响分析首先我们先讲一下低代码,大家都知道其实低代码平台的产品,它的本质仍然是辅助我们编程,仍然是可能会生成源代码或者是生成低代码产品模板引擎能够解析的元数据。