前言前一阵,AI领域又出现一件令人兴奋的事件,不是某个新模型的发布,也不是某个应用的创新,而是一个 Anthropic 在2024年11月推出的开放协议——MCP。 这个协议热起来有一段时间了,但是由于个人前期使用不多,一直没有分享,最近学习了下,尝试和大家聊聊。 缘起首先,我们需要了解下,为什么会出现 MCP? 大模型最初的时候,只能进行对话,不管是文本,还是多模态的图片、视频,但是本质都是问答。 这距离我们想要的 AI,差距有点大,最起码,它得可以帮我我们“做”事才行。 后来,有了function call,我们可以通过自行调用外部 API 来实现大模型与外部能力的打通。 当时,大模型和外部能力的关系如下图:  这种情况下,整个大模型生态的复杂度会指数级上升。 并且,实际工作中,我们经常会在大模型中集成了某个外部能力,比如Gitee代码仓库操作,但大模型A中集成的代码在大模型B中往往不能直接使用,这会造成整体工作的大量重复和浪费。 因此,MCP 就诞生了。  介绍MCP 全称 Model Context Protocol,模型上下文协议,旨在通过统一标准约定大模型与外部数据(资源)和外部能力(工具)的通信。 MCP 核心组件如下: Host:宿主程序,即当前使用的大模型的载体应用,比如 Claude Desktop、Cursor、字节Trae等等。 Client:MCP 客户端,即负责与 MCP Server 进行通信的组件,内置在 Host 中,比如 Cursor 就已经内置了,直接录入 MCP Server 后即可实现调用。 Server:MCP 服务器,即实际提供外部数据和外部能力的组件,一般在 Host 外部,可以是本地文件的封装,也可以是远程 REST 接口的封装。
 其它概念: - Resources:各类大模型外部的资源,可以是文本类型(源码、日志等),也可以是二进制类型(PDF、图片等),包括:
- Tools:各类大模型外部的工具,可以是已经存在的接口改造而来,也可以是全新开发,包括:
刚看到的资讯,MCP 最初的响应协议采用的 SSE 方案,前几天升级为 Streamable HTTP,更快,更方便。 应用场景简单列举几个场景,方便大家了解 MCP 的应用。 - 代码开发:将自有组件或者非常用组件的文档集成进来,提供更加准确的AI辅助编码;集成浏览器 MCP,自动获取网页错误日志,加速调试工作。
- 数据分析:直接接入数据库、Excel等数据源,借助大模型能力分析各类指标。
- 企业办公:常用的邮箱、企业微信等应用,借助 MCP,不仅可以一步获取相关数据,还能代替人工进行邮件回复、企业微信消息发送。
总结本次分享主要介绍了 MCP 的理论知识,让大家对其有个直观了解。 |