当前位置: 首页 > news >正文

09.MCP协议介绍

MCP协议

MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大模型与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。

对于 LLM 开发者,MCP 是一个变革性的协议。它消除了为每个数据源或工具进行定制集成的需要,减少了开发时间和维护成本。从本质上来说,MCP是一种技术协议,一种智能体Agent开发过程中共同约定的一种规范。在统一的规范下,协作效率就能大幅提高**,最终*提升智能体Agent的开发效率

1.MCP协议

MCP协议本质就是Function calling技术的更高层封装和实现。传统的Function calling技术要求围绕不同的外部工具API单独创建一个外部函数,类似一把锁单独配一把钥匙,而一个智能体又往往涉及到多个外部工具设计,因此开发工作量很大。

MCP 的灵感部分来源于 USB-C 的类比:如同 USB-C 通过统一接口连接多种设备,MCP 旨在为 AI 应用提供一个“即插即用”的上下文管理框架。

MCP 的核心思想是将模型与外部系统之间的通信抽象为一个客户端-服务器架构,通过标准化的接口(如基于 JSON-RPC 的通信)实现上下文的动态传递和工具的灵活调用。Anthropic 在发布时提供了初步的规范和 SDK(如 Python 和 TypeScript),并开源了多个预构建的 MCP 服务器(如 Google Drive、GitHub 集成),以加速该协议的推广。

2. MCP服务器与客户端

MCP技术体系中对大模型和外部工具的一种划分方式,也就是说在MCP技术体系中,会将外部工具称作服务器,而接入这些外部工具的大模型运行环境称作客户端。

一个客户端可以接入多个不同类型的服务器的,但要求是都要遵循MCP通信协议。MCP服务器的输出内容是一种标准格式的内容,只能被MCP客户端所识别。在客户端和服务器都遵循MCP协议的时候,客户端就能够像Function calling中大模型调用外部工具一样,调用MCP服务器里面的工具。

在MCP技术爆发的这几个月,市面上已经诞生了成百上千的MCP服务器,甚至还出现了大量的MCP服务器集合网站:

  • MCP官方服务器合集:https://github.com/modelcontextprotocol/servers

  • MCP Github热门导航:https://github.com/punkpeye/awesome-mcp-servers

  • MCP导航:https://mcp.so/

  • 百度智能体平台

  • 阿里云百炼平台:

在实际进行智能体开发过程中,我们可以参考这些网站上的MCP工具,并有选择的对其进行调用。

3. MCP与Function calling

通过在 MCP 运行过程中进行数据包捕获与分析可知,MCP 的底层实现机制本质上仍是依托于大模型原生自带的 Function calling 能力,以完成对外部工具的调用操作。只不过,MCP 在此基础上对这一过程进行了更高层次的封装与优化,从而构建起更为完善的交互与功能体系。

MCP 客户端调用服务器工具的流程如下:

  1. 建立连接 :与 MCP 服务器搭建通信链路。
  2. 查询工具 :获取服务器上所有外部工具的数量信息。
  3. 生成列表 :将查询到的外部工具整理成列表,并融入当前对话场景。
  4. 调用工具 :通过 Function calling 技术调用所需的外部工具。

    Function Calling是AI大模型模型调用函数的机制,MCP是一个标准协议,使大模型与API无缝交互,而AI Agent是一个自主运行的智能系统,利用Function Calling和MCP来分析和执行任务,实现特定目标。

4. MCP的技术架构

随着技术迭代加速,MCP 技术在发展进程中实现了重大跨越。如今,它已远非简单的“协议”概念所能涵盖,而是构建起一个完整且自成体系的技术生态。该生态以协议为底层支撑,确保数据传输与交互的规范性和稳定性;开发工具作为重要赋能手段,极大提升了开发效率与创新空间;现成的 MCP 工具则进一步丰富了生态应用场景,降低了技术应用门槛,三者协同共进,彰显出 MCP 技术生态独特的完整性与创新性。

具体介绍如下:

  • MCP 协议 :作为一套抽象的规范集合,涵盖了如大模型与工具的调度规范、服务器与客户端之间的通信规范等内容。遵循这些协议标准的对象,即被认定为 MCP 服务器或客户端。

MCP 协议支持两种主要的通信机制:

  • 本地通信:通过 stdio 传输数据,适用于在同一台机器上运行的客户端和服务器之间的通信。
  • 远程通信:利用 SSE 与 HTTP 结合,实现跨网络的实时数据传输,适用于需要访问远程资源或分布式部署的场景。

  • MCP 开发工具 :提供了多种编程语言版本的 SDK,开发者借助这些 SDK 可高效完成 MCP 服务器和客户端的开发工作,大大缩短开发周期,提升开发效率。

  • MCP 服务器生态 :以开源的 MCP 服务器为核心构建起一个庞大的技术生态,该生态基于 MCP 协议发展而来。智能体开发人员可直接利用生态中开源的 MCP 工具,加速自身项目的开发进程。

百炼平台接入MCP

​ 阿里云百炼平台正式推出了全生命周期的MCP(Model-Connect-Protocol)服务,实现了从资源管理到部署运维的全流程自动化。用户仅需5分钟即可快速创建连接MCP服务的智能体(Agent),将大模型技术转化为生产力工具。首批集成了包括高德地图、无影、Fetch、Notion等50余款阿里巴巴集团及第三方MCP服务,覆盖生活服务、办公协同、内容创作等多个领域。

接入MCP的优势:

  1. 快速开发与部署 :通过MCP服务,用户无需管理资源、开发部署和工程运维等复杂工作,可在短时间内搭建并上线智能体应用。
  2. 丰富的生态系统 :百炼平台整合了200多款业界领先的大模型和阿里云函数计算资源,以及众多MCP服务,提供一站式智能体开发解决方案,满足不同场景的应用需求。
  3. 深度场景化定制 :与市场上通用的Agent应用不同,百炼MCP服务支持深度场景化定制。用户无需编写代码,通过简单的可视化配置即可打造具备自主思考、任务拆解和决策执行等能力的专属智能体。
  4. 持续扩展的应用边界 :随着MCP协议生态的不断扩展,百炼平台将持续引入更多阿里巴巴集团及第三方应用服务,进一步拓宽智能体的应用边界,推动大模型技术在各行业的落地应用。

通过接入MCP服务,阿里云百炼平台为用户提供了高效、便捷的大模型应用开发环境,降低了开发门槛,加速了大模型技术的产业化应用进程。

http://www.dtcms.com/a/572628.html

相关文章:

  • 彻底讲清楚 Kotlin 的 when 表达式
  • 济宁网站建设 果壳科技腾讯云主机
  • 百度收录不到我的网站聊大 网站设计
  • Jackson SerializerModifier 拦截器(高性能)实现时间戳自动添加
  • 虚拟机server2012 安装oracle11g遇到的坑
  • Webpack中各种devtool配置的含义与SourceMap生成逻辑
  • 深入理解 PostgreSQL Tuple 与 Dead Tuple:检测方法与 VACUUM 自动化实践
  • 系统分析师-案例分析-数据库系统数据仓库反规范化技术NoSQL内存数据库
  • 用Python来学微积分32-定积分的可积性条件详解
  • 游戏远程操控性能横评:ToDesk、Parsec、UU远程深度对比
  • 【C/C++刷题集】二叉树算法题(二)
  • Django登录注册完整代码(图片、邮箱验证、加密)
  • 基于Optuna 贝叶斯优化的自动化XGBoost 超参数调优器
  • Qt开发初识
  • ReactNative 快速入门手册
  • 【C++:map和set的使用】C++ map/multimap完全指南:从红黑树原理入门到高频算法实战
  • GPT-OSS大模型Attention架构设计
  • 基于Mask R-CNN和TensorRT的高效草莓实例分割
  • RV1126 NO.38:OPENCV查找图形轮廓重要API讲解
  • 腾讯WAIC发布“1+3+N”AI全景图:混元3D世界模型开源,具身智能平台Tairos亮相
  • 各种开源闭源大模型,包括自己本地部署的一些8b 14b模型,支持函数调用(功能调用)function call吗?
  • Spring Boot 深度剖析:从虚拟线程到声明式 HTTP 客户端,再到云原生最优解
  • 创新的商城网站建设网站页面怎么设计
  • 2016年网站建设总结php网站开发工资多少
  • 线程3.1
  • Kubernetes基础概念和命令
  • 技术干货-MYSQL数据类型详解
  • 备份工具:rsync、Tar、Borg、Veeam 备份与恢复方案
  • 深入 Pinia 工作原理:响应式核心、持久化机制与缓存策略
  • 【前端】动态插入并渲染大量数据的方法-时间分片:使用requestAnimationFrame+DocumentFragment