首页 > 编程笔记 > 通用技能 阅读:4

全方位了解MCP模型上下文协议

在当今人工智能快速发展的时代,新的技术和协议不断涌现,其中模型上下文协议(Model Context Protocol,MCP)作为一项革命性的创新,正在改变大语言模型与外部世界交互的方式。

MCP 是一款由 Anthropic 公司开源的协议,旨在改变大语言模型(Large Language Model,LLM)与外部世界交互的方式。MCP 提供了一种标准化的方法,使 LLM 能够连接各种数据源和工具,从而实现无缝地访问和处理信息。

类比微信小程序来理解MCP

为了更直观地理解 MCP 的价值,我们可以借鉴微信小程序的发展历程作为类比。

1) 标准化前的困境

在小程序开发标准出现前,微信就像一座只有一把钥匙的大门,而这把钥匙只掌握在微信团队手中。如果肯德基想让用户在微信上点餐,必须先敲门请微信团队开门,然后微信的工程师要专门为肯德基设写代码、测试、上线。接着美团想进来,又得重复一遍,再写代码……想象一下,全国有无数家企业,仅仅依靠微信研发团队,可能他们挑灯夜战一整个月,也只能为有限的企业“开门”。

这就像只有一条单行道,所有车都得排队通过,自然就堵车了。同样,在大模型时代,AI 应用开发团队也面临相似的困境。一个开发团队可能花一个月时间,才能在自己的产品中完成查询天气、订餐厅和发送邮件这三个功能,根本无法满足用户对丰富功能的需求。

2) 标准化后的突破

微信定义了小程序开发标准后,就像公布了一本“入门指南”,这本指南告诉所有服务商:“你们按照这本指南做,做好后就能直接放到微信里给用户用,不用再等我们微信团队来帮你做了!”这就像微信团队给了所有服务商分发了“钥匙”,让他们可以自己开门进入微信的世界。

于是,成千上万的开发者同时为微信创建各种服务:从 12306 到高德打车,从大众点评到百度网盘……一夜之间,微信能提供数以万计的服务。

与之类似,有了 MCP 标准后,各种服务提供商可以并行开发符合MCP标准的“服务器”。银行、电商公司、航空公司等都可以自己开发 MCP 服务,让所有支持 MCP 的 AI 助手立即获得这些功能,无需 AI 应用团队一一对接。例如:
开发者不需要为每个 AI 平台单独开发接口,而是只开发一次,所有支持 MCP 的 AI 应用都能使用。

MCP的本质与价值

MCP 可以被形象地比喻为 AI 应用程序的 USB-C 接口。就像 USB-C 为各种设备提供了标准化的连接方式一样,MCP 为 AI 模型提供了一种标准化的方式来连接不同的数据源和工具。这种标准化的连接方式使 LLM 能够更加灵活地与外部世界交互,大大扩展了 LLM 的能力边界。

在我们的日常生活中,USB-C 接口让我们能够轻松地连接各种设备,无需为每种设备准备不同的连接线。同样地,在 AI 的世界里,MCP 让开发者能够轻松地将 LLM 连接到各种资源和工具,无需为每种资源或工具开发定制的接口。这种统一性不仅提高了效率,还促进了创新。

在实际应用中,MCP 让你能够具备以下能力:
这些能力看似简单,却蕴含着巨大的潜力。它们共同构成了一个强大的生态系统,使 LLM 能够真正成为我们工作和生活中的得力助手,而不仅仅是一个封闭的对话系统。

MCP核心特点与优势

MCP 协议的出现为 AI 应用以及 AI 服务供应商带来了前所未有的体验。让我们一起来看看它究竟有哪些特点与优势。

1) 标准化接口

想象一下,如果世界上每个国家和地区都使用不同的电源插座,旅行者需要携带十几种转换器才能确保设备正常工作。在 MCP 出现之前,AI 与外部世界的连接就面临着类似的混乱局面。

MCP 提供了一套标准化的接口,就像全球通用的电源标准,使不同的 LLM 和应用程序可以通过相同的方式访问各种资源和工具。MCP 就像是一种统一的“语言”,大大降低了集成的复杂性。开发者只需专注于构建服务,创造价值,将连接问题交给协议栈。通过这种标准化,MCP 实现了真正的“一次构建,随处运行”理念。

2) 安全性与隐私保护

在数字时代,个人数据、隐私数据的安全一直是数字化产品最重要的特性之一。通过 MCP,敏感数据可以安全地保留在本地或受控环境中,无需暴露给第三方服务。这种设计特别适合那些处理敏感信息的企业和组织,让他们能够在使用 AI 能力时,不必担心数据泄露的风险。

3) 灵活的扩展性

MCP 就像一个模块化的乐高系统,支持多种资源类型和工具,并且可以根据需要进行扩展。这种灵活性使开发者可以创建自定义的 MCP 服务器,以提供特定的功能和访问特定的资源。

无论是连接到企业内部系统,还是集成第三方服务,MCP 都能够轻松应对。这种扩展性不仅满足了当前的需求,还为未来的创新留下了广阔的空间,让 MCP 能够随着技术的发展而不断进化。

4) 开源生态系统

作为开源协议,MCP 意味着透明和可信,以及持续创新。MCP 正在形成一个活跃的开发者社区,开发者们在社区里贡献代码、分享经验、解决问题,共同推动 MCP 的发展。这种开源模式极大地提升了 MCP 生态系统发展的速度,持续为用户提供最佳解决方案。

5) 缩短开发时间

MCP 通过提供标准化的集成模式,显著减少了开发时间,让开发者能够更快地将创意转化为现实。开发者不再需要为每个数据源或工具创建独特的连接,可以利用 MCP 框架建立一致且可重用的集成,大大提高了开发效率。这种效率的提升不仅有利于大型企业,也为小型团队和个人开发者创造了更多机会。

6) 模块化的软件架构

MCP 采用了清晰的架构设计,将数据访问(资源)和计算(工具)明确分离,使得系统更加模块化和易于维护。这种设计理念使得开发者更容易理解和使用 MCP,也提高了系统的可靠性和可扩展性。在复杂的项目中,这种清晰的架构尤为重要,它可以帮助团队更好地协作,减少错误和冲突。

通过这些核心特点和优势,MCP 正在重新定义 AI 与外部世界的交互方式,为开发者和用户创造更多可能性。无论是构建企业级应用还是个人项目,MCP 都能提供强大的支持,让 AI 的力量真正为人所用。

MCP技术架构概览

MCP 采用客户端-服务器架构,这是一种经典而有效的设计模式,也是众多软件系统广泛采用的架构。

在这个架构中,包含以下组件:
1) MCP宿主:宿主应用程序包含 MCP 客户端组件,使用 MCP 连接各种资源的应用程序,例如 AI 助手(如 Claude 桌面应用)、开发环境(如 Cursor、Cline)和专门的 AI 工具。

2) MCP客户端:作为宿主内部的核心组件,MCP 客户端负责与各个服务器建立直接连接,保持 1:1 的连接关系。客户端就像一位勤劳的邮递员,负责初始化连接、发送请求和接收响应,确保信息的顺畅流通。

3) MCP服务器:服务器通过 MCP 框架提供其独特的功能和服务。这些服务器可以访问本地和远程资源,如文件系统、数据库或 Web API。服务器通过标准化的接口暴露资源和工具,就像图书馆提供书籍借阅服务,使 LLM 能够访问和操作这些资源。

MCP 的典型工作流程如下图所示:



MCP 客户端使用返回的信息生成响应,并呈现给用户。

这种架构设计使 LLM 能够安全、高效地访问各种资源和工具,从而提供更加智能和有用的服务。MCP 的架构为 AI 应用创造了一个高效、安全的运行环境。

相关文章