MCP 架构设计深度剖析 原创

发布于 2025-4-16 07:10
浏览
0收藏

在本文中,我将从使用者的角度出发,分享关于 MCP(Model Context Protocol,模型上下文协议)的实用内容,本文旨在回答以下5个核心问题:


MCP 架构设计深度剖析-AI.x社区

  • 什么是 MCP?
  • 为什么需要 MCP?
  • 作为用户,我们如何使用/开发 MCP?
  • MCP 架构设计剖析
  • MCP 运作机制剖析

1、什么是 MCP?

MCP(Model Context Protocol,模型上下文协议)的起源可以追溯到2024年11月25日,Anthropic在其发布的文章《Introducing the Model Context Protocol》中首次提出了这一概念。

MCP 定义了应用程序和 AI 大模型之间交换上下文信息的方式,为开发者提供了一种一致的方法,将各种数据源、工具和功能连接到 AI 大模型。这就好比 USB-C 接口,让不同设备能够通过相同的接口连接,MCP 旨在成为 AI 领域的通用标准,简化和统一 AI 应用程序的开发与集成。

为了更直观地理解 MCP,以下是一些精心制作的 MCP 架构,它们能够帮助我们更好地把握 MCP 的核心概念。

MCP 架构设计深度剖析-AI.x社区

从图中可以看出,MCP 以一种更标准的方式让 LLM(大语言模型)能够使用不同的工具。以下是一个更简单的可视化示例,它将帮助你更好地理解“中间协议层”的概念。

MCP 架构设计深度剖析-AI.x社区

Anthropic 的目标是实现 LLM Tool Call 的标准,而 MCP 正是这一目标的关键组成部分。通过 MCP,开发者可以更高效地构建和部署 AI 应用,同时确保不同工具和模型之间的互操作性。

2、为什么需要 MCP?

我认为 MCP 的出现是 Prompt Engineering(提示词工程)发展的必然产物。随着 AI 大模型技术的不断进步,我们逐渐认识到,为大模型提供更结构化、更具体的上下文信息,能够显著提升模型的性能。在实际应用中,我们希望大模型能够理解真实场景中的问题,这就需要向大模型提供一些特定的信息,比如:本地文件、数据库内容、网络实时信息等。

MCP 架构设计深度剖析-AI.x社区

在 MCP 出现之前,我们通常会手动从数据库中筛选或使用工具检索可能需要的信息,然后手动将这些信息粘贴到 Prompt 提示词中。随着问题的复杂性不断增加,这种手工处理信息并将其引入提示词的方式变得越来越困难。

为了克服手工提示词的局限性,许多 LLM 平台(比如:OpenAI、Google)引入了 Function Calling(函数调用)功能。这一机制允许大模型在需要时调用预定义的函数来获取数据或执行操作,显著提升了自动化水平。然而,Function Calling 也存在一些局限性。我认为,Function Call 的主要问题是平台依赖性强,不同 LLM 平台的 Function Calling API 实现差异较大。比如:OpenAI 的函数调用方式与 Google 的不兼容,开发者在切换大模型时需要重写代码,增加了适配成本。除此之外,还有安全性、交互性等问题。

数据和工具本身是客观存在的,我们希望将数据连接到大模型的环节可以更智能、更统一。Anthropic 基于这样的痛点设计了 MCP,使其成为 AI 大模型的“万能转接头”,让 LLM 能够轻松获取数据或调用工具。MCP 的具体优势如下:

  • 丰富的生态:MCP 提供了许多现成的插件,你的 AI 应用可以直接使用。
  • 高度的统一性:MCP 不限制于特定的 AI 大模型,任何支持 MCP 的大模型都可以灵活切换。
  • 数据安全保障:你的敏感数据可以保留在本地,不必全部上传,因为我们可以自行设计接口,确定传输哪些数据。

通过这些优势,MCP 不仅提升了 AI 应用的开发效率,还增强了数据的安全性和模型的灵活性。

3、用户如何使用 MCP?

对于大多数用户而言,MCP 的具体实现细节并非关注重点,大家更关心的是如何能够更便捷地利用这一特性来提升工作效率和应用体验。

具体的使用方法可以参考官方文档:For Claude Desktop Users。在完成配置后,你可以在 Claude 中进行测试,比如:尝试提问:“Can you write a poem and save it to my desktop?”(你能写一首诗并保存到我的桌面吗?)Claude 会请求你的权限,随后在本地新建一个文件。

此外,官方提供了大量现成的 MCP Servers,用户只需选择希望接入的工具并完成接入即可。以下是一些官方推荐的资源:

1.Awesome MCP Servers

2.MCP Servers Website

3.Official MCP Servers

以官方介绍的 filesystem 工具为例,它允许 Claude 像操作本地文件系统一样读取和写入文件,极大地扩展了 AI 应用的功能和应用场景。

4、MCP 架构设计剖析

第一、MCP 的架构设计如下图所示:

MCP 架构设计深度剖析-AI.x社区

MCP 架构设计由三个核心组件构成:Host、Clien t和 Server。接下来,我们通过一个实际场景来理解这些组件是如何协同工作的。

假设你正在使用 Claude Desktop (Host),并询问:“我桌面上有哪些文档?”

1.MCP Host

  • 角色:Claude Desktop 作为 Host,负责接收你的提问并与 Claude 大模型进行交互。
  • 功能:Host 是用户与 AI 大模型之间的桥梁,它处理用户的输入并调用 AI 大模型进行处理。

2.MCP Client

  • 角色:当 Claude 大模型决定需要访问你的文件系统时,Host 中内置的 MCP Client 会被激活。
  • 功能:MCP Client 负责与适当的 MCP Server 建立连接,将大模型的需求转化为具体的工具调用请求。

3.MCP Server

  • 角色:在这个例子中,文件系统 MCP Server 会被调用。
  • 功能:MCP Serve r负责执行实际的文件扫描操作,访问你的桌面目录,并返回找到的文档列表。

第二、MCP 整个流程如下:

  • 用户提问:你的问题 → Claude Desktop (Host) → Claude 大模型。

模型决策:Claude模型决定需要文件信息。

  • MCP Client 调用:MCP Client 连接到文件系统 MCP Server。
  • MCP Server 执行:文件系统 MCP Server 执行操作,扫描桌面目录。
  • 返回结果:文件系统 MCP Server 返回文档列表。
  • 生成回答:Claude 大模型生成回答。
  • 显示结果:回答显示在 Claude Desktop 上。

第三、MCP 架构设计的优势如下:

MCP 这种架构设计使得 Claude 能够在不同场景下灵活调用各种工具和数据源。开发者只需专注于开发对应的 MCP Server,无需关心 Host 和 Client 的实现细节。这不仅提高了开发效率,还增强了系统的灵活性和可扩展性。

MCP 架构设计深度剖析-AI.x社区

通过 MCP,开发者可以轻松地将各种工具和数据源集成到 AI 应用中,而用户则可以享受到更加智能和便捷的交互体验。

5、MCP 运作机制剖析

要真正理解 MCP,我们需要深入其运作机制,这不仅能揭示 MCP 调用方式与传统 HTTP 调用方式的差异,还能让你明白为何 MCP 能够助力 AI Agent 迈向第二阶段。

以开发一个获取时间的 AI Agent 为例,用户只需提问“现在几点了?”即可。假设我们已有一个处理时间的 MCP Server,其中包含两个 MCP Tool:一个用于获取当前时区,另一个用于获取当前时间。

MCP 架构设计深度剖析-AI.x社区

基于 MCP 的调用过程分为六个核心步骤:

第一、用户提问

  • 用户向 AI Agent 提问“现在几点了?”。此时,AI Agent 作为 MCP Client,将用户问题连同处理时间的 MCP Server 及 MCP Tool 信息一并发送给 LLM。

第二、LLM 推理

  • LLM 接收到信息后,根据用户问题和 MCP Server 信息,筛选出最合适的 MCP Server 和 MCP Tool 来解决问题,并将结果反馈给 AI Agent(MCP Client)。LLM 返回的信息可能是:“使用 time MCP Server 中的 get_current_time MCP Tool,它能解决用户的问题。”

第三、调用 MCP Tool

  • AI Agent(MCP Client)依据 LLM 的建议,调用 time MCP Server 中的 get_current_time MCP Tool,获取当前时间。

第四、返回结果

  • time MCP Server 将当前时间的结果返回给 AI Agent(MCP Client)。

第五、内容规整

  • AI Agent(MCP Client)将用户问题和从 time MCP Server 获取的结果再次提交给 LLM,请求 LLM 结合问题和答案规整内容。

第六、最终反馈

  • LLM 将规整后的内容返回给 AI Agent(MCP Client),AI Agent 再将结果原封不动地返回给用户。

在整个 MCP 调用过程中,MCP Server 及 MCP Tool 的信息至关重要。从第一步和第二步可以看出,这些信息为 LLM 提供了解决问题的关键线索。这些信息本质上就是 MCP 中的 System Prompt,其核心作用是为 LLM 提供清晰的指导,帮助其更好地理解用户需求并选择合适的工具来解决问题。

6、MCP 总结

MCP(Model Context Protocol)的出现标志着 AI 应用与外部工具和数据交互标准的建立。通过本文的探讨,我们可以总结出以下几点关键信息:

第一、MCP 的本质:它是一种统一的协议标准,允许 AI 大模型以一种标准化的方式连接到各种数据源和工具。这就好比 AI 领域的“USB-C”接口,为不同设备之间的连接提供了通用的解决方案。

第二、MCP 的价值:它解决了传统函数调用(Function Calling)所面临的平台依赖性问题,提供了一种更加统一、开放、安全且灵活的工具调用机制。无论是用户还是开发者,都能从这种机制中获益。

第三、使用与开发:对于普通用户而言,MCP 提供了丰富的现成工具,用户无需深入了解任何技术细节即可使用这些工具。而对于开发者来说,MCP 提供了清晰的架构和 SDK,使得工具的开发变得更加简单。

尽管 MCP 目前仍处于发展的初级阶段,但其潜力无疑是巨大的。更重要的是,基于统一标准构建的生态系统将对整个 AI 大模型领域的发展产生积极的推动作用。


本文转载自公众号玄姐聊AGI  作者:玄姐

原文链接:​​https://mp.weixin.qq.com/s/V6nto57O8ZD48ig8pq-iPQ​


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-4-16 10:26:30修改
收藏
回复
举报
回复
相关推荐