一文读懂MCP:助力大模型接入合规“四肢”

前言

前一阵,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、图片等),包括:
    • 文件内容
    • 数据库记录
    • API 响应
    • 实时系统数据
    • 截图/图片
    • 日志文件
  • Tools :各类大模型外部的工具,可以是已经存在的接口改造而来,也可以是全新开发,包括:
    • 文件系统接口
    • 数据库访问(SQL)
    • API接口
    • 各类应用(企业微信) 等。

刚看到的资讯,MCP 最初的响应协议采用的 SSE 方案,前几天升级为 Streamable HTTP,更快,更方便。

应用场景

简单列举几个场景,方便大家了解 MCP 的应用。

  1. 代码开发:将自有组件或者非常用组件的文档集成进来,提供更加准确的AI辅助编码;集成浏览器 MCP,自动获取网页错误日志,加速调试工作。
  2. 数据分析:直接接入数据库、Excel等数据源,借助大模型能力分析各类指标。
  3. 企业办公:常用的邮箱、企业微信等应用,借助 MCP,不仅可以一步获取相关数据,还能代替人工进行邮件回复、企业微信消息发送。

总结

本次分享主要介绍了 MCP 的理论知识,让大家对其有个直观了解。

下次分享,会基于真实应用场景为大家呈现如何使用 MCP,敬请期待~

相关推荐
奔驰的小野码3 分钟前
SpringAI实现AI应用-自定义顾问(Advisor)
java·人工智能·spring boot·spring
奔驰的小野码7 分钟前
SpringAI实现AI应用-使用redis持久化聊天记忆
java·数据库·人工智能·redis·spring
2401_8729309611 分钟前
催缴机器人如何实现停车费追缴“零遗漏”?
人工智能·汽车·智慧城市
zskj_zhyl19 分钟前
数字康养新范式:七彩喜平台重构智慧养老生态的深度实践
大数据·人工智能·物联网
白码低代码26 分钟前
橡胶制品行业质检管理的痛点 质检LIMS如何重构橡胶制品质检价值链
大数据·人工智能·重构·lims·实验室管理系统
tmiger40 分钟前
图像匹配导航定位技术 第 10 章
人工智能·算法·计算机视觉
小彭律师44 分钟前
电动汽车充电设施可调能力聚合评估与预测
人工智能·深度学习·机器学习
_waylau1 小时前
【HarmonyOS NEXT+AI】问答05:ArkTS和仓颉编程语言怎么选?
人工智能·华为·harmonyos·arkts·鸿蒙·仓颉
老实人y1 小时前
TIME - MoE 模型代码 3.2——Time-MoE-main/time_moe/datasets/time_moe_dataset.py
人工智能·python·机器学习·icl·icp
极客智谷1 小时前
Spring AI 系列——使用大模型对文本内容分类归纳并标签化输出
人工智能·spring·分类