MCP 初探

大家好,我是徐徐。今天我们来学习学习 MCP,先简单探索一下。

前言

MCP 其实也出来一段时间了,但是感觉火爆起来是在三月份的时候,最近老听到周围的人提到这个东西,所以我也去研究了一下,这个协议给我的感觉就是从此 AI 无边界。你可以利用这种协议在 AI Agent 上做任何你想做的事情,不局限于文字,文本,语音,图像,软件,硬件,只要你用的 MCP Server 、Tool、Client 足够强,几乎可以做到你想到的事情,下面我们就来了解了解 MCP。

诞生

2024 年 11 月 25 日 Claude 官方宣布了 MCP 开源。但是看 SDK 的发布是在 2024 年 12 月 21 日。具体见下图。

诞生的时候大概的意思就是大模型受到数据隔离的限制,无法解决信息孤岛的问题,为此开源了一个标准的协议,让 AI Agent 和 数据源进行连接,打破信息孤岛。说白了就是,AI Agent 可以和任何数据源连接了,协议我提供了,只要你按照我的方式来,你就可以和大模型结合,做一些你想到的东西,不管是处理文字,图片,视频,常规数据,软件,硬件等等。

这一协议的出现可以让 AI Agent 的应用场景更为广泛,不单单是在浏览器上处理一些文字数据类工作,甚至可以做到操控软件,操控操纵系统,而且都是语义化的操控。也就是说,"嘿,Siri,帮我在美团上点一个外卖。" 这种场景即将实现。

核心概念

MCP 的核心是 模型上下文,即 LLM 在运行过程中所需的所有外部信息和工具。MCP 通过定义标准化的接口和协议,使 LLM 能够动态访问和集成以下内容:

  • 外部数据源:如数据库、API、文档库等,为 LLM 提供实时或历史数据。
  • 工具和服务:如计算工具、搜索引擎、第三方服务等,扩展 LLM 的功能。
  • 上下文管理:动态维护 LLM 的对话上下文,确保连贯性和一致性。

核心架构

MCP 遵循客户端-服务器架构,其中:

  • 主机(Host):主机是期望从服务器获取数据的人工智能应用,例如一个集成开发环境(IDE)、聊天机器人等。主机负责初始化和管理客户端、处理用户授权、管理上下文聚合等。
  • 客户端(Client):客户端是主机与服务器之间的桥梁。它与服务器保持一对一的连接,负责消息路由、能力管理、协议协商和订阅管理等。客户端确保主机和服务器之间的通信清晰、安全且高效。
  • 服务器(Server):服务器是提供外部数据和工具的组件。它通过工具、资源和提示模板为大型语言模型提供额外的上下文和功能。例如,一个服务器可以提供与Gmail、Slack等外部服务的API调用。
  • 基础协议(Base Protocol):基础协议定义了主机、客户端和服务器之间如何通信。它包括消息格式、生命周期管理和传输机制等。

MCP 就像 USB-C 一样,可以让不同设备能够通过相同的接口连接在一起,可以理解为通用协议层,你要接入我的主机,你就按我的协议来就可以了。

生态环境

这么火的协议,其生态也不差,现在有非常多的 MCP Server 、Tool、Client ,具体可以看看这两个网站

非常有意思的是这些服务和工具基本都是用 Typescript / Javascript 或者 Python 开发的,MCP 的 SDK 其实还有Java、Kotlin、C# 版本的,但是绝大部分都是 Typescript / Javascript,对前端开发者非常友好,另外就是 Typescript / Javascript 有天然的优势,简单容易上手,跨端运行,环境适配丰富,App、 桌面端、 服务端、网页、 插件等等。但是从另外一个角度看,前端为啥都跑去做 AI 了呢,值得思考,或许前端的需求量真的在减少了,前端工程师们都在做逐步的转型(胡乱猜测)。

结语

MCP 的出现可以说重新塑造了 AI 代理生态系统,之前出的火爆的 Manus 其实也有 MCP 的身影,当然之前也有 OpenAI 的 Function Calling,但是我感觉跟 MCP 相比还是差一点,Function Calling 特性是小而美,MCP 更加全面和全能,能提供更多的解决方案,按照现在这个速度发展下去,后面可能就会出现各种 MCP 的服务供大家在线使用,使用一些比较硬核的功能和服务只需要一键添加,犹如安装 APP 一样简单。

相关推荐
dy171723 分钟前
element-plus表格默认展开有子的数据
前端·javascript·vue.js
2501_915918414 小时前
Web 前端可视化开发工具对比 低代码平台、可视化搭建工具、前端可视化编辑器与在线可视化开发环境的实战分析
前端·低代码·ios·小程序·uni-app·编辑器·iphone
程序员的世界你不懂5 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
索迪迈科技5 小时前
网络请求库——Axios库深度解析
前端·网络·vue.js·北京百思可瑞教育·百思可瑞教育
gnip5 小时前
JavaScript二叉树相关概念
前端
attitude.x6 小时前
PyTorch 动态图的灵活性与实用技巧
前端·人工智能·深度学习
β添砖java6 小时前
CSS3核心技术
前端·css·css3
空山新雨(大队长)6 小时前
HTML第八课:HTML4和HTML5的区别
前端·html·html5
猫头虎-前端技术6 小时前
浏览器兼容性问题全解:CSS 前缀、Grid/Flex 布局兼容方案与跨浏览器调试技巧
前端·css·node.js·bootstrap·ecmascript·css3·媒体