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 客户端调用服务器工具的流程如下:
- 建立连接 :与 MCP 服务器搭建通信链路。
- 查询工具 :获取服务器上所有外部工具的数量信息。
- 生成列表 :将查询到的外部工具整理成列表,并融入当前对话场景。
-
调用工具 :通过 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的优势:
- 快速开发与部署 :通过MCP服务,用户无需管理资源、开发部署和工程运维等复杂工作,可在短时间内搭建并上线智能体应用。
- 丰富的生态系统 :百炼平台整合了200多款业界领先的大模型和阿里云函数计算资源,以及众多MCP服务,提供一站式智能体开发解决方案,满足不同场景的应用需求。
- 深度场景化定制 :与市场上通用的Agent应用不同,百炼MCP服务支持深度场景化定制。用户无需编写代码,通过简单的可视化配置即可打造具备自主思考、任务拆解和决策执行等能力的专属智能体。
- 持续扩展的应用边界 :随着MCP协议生态的不断扩展,百炼平台将持续引入更多阿里巴巴集团及第三方应用服务,进一步拓宽智能体的应用边界,推动大模型技术在各行业的落地应用。
通过接入MCP服务,阿里云百炼平台为用户提供了高效、便捷的大模型应用开发环境,降低了开发门槛,加速了大模型技术的产业化应用进程。
