漫画:什么是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...

相关推荐
martinzh22 分钟前
自一致性提示技术:让AI像老师一样反复确认
人工智能
CareyWYR24 分钟前
每周AI论文速递(250825-250829)
人工智能
智算菩萨29 分钟前
【机器学习基础】机器学习中的容量、欠拟合与过拟合:理论基础与实践指南
人工智能·机器学习
nju_spy37 分钟前
机器学习 - Kaggle项目实践(6)Dogs vs. Cats Redux: Kernels Edition 猫狗二分类
人工智能·算法·机器学习·计算机视觉·分类·南京大学·残差神经网络
大千AI助手38 分钟前
生成对抗网络(GAN):深度学习领域的革命性突破
人工智能·深度学习·生成对抗网络·gan·生成模型·ian goodfellow·对抗训练
技术与健康2 小时前
【系列08】端侧AI:构建与部署高效的本地化AI模型 第7章:架构设计与高效算子
人工智能·神经网络·cnn
QianCenRealSim2 小时前
“矿山”自动驾驶“路网”编辑功能实现
人工智能·自动驾驶·opendrive·矿山自动驾驶·矿山路网编辑·openscenario
SHIPKING3932 小时前
【机器学习&深度学习】Embedding 与 RAG:让 AI 更“聪明”的秘密
人工智能·深度学习·机器学习
IT_陈寒3 小时前
SpringBoot性能翻倍秘籍:从自动配置到JVM调优的7个实战技巧
前端·人工智能·后端
EEPI3 小时前
自动驾驶感知范式迁移:从BEV/向量化到高斯建模
人工智能·机器学习·自动驾驶