漫画:什么是MCP协议?

自从2023年3月,OpenAI公司的GPT-4模型诞生以来,市面上的AI大模型如雨后春笋一般涌现出来。

无论是国外ChatGPT、Claude、Gemini,还是国内的DeepSeek、通义千问、文心一言,都是智能水平非常高的AI模型,用户可以向这些AI模型提出五花八门的问题,并且获得高质量的回答。

不过,尽管这些AI模型都很强大,但用户却只能在小小的聊天窗口里和它们进行对话。比如用户让AI写一篇文章,AI写出文章以后,用户需要手工把文章复制粘贴到本地或者自媒体平台,并且手动发布;再比如用户让AI写一段代码,AI生成代码以后,用户需要手工把代码复制粘贴到本地的IDE,并手工调试和执行。

这些AI模型,就好比是一个个聪明的大脑,却不具备能够感知外界的五官,也不具备能够行动的手和脚。

所谓Function Calling,是OpenAI公司于2023年6月推出的一项革命性功能,它允许AI模型在对话过程中识别用户请求中的特定需求,并"调用"预设的外部函数或工具来获取更准确的信息或执行特定任务。简单来说,它让AI从"只能回答问题"进化到"可以实际操作工具"。

如果我们把AI模型比作是人类的大脑,那么计算机当中的数据库、浏览器、应用、服务就像是人类的手、脚、眼睛和耳朵。

大脑想要控制身体各个部位,需要神经系统来传递电信号:

而AI模型想要调用外部的资源和服务,则需要function calling来传递消息:

在2024年流行的各种智能体(Agent),就是基于Funcation calling技术实现的。

在过去,function calling并没有统一的规范,同一个Agent往往需要访问数据库、网络、文件、应用等等不同的资源,不同开发者所开发的function call彼此又并不兼容,这使得Agent开发的成本非常高。

如何避免这种低效的重复发明轮子的现象呢?在2024年末,AI模型Claude所属的研发公司Anthropic提出了一项开源协议,名为MCP协议(Model Context Protocol)

这项协议通过客户端-服务器架构与JSON-RPC 2.0等标准通信协议,实现了大型语言模型与外部数据源、工具的无缝集成。

在人与人之间,存在着很多的交流合作。假如每个人都使用不同的语言来讲话,张三说英语,李四说德语,王五说法语,赵六说日语......那大家就没法正常沟通合作了。

但是,如果我们让张三、李四、王五、赵六统一用汉语讲话,大家就可以高效地交流想法,团结一致办大事。

在计算机网络的世界中同样如此。假如每一个程序都采用不同的通信格式,彼此之间互不兼容,那么程序之间协作的效率就会非常低。

但如果程序之间的通信拥有统一的格式和规范,就可以实现高效通信,从而大大节省了开发成本。

目前在计算机领域有很多成熟的协议,包括HTTP协议、FTP协议、TCP/IP协议等等,这些协议都在各自的领域发挥着作用。

MCP Client:用户或AI模型的请求发起方,负责格式化任务指令(比如自然语言命令)并发送给MCP Server。

MCP Server:协议的中枢,负责路由请求、管理上下文、调用工具,并返回执行结果。

其中MCP Client通常并不是独立运行的,而是嵌入在AI模型相关的工具当中,比如Claude桌面应用、IDE等等。内嵌MCP Client的应用被称为MCP Host

MCP Client、MCP Server、MCP Host、AI模型与外部资源,这几大角色之间的协作关系如下图所示:

许多人把自己开发的MCP Server上传到了包括Github在内的技术社区,大家可以从下面这个地址里找到许多好用的MCP Server:

github.com/modelcontex...

相关推荐
无心水42 分钟前
【OpenClaw:实战部署】5、全平台部署OpenClaw(Win/Mac/Linux/云服务器)——10分钟跑通第一个本地AI智能体
java·人工智能·ai·智能体·ai智能体·ai架构·openclaw
AdMergeX1 小时前
行业热点资讯 | 网信办公布数据出境安全管理政策法规问答;搜狗输入法正式宣布全面AI化;百度文心助手入局春节AI战;
人工智能·安全·百度
夜影风1 小时前
WhisperLiveKit 深度解析:企业级实时语音转文本终极方案
人工智能·语音识别
70asunflower1 小时前
CUDA编程指南基础知识点总结(5)
c++·人工智能·cuda
有个人神神叨叨2 小时前
AI Coding 时代的企业级应用架构
人工智能·架构
星爷AG I4 小时前
14-2 个体、任务与环境(AGI基础理论)
人工智能·agi
飞Link4 小时前
深度解析 LSTM 神经网络架构与实战指南
人工智能·深度学习·神经网络·lstm
前端不太难4 小时前
AI 时代,鸿蒙 App 还需要传统导航结构吗?
人工智能·状态模式·harmonyos
格林威4 小时前
工业相机图像高速存储(C#版):内存映射文件方法,附Basler相机C#实战代码!
开发语言·人工智能·数码相机·c#·机器视觉·工业相机·堡盟相机